Be Your Own Cloud

I wrote, a while ago, about how unhappy an experience it is to have to sync data between computers. I haven't changed that view much in the intervening period.

What has turned my head are the new Core i7 iMacs. Man, they're so nice, so fast and, comparatively speaking, really quite cheap. I can't pretend that I don't want one.

I've always liked desktop computers. The most power and the biggest screens for the least money seems like a no-brainer proposition to me. The only thing is that mobility issue. I just end up wanting to have it all with me, all the time.

I sincerely hope that the future is a place where I can have it all. I suspect that this future is not close, but neither is it terribly far away. My relationship with my laptop is changing fast, and the reason for that is the iPhone.

The question of "what do I do with my laptop?" is not as interesting as the intersection of "what is my work?" and "where do I do my work?".

Well, I have two jobs. I'm a teacher and a software developer. Sometimes, I travel.

The things I need from a computer to teach at school are extremely minimal:

  • A browser
  • A text editor
  • Access to some PDF files

I have a 'presentation' laptop I use at school, with a configuration similar to the one the kids have in front of them. I don't use my MacBook Pro in the actual act of teaching a lesson, but I do use it for web access and email during the school day.

Software development happens, for the most part, in my home office. It's pretty rare that I get serious work done in any other room in the house. It's also fairly rare that I get much work done outside the house. I'm not a big coffee shop worker.

When I travel, I find that the MacBook Pro gets dismantled from the home office, carted to the hotel and set up as a 'remote base' in the hotel. Once I'm actually in the flow at the conference, I'm almost totally living off the iPhone. Unless I'm actually giving a presentation from the laptop, it's rare that I'll take the MacBook Pro out of the hotel room.

All that said, the key thing is that I never want to have to say "oh, I can't do that thing here - it'll have to wait until I get home". I think there are three technologies whose time is almost nigh, that might start to make this really interesting.

The first technology is screen sharing. It's been built into Finder since Leopard and improved upon in Snow Leopard. If you have Apple Remote Desktop, as I do, there are some very low-bandwidth modes that you can put the remote connection into, in order to increase the performance.

What if you could have a fast desktop machine at home and get a good, solid Remote Desktop session to it from anywhere? That day isn't here yet, but it's not a million years away either.

The second technology is Mobile Me's worldwide bonjour DNS service, generally known as Back To My Mac. This is a vastly under-appreciated technology, but it essentially lets you have a permanent DNS name for your machines that may even be behind a suitable NAT gateway, such as a Time Capsule. Anywhere I go in the world, I can resolve machinename.fraserspeirs.members.mac.com to the current IP address of the machine, even if the gateway was given a new IP address lease by the ISP.

I know there remain many issues with Back To My Mac under several network architectures, but the principle of the thing is there, if not actually the practice yet.

Finally a technology, new in Snow Leopard, called sleep proxies. Sleep proxies are a technique for another network device to 'stand in' for a sleeping Mac that provides a network service. Say, for example, you share your iTunes library over the network but the iMac goes to sleep. The bonjour broadcast of those serivces is migrated to another device on the network - most often an Apple wireless device like a Time Capsule - and the iMac remains asleep. When the service is resolved by another machine, the sleep proxy wakes the actual server which resumes its serving duties.

One of the big issues with running an always-accessible home machine was the energy cost of running it 24x7. With sleep proxies, you no longer have to. It's a very smart technology. You can read more about it in Apple's support article HT3774.

I'm pretty sure the day in which all this dances together well enough to make it dependable is a bit further off. Regardless, I'm looking forward to a day in which the capabilities of smartphones grow upwards and the network accessibility of home desktop hardware grows downwards to such an extent that they meet somewhere in the middle. Laptops are horribly expensive and horribly compromised just to reach that goal of "everything with you, all the time".

You say it'll never happen. I'm almost inclined to agree, but part of what makes us geeks is relentless optimism about technology. I'm optimistic. I'm not wholly buying into the current Cloud Craze, but what if you could be your own cloud?