Upload Components
   HOME

TheInfoList



OR:

Upload components are software products that are designed to be embedded into a web site to add upload functionality to it. Upload components are designed to replace the standard
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
4 upload mechanism. Compared with HTML4, Upload Components have a more user-friendly interface and support a wider range of features.


HTML file uploads

The HTML4 standard supports requesting data to be requested from a client computer and uploaded to a server. The standard mechanism for this type of data transmission is HTML forms. With HTML forms a user's files can be uploaded by employing tag with different attributes. This method allows web site developers to implement basic upload functionality. However, it has the following disadvantages: *Multiple files upload is not available – a user can upload only 1 file a time. *Limited upload size - it is usually impossible to send files up to dozens of megabytes (MB) via HTTP. *No optimization before uploading files is available. *Poor visualization – a user cannot see any information about the upload progress and estimated upload time. *Preview of selected files is not supported. *Awkward look and feel – the way a user selects files for upload is inconvenient.


HTML upload alternatives

Upload components allow for bypassing the HTML upload restrictions and disadvantages noted previously. An upload component is a
plug-in Plug-in, plug in or plugin may refer to: * Plug-in (computing) is a software component that adds a specific feature to an existing computer program. ** Audio plug-in, adds audio signal processing features ** Photoshop plugin, a piece of softwar ...
which allows
upload Uploading refers to ''transmitting'' data from one computer system to another through means of a network. Common methods of uploading include: uploading via web browsers, FTP clients], and computer terminal, terminals (SCP/ SFTP). Uploadi ...
ing files from a client to a web server, server. Usually upload components are developed by third party companies and can be integrated with any website on any
platform Platform may refer to: Technology * Computing platform, a framework on which applications may be run * Platform game, a genre of video games * Car platform, a set of components shared by several vehicle models * Weapons platform, a system ...
. The user's
Web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
will display the embedded upload component as a part of the web page. Upload components can be built with various technologies:
Flash Flash, flashes, or FLASH may refer to: Arts, entertainment, and media Fictional aliases * Flash (DC Comics character), several DC Comics superheroes with super speed: ** Flash (Barry Allen) ** Flash (Jay Garrick) ** Wally West, the first Kid F ...
,
Silverlight Microsoft Silverlight is a discontinued application framework designed for writing and running rich web applications, similar to Adobe's runtime, Adobe Flash. A plugin for Silverlight is still available for a very small number of browsers. Wh ...
,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
,
ActiveX ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide Web. ...
, and
HTML5 HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HT ...
. The
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working t ...
community is in the process of developing a HTML5 standard, the full specification of which is expected by 2014. HTML5 is supposed to support multimedia content without any plug-ins or components. For upload functionality, new HTML5
APIs Apis or APIS may refer to: * Apis (deity), an ancient Egyptian god * Apis (Greek mythology), several different figures in Greek mythology * Apis (city), an ancient seaport town on the northern coast of Africa **Kom el-Hisn, a different Egyptian ci ...
offer a wide variety of new features, including access to the client's file system and dynamic request-generating and processing of images. The new HTML5 features could be a good basis for implementing upload components with a sophisticated user interface and the ability to upload any amount of data. Unfortunately, at the moment browsers support those features partially and differently, which is a serious obstacle. The situation becomes worse if we remember that large numbers of users still use
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was release to manufacturing, released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Wind ...
(28%) and obsolete
Internet Explorer Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated IE or MSIE) is a series of graphical user interface, graphical web browsers developed by Microsoft which was used in the Microsoft Wind ...
versions (11%).


Technologies for creating upload components

Upload components can be developed on the basis of various technologies aimed at extending browser functionality. Depending on the technology and its features, upload components can support more or less functionality, be more or less configurable, and be easier to use.


Java

Java Applets Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from ...
are components running in a
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
. They are developed in the form of
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
byte code. The applets are supported by most modern
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s and browsers. Java applets have
high performance High may refer to: Science and technology * Height * High (atmospheric), a high-pressure area * High (computability), a quality of a Turing degree, in computability theory * High (tectonics), in geology an area where relative tectonic uplift t ...
similar to native installed software. Java applets are signed with security certificates to become trusted software, which allows automatic redistribution from a web site and installation on client computers.


Flash

Upload components can be implemented as
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Fla ...
controls. Flash is a framework for running rich-media applications on the Internet. 24% of all web sites use Flash components, and the Flash player is installed on 99% of Internet-enabled PC's. Flash is a cross-platform and a cross-browser technology that allows Flash upload components to work in various browsers, with the exception of mobile platforms.


Silverlight

