My Cloud

February 9, 2008 at 2:24 pm (digitalLife)

I don’t want to worry much about my digital stuff. One of the reasons it’s all digital in the first place is for ease-of-use. Unfortunately, if I wasn’t making sure those files would be safe in case of disaster, theft, or just an accident, I would end up regretting it. On top of that, I can’t access the stuff I need sometimes, even within my own home on the several different computers. Mind you, I’m a software engineer – I can set-up network shares like I have been doing for years, but I’m tired of all that. This is especially true when I’m dealing with my Windows and Linux machines (and probably a Mac too soon).

What I want is a permanent home in the cloud, and I want to hook into that cloud with about one click. I want that cloud to be highly available (that’s IT jargon for “always there, no matter what”), but I don’t really want to pay anything (after-all, I do already have a bunch of machines laying around that cost money). I want every file to have at least two copies and for those copies to reside in more than one location. I want access to all my files everywhere, from every machine. I don’t want to have to even think of “backing stuff up” – that should be done for me.

I think the solution here hinges on a few different things:

  1. The cloud is all of your filesystem space wherever you have it.
  2. Thin client software that hooks into the native filesystem of the machine being used and runs a control in a “task tray” or maybe a widget. Possibly utilizing something similar to libfuse in order to make remote files look local. The control would probably end-up with a few different features, but most important would be conflict notification and resolution.
  3. Automatic version control using something like mercurial (I would have said subversion, but my requirements are for a distributed model as opposed to centralized) that constantly sends your updates to the cloud (even at the frequency of auto-save in certain cases, but usually just at save time).
  4. A peer-to-peer buddy system for your back-ups. In other words, if you allocate that extra hard drive space to the cloud, you will get that much space out on the cloud (somebody else’s space) to back-up your files. I’m not sure the donated space would be able to actually be one-to-one because the files would have to be replicated to more than one buddy for reliability reasons, so maybe you would get half or one-third the space that you donate. If need be, you could hook into a paid service (either for the P2P-style sharing or for traditional centralized file sharing).
  5. Specialized “syncing” for services such as flickr, gDocs, youtube, facebook, etc. Some easy, possibly filesystem-based way, to indicate which of my things I want to “publish” to various services. I wonder if dataportability has anything to offer here?

That fourth point there needs some work. There are serious reliability issues and the efficiency of P2P isn’t all that wonderful when you are talking about files that are only in a few places. The fifth point is also icing on the cake, so I could live without it for now.

I guess the question is, can libfuse(?) + mercurial + xmpp + some python rig something like this up? By the way open source is awesome.

Does anybody know of some apps out there that already do this? I did try out that PowerFolders app, but it was a bit clunky and I could never get it working, although it had several of the right ideas. When is google or amazon going to come out with this app for me? With how large and important my digital stuff has become (especially family photos and videos), I think this is worth around $10/a month to me (err… maybe less).

By the way, somebody is domain squatting on mycloud.com right now, and I’m sure writing this blog post will make the domain even more expensive, but oh well!

Post a Comment