Why can't Johnny download?

Most people, to this day, prefer to convey files using email attachments rather than URLs. Over the years I've tried, and mostly failed, to explain why and how to use the URL-oriented approach. Programmers do this naturally, because programmers know the difference between transmission of data by value and transmission of data by reference. But almost nobody else does.

I've long understood that part of the problem was that most people didn't have easy access to web storage, and weren't in a position to upload a file whose URL could then be transmitted as a convenient proxy for the file itself. But that's changing. Lately I'm seeing lots of people who can upload to web storage, using various methods that are easy for them to understand and apply. What's still not easy for most people to understand and apply, though, is the method of using an URL to accomplish file transfer.

Here's a typical scenario. In order to transmit a 50-megabyte image, audio, or video file, I upload it to the web and send somebody the URL -- e.g., http://myserver.com/50Meg.tiff. In the recipient's mail client, that URL will probably be rendered as clickable, but that's only appropriate for loading the referenced resource into a browser. It's not very useful for downloading the URL.

Why not? The method for downloading an URL is just not well understood by most people. Email clients provide context for understanding how to extract an attachment, but they provide none for understanding how to download an URL.

So, I've created a contextualizer, or helper, in the form of a little single-page application. Let's say I want to transmit, to you, the 50-megabyte video file dabble.flv, which exists on the web at http://jonudell.net/udell/screenroom/dabble.flv. I combine the URL of the helper with the URL of the target file to create a context for downloading it. Try it and see what you think.

(The helper can also be used standalone -- that is, not combined with a target URL. In that case, the person being helped would have to paste in the URL.)

I hope that, next time I'm trying to transmit a big file by reference, or trying to enable someone else to do so, this will help break down the conceptual and procedural barriers that tend to get in the way. Please let me know if it works for you in those situations, and more importantly, if it doesn't work, why not. Likewise, please let me know if there's a version of this idea that's already successful in common use. Seems like such a thing should exist, but lots of simple things that should exist don't.

Former URL: http://weblog.infoworld.com/udell/2006/11/20.html#a1565