The World Wide Web Consortium has published a draft of an interface that browsers can use to manipulate files better,
one of a series of steps aimed at gradually improving the sophistication and polish of Web site interfaces.
The draft File API (application programming interface) defines a number of ways that browsers and Web sites can handle
files better. One big part of it: being able to select multiple files for upload, such as on photo-sharing sites or
Web-based e-mail, a task that often relies on Adobe Systems' Flash
But there are other aspects, too. For example, the Files interface governs the use of "blobs," or packages of raw binary
data such as video files
. Google has touted blobs for its Gears browser plug-in as a way to divide large videos into small
chunks so that uploads can be more easily resumed if a network problem interrupts the process.
Another benefit: files are handled asynchronously, which means the browser won't freeze up while a file is being uploaded
or otherwise handled, and the browser reports progress on file transfers.
The technology is one example of work to transform the Web into a better foundation for interactive applications, a move
that usurps some power from computer operating systems such as Windows and that's embodied most boldly in Google's Chrome
Here's one example of use of the Files interface provided by Mike Smith, who works for the W3C on matters relating to
HTML--Hypertext Markup Language, the language used to describe Web pages:
A user uses a Web-based application for reading and sending e-mail. She wants to attach multiple files to particular
messages. The Web application provides an user interface that allows her to select multiple files to attach at the same
time. After she selects the files, they are uploaded to the Web application asynchronously, allowing the user to perform
other actions while they are uploading (for example, finishing the rest of the message she was composing before you added
the file attachments). As the attachments are uploaded, the Web applications shows progress bars to indicate how much of
the contents of the files have uploaded thus far.
The interface can work in conjunction with various standards including the drag-and-drop support in the HTML 5 now under
development and the Web Workers technology that lets browsers better perform multiple operations simultaneously.
The interface also can help Web applications process the contents of files. For example, Smith describes a lyrics
A user has on her local file system a playlist file from her favorite desktop music player
. The playlist contains a
list of song titles and information, and she wants to be able to easily fetch the lyrics for particular songs without
needing to manually search for the lyrics on the Web. So a site can provide a Web-based application that allows her to
upload her playlist. The Web application then parses the file and then presents a user interface to her, show in the
contents of the file as a hyperlinked, sortable list. She can then retrieve the lyrics for any given song just by clicking
on a particular song title.
Arun Ranganathan, Mozilla's standards evangelist and chairman of the WebGL working group, wrote the specification, according
to Chris Blizzard, Mozilla's director of developer relations.
Standards for the Web are advancing rapidly with W3C representatives including Microsoft working in conjunction with a
parallel effort, WHATWG. New standards require actual implementation in browsers before they are accepted as finished,
a fact that can lead to some chaos but that helps ensure the new ideas are tested in the real world.
Firefox 3.6, in beta testing now, will support most of the Files API, according to Blizzard.