Boris Mann

Open Source. Community. Decentralized Web. Building dev tools at Fission. Cooks & eats.


Side loading, pre-fetching, and cloud storage

I recently wrote about Dropbox vs. Jungle Disk. I'm a happy user of both. In the last little while, people have also talked about Microsoft's LiveMesh, plus ZumoDrive.

Reactions to LiveMesh have been mixed - it's clear they're still working on the service, and it's not as smooth as some of the others.

ZumoDrive is very very very close to DropBox ... except it does some interesting things with not actually having to have all your files on disk. This is pretty amazing, since it delivers on the promise of an expandable, infinite drive. Ewan at Mobile Industry Review thinks that ZumoDrive "is going to change EVERYTHING" -- I disagree only in that I don't think a clear winner can be identified at this point: each separate startup brings new features and new business model tweaks to the table. The comments on Ewan's post are great: lots of people thinking that cloud storage / storing stuff in the cloud is complete bollocks, and say so loudly, or that it's been done for years. I single out Ewan's post because he's thinking about the mobile angle on things. Already we require our desktop apps to have a web component, or to be able to sync with our mobile devices. We should demand the same from our storage.

What I'm more interested in is the concept of sideloading and pre-fetching as they relate to these continued innovations in cloud storage. Keep in mind that I'm going to take the liberty to come up with my own definitions, so let's start with those.

Sideloading: data is transferred from one Internet location directly to another Internet-hosted storage space rather than having to be downloaded to the user's / requester's desktop and then re-uploaded to some other storage space.

When you put it like that, moving bits onto your desktop just so that you can move them back up to the Internet is clearly a collosal waste. First, you are using constrained bandwidth. The bandwidth from one server to another is going to be much higher and more reliable than down whatever access pipe you have to your computer. Second, you are using double the bandwidth. Download it, then upload it.

Much like I can use PayPal or other forms of payment to make purchases that go direct from my bank account to another's, I should be able to make digital content requests that go directly into "my" cloud storage. Who will be the first to implement this on a broad scale? I've already seen Wesabe do something a bit like this with their Firefox plugin and bank statement downloads.

By the way, I came upon this use case because I use Valve's Steam and Direct2Drive game purchase / downloading servicse. I semi-regularly do 6GB downloads, use them to install, and then have to backup the "originals", which I usually archive on Jungle Disk. What a pain! Steam does this a bit better, because a download is an install, rather than the Direct2Drive 2 step process of downloading the installer, then installing. But, Steam still has the "backup game files" option -- you want to uninstall (perhaps to put on another machine), but you don't want to have to pay the "download penalty" of fetching all 6GB of files from the source server again.

I'll continue to use the Steam example to illustrate my next concept, pre-fetching.

Pre-fetching: like TiVo, using a client / service to trickle downloads in the background of digital content that you are likely to be interested in. You can then immediately use / activate / purchase digital content without having to wait for a download.

XBox 360 already does this, to a degree. You can choose to have all new content downloaded to your console automatically. This isn't yet done on a widespread scale on PCs, and could be applied to many forms of content. There used to be plugins and services that did this for webpages, back in the days of dial up. It doesn't make sense for content that is considered so small, but 6GB games or perhaps raw video footage are examples of the type of content where without a pre-fetch step, you could be waiting days to actually interact with content locally.

If anyone has examples of services that implement some of these concepts, I'd be interested in hearing about them.

Regardless, I'm looking forward to further innovation in these areas. I've joked about prefetching being applied to physical products: send me books and clothes on a pre-determined budget on a regular basis, much as I order my groceries today ($20 fresh produce boxes).