Another type of upload components is
Silverlight Microsoft Silverlight is a discontinued application framework designed for writing and running rich web applications, similar to Adobe's runtime, Adobe Flash. A plugin for Silverlight is still available for a very small number of browsers. Wh ...
which is a Microsoft technology requiring a browser plug-in to be installed. In features it is very similar to Adobe Flash and it is supported by most modern browsers and operating systems. There are versions of Silverlight for
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
and
Mac Mac or MAC most commonly refers to: * Mac (computer), a family of personal computers made by Apple Inc. * Mackintosh, a raincoat made of rubberized cloth * A variant of the word macaroni, mostly used in the name of the dish mac and cheese * Mac, ...
OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
, and there is also a version for
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
called
Moonlight Moonlight consists of mostly sunlight (with little earthlight) reflected from the parts of the Moon's surface where the Sun's light strikes. Illumination The intensity of moonlight varies greatly depending on the lunar phase, but even the ...
. Silverlight is one of the basic technologies used for
Windows Phone Windows Phone (WP) is a discontinued family of mobile operating systems developed by Microsoft for smartphones as the replacement successor to Windows Mobile and Zune. Windows Phone featured a new user interface derived from the Metro design lan ...
applications development.


HTML5

HTML5 is a new HTML standard developed to add multimedia support to HTML. It is supported on Windows, Mac OS X, Linux,
iOS iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
, Android, and Windows Phone. Since the format is still under development and some of the features employed for uploading files are still not part of the standard, HTML5 upload components are not common at the moment. Their support is restricted to a subset of browsers.


Desktop browsers HTML5 support

HTML5 support has been steadily improving. The best coverage of HTML5 features is provided by the latest version of
Chrome Chrome may refer to: Materials * Chrome plating, a process of surfacing with chromium * Chrome alum, a chemical used in mordanting and photographic film Computing * Google Chrome, a web browser developed by Google ** ChromeOS, a Google Chrome- ...
,
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and ...
,
Safari A safari (; ) is an overland journey to observe wild animals, especially in eastern or southern Africa. The so-called "Big Five" game animals of Africa – lion, leopard, rhinoceros, elephant, and Cape buffalo – particularly form an importa ...
and
Opera Opera is a form of theatre in which music is a fundamental component and dramatic roles are taken by singers. Such a "work" (the literal translation of the Italian word "opera") is typically a collaboration between a composer and a libre ...
. Internet Explorer provides the least support.
Internet Explorer 10 Internet Explorer 10 (IE10) is the tenth, and by now, discontinued, version of the Internet Explorer web browser and the successor to Internet Explorer 9, released by Microsoft on September 4, 2012, shortly after the completion of Windows Serv ...
has less support than versions of other browsers; however the coverage will be twice as good as
Internet Explorer 9 Internet Explorer 9 or IE9 (officially Windows Internet Explorer 9) is a web browser for Windows. It was released by Microsoft on March 14, 2011, as the ninth version of Internet Explorer and the successor to Internet Explorer 8, and can replace p ...
.


Mobile platforms HTML5 support

iOS 5 iOS 5 is the fifth major release of the iOS mobile operating system developed by Apple Inc., being the successor to iOS 4. It was announced at the company's Worldwide Developers Conference on June 6, 2011, and was released on October 12, 20 ...
has a sufficiently high level of HTML5 support; however, its level of support remains lower than for desktop browsers. Windows Phone 7.5 "Mango" has slight support for HTML5, which makes it comparable to desktop Internet Explorer 9's lack of support for the standard. The latest
Android 5.0 Android Lollipop ( codenamed Android L during development) is the fifth major version of the Android mobile operating system developed by Google and the 12th version of Android, spanning versions between 5.0 and 5.1.1. Unveiled on June 25, 2014 ...
supports many more HTML5 features than Windows Phone, but less than iOS. Mobile browsers’ HTML5 support remains a work in progress.


Features which are not possible with standard HTML4 upload

