An Upload Manager for the User-Writable Web

14 September, 2005

Uploading a bunch of photos to my Flickr account as well a live performance art recording to MFDZ in the last couple of days, I began to get frustrated with how the file upload process as a whole works on the web.

There's basically no support for uploading at all in any browser I've ever seen. While your file's heading over to the site's server, the browser just waits to hear back. Often times, even though the browser's given you no feedback to this effect, closing the window will disrupt the file transfer, preventing the file from actually uploading.

Sites that take user uploads all the time have had to build nasty hacks around this problem: reminders not to close the window, tiny little windows that open up and hide in the background, crazy ad hoc progress bars with a million page refreshes, whole helper applications that have to run on the desktop, etc. While some sites, Flickr comes strongly to mind, have managed to minimize the pain, the process never seems natural, like you're forcing the browser to do something it doesn't want to.

Contrast this with what happens when you download a file from the web. The browser does all the work for you. A nice little window pops up with a progress bar and a record of your previous downloads. This Download Manager makes it convenient to find files on your local drive once you've downloaded them or to kill any uploads while they're still in progress.

As the web becomes ever more 'two-way writeable', as we start to spend more of our time online uploading our own creations rather than just passviely consuming those of other people, we're going to start to need Upload Managers. I'm sure there's all kinds of technical details I don't understand what it would actually take to implement something like this, but I've got some suggestions for what I'd like it to do from a user's point of view. I even dummied up a little visualization:

Here's the way I picture this working:

  1. Fill out an upload form (like Flickr's Upload Manager) and click the "Send" button.
  2. Your browser's "Upload" window pops up with a progress bar for your new item (like the bottom entry in my mockup). Simultaneously, the browser loads a return page on the site that sent you.
  3. While the upload is in progress, you can use the Upload window to keep track of its progress or to cancel it. You can also keep browsing around the web as normal without having to keep a particular window open.
  4. When the upload finishes, the browser sends an alert just like on the completion of a download (Safari, in OS X, hops up and down in the dock). Also, the progress bar disappears and the Upload window display links both to the original file on your drive (the folded paper icon) and to the appropriate url on the destination site (that would have to be supplied by the site to which you were uploading). This history would stick around until you manually cleared it, giving you easy access to all your most recent uploads around the web.

It seems like once this process became widely adopted, sites might want to be able to trigger JavaScript on the completion of a download or be able to access the Upload manager for other reasons (or bookmarklets might want to use that event for something so cool that it would be hard to think of now). It could be a platform for all the new types of user interactions we're going to need for this new kind of user-writable web.

Technorati Tags: , , , ,