Upload components bring additional features and a user experience that cannot be provided by pure HTML4. ;Progress bar :
Progress bar ...
s are used to inform users about upload progress details. Upload components support progress bars displaying such parameters as file names, file sizes, upload speed, etc. ;Multiple files and folder upload :Some websites require support for uploading multiple files at once. This feature is extremely important for upload components on
social networks A social network is a social structure made up of a set of social actors (such as individuals or organizations), sets of dyadic ties, and other social interactions between actors. The social network perspective provides a set of methods for ...
, photo galleries,
file sharing File sharing is the practice of distributing or providing access to digital media, such as computer programs, multimedia (audio, images and video), documents or electronic books. Common methods of storage, transmission and dispersion include r ...
, etc. The standard HTML4 approach is cumbersome. Upload components support multiple file uploads in a more flexible fashion, for example by allowing a simpler selection of files to be uploaded simultaneously from several folders. ;Huge files upload :Uploading a huge amount of data is always a problem, as the request size can be too large for the upload process to successfully complete, possibly because of slow or unstable Internet connections. On the server side there can be restrictions applied to the maximum size of HTTP requests. Upload components have to find a balance between the client’s needs on one hand and server and channel resources and restrictions on the other. In the case of delivering huge files to server components a so-called "chunk upload" divides a file into several parts (chunks) before the upload process starts. Each chunk is sent in response to a single request; after all chunks arrive at a server the original file is reassembled. ;Fail-safe upload :During an upload process some unexpected problems or malfunctions can occur, leading to upload failure and file corruption. To address these problems upload components have fail-safe mechanisms sporting features such as automatic resumption of the upload process, sending files individually in a single package, and chunk uploads. ;Sending additional data along with files :Sometimes it is useful to send additional data along with a file, such as informational descriptions or
Exif Exchangeable image file format (officially Exif, according to JEIDA/JEITA/CIPA specifications) is a standard that specifies formats for images, sound, and ancillary tags used by digital cameras (including smartphones), scanners and other syste ...
/ IPTC fields, or
Hash sum A hash function is any function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called ''hash values'', ''hash codes'', ''digests'', or simply ''hashes''. The values are usually ...
s to identify whether a file was corrupted or damaged during the upload process. ;Concurrent upload :Upload components can have a concurrent upload feature – sending upload packages in multiple
threads Thread may refer to: Objects * Thread (yarn), a kind of thin yarn used for sewing ** Thread (unit of measurement), a cotton yarn measure * Screw thread, a helical ridge on a cylindrical fastener Arts and entertainment * ''Thread'' (film), 2016 ...
. In some cases the upload process benefits by increasing overall upload speed, decreasing upload time, and using computer resources in a more effective way. ;Instant upload :This approach allows the upload of files to start right after they are added to an upload queue. ;Upload to cloud storage :Upload components can upload files to
cloud storage Cloud storage is a model of computer data storage in which the digital data is stored in logical pools, said to be on "the cloud". The physical storage spans multiple servers (sometimes in multiple locations), and the physical environment is ty ...
. ;Drag-n-Drop : Drag-n-Drop is a form of user-program
graphical interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
interaction which involves selecting one object and dragging it onto another object. Drag-n-Drop is widespread as it helps to increase program
usability Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a sof ...
. ;Customizable Appearance :Upload components support customizing the components' appearance to fit into a web site design through such configurations as font styles, sizes, colors, or view modes among others. ;Localization :Once an upload component enters the international market, it needs support translating the interface's text labels and messages to other languages. Usually upload components have configurable support for the most widely used languages. The user interface can also be multilingual. For some languages such as
Hebrew Hebrew (; ; ) is a Northwest Semitic language of the Afroasiatic language family. Historically, it is one of the spoken languages of the Israelites and their longest-surviving descendants, the Jews and Samaritans. It was largely preserved ...
the localization process contains not only translation, but switching to right-to-left look and feel. ;Client-side files validations :To save server-side resources upload components can apply client-side validation to files selected for upload in several groups: file types (which can be selectively defined or barred by the developer), file size (which can be set to minimum/maximum allowed sizes), and image size (which can have minimum/maximum sizes configured among other parameters).


Image upload

Upload components are used for uploading images, so there are components that have additional features for image pre-upload processing. ;Resize :Photos taken with modern digital cameras are
high resolution Image resolution is the detail an image holds. The term applies to digital images, film images, and other types of images. "Higher resolution" means more image detail. Image resolution can be measured in various ways. Resolution quantifies how cl ...
, but most websites need the images resized to conserve bandwidth. Upload components allow images to be automatically resized and uploaded, with or without the original file, or a thumbnail copy for use as an avatar, etc. ;Rotate :Image
rotation Rotation, or spin, is the circular movement of an object around a '' central axis''. A two-dimensional rotating object has only one possible central axis and can rotate in either a clockwise or counterclockwise direction. A three-dimensional ...
is a very important feature for websites giving users basic image editing abilities. Images are either automatically rotated (based on Exif data) or the user is allowed to manually rotate the image. ;Crop :
Crop A crop is a plant that can be grown and harvested extensively for profit or subsistence. When the plants of the same kind are cultivated at one place on a large scale, it is called a crop. Most crops are cultivated in agriculture or hydropo ...
allows users to select an image portion that should be stored somewhere or printed. Crop involves removing the image’s outer parts in order to highlight some object on an image or change the aspect ratio. ;Watermarks :A
watermark A watermark is an identifying image or pattern in paper that appears as various shades of lightness/darkness when viewed by transmitted light (or when viewed by reflected light, atop a dark background), caused by thickness or density variations ...
is a text message, or image put over an original image, and is used to protect intellectual property or specify important information, such as date when the image was taken, text comments, or copyright. Upload components can include a feature to add watermarks to all uploaded images. ;Exif/IPTC metadata :Images can contain metadata in various formats, e.g. Exif or IPTC. :Exif fields include information from the device that captured the image file: camera parameters, date and place where an image was taken, exposure, lens parameters, GPS data, and others. :IPTC fields contain more specific data relating to authorship of an image. It is extremely important for upload components to preserve original image metadata in the upload process. ;Quality Meter :Quality meter is a visual indicator showing image quality ( dpi, width, height) and it helps a user to decide whether an image is good enough to use. An example of quality meter usage can be a photo printing web site with a built-in upload component that notifies users if an image resolution is not right for it to be printed in a selected format.


References

{{Reflist, 30em Distributed data storage HTML