Be Your Own Cloud
Monday, November 30, 2009 at 10:24PM 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?


Reader Comments (7)
the "worldwide bonjour DNS service" isn't all that special - It is just a dynamic DNS service. Quite a few other companies offer this for free. I've been using dynamic DNS services from dyndns.com (arguably the most well known dynamic DNS provider) to achieve the exact same thing for years. If you enable "Remote Management" in system preferences you can couple dynamic DNS with a VNC client and you get the exact same function as back to my mac with three key differences.
1: dyndns is a free service, and whats more works even if you don't have a static external IP - most modern routers even have dynamic DNS support built in, useful if you are on a dynamic IP. Of course my Airport Extreme happens to be pretty much the only router in the world that doesn't do this, but thats another rant! Even the crappy feature crippled router provided by my ISP has this functionality. But I guess Apple rather you pay for mobileme....
2: No mobileme subscription to pay
3: VNC client software is generally free, although this setup would work perfectly with Remote Desktop too.
Furthermore I can even remotely access/control my computer from my iPhone easily with this setup, although over 3G coupled with a low res display this isn't exactly enjoyable!
I was a .Mac subscriber years ago, but nowadays its functionality can more often than not be done better and easily with free or very cheaply available alternatives. I find a combo of dynamic DNS/google Apps with custom domain/drop box/foxmarks gives me pretty much everything:
Push email/calandar/contacts - gmail now supports Microsoft Exchange activesync so can push all of these to my computers and iPhone for free. Whats more for $10 a year I get this with my own domain name, and pretty much unlimited email space.
Dynamic DNS- gives me all the advantages of back to my mac, for free, and with easy access from any device/OS.
file syncing: I find drop box better than the iDisk, but I only use the free 2GB account. To get the 20GB offered by Apple this would of course require additional expense.
Foxmarks: Does bookmark syncing for free, supports safari, firefox and internet explorer.
I may have missed something, but if I wasn't using my own domain name the above costs £0.00 per year, and I don't have to remember to renew any subscriptions etc. I don't think the services Apple offer are good enough for £59 per year, unless for a very novice computer user - I can't imagine my mother using dynamic DNS.
I agree on the wake on wifi point - this new snow leopard feature is really clever.
I think there are two things missing with the DynDNS solution: bonjour discovery and NAT traversal. Feel free to correct me on either, as it's been a long time since I last used DynDNS.
With Back to my Mac, my remote machines are bonjour-accessible from anywhere. That means they appear in the Finder sidebar and you can screen-share them with one click. NIce, but not exactly essential.
If I have two machines at home behind a NAT, can DynDNS get to both machines?
Dude, it's called Opera Unite.
You can't quite get the one click sidebar integration with DynDNS, and looking further into this I would assume Back to my Mac use's the Airport Extreme's NAT-PMP or uPnP on non Apple routers to automatically open an appropriate network port. With DynDNS you have to forward the necessary ports beforehand, however this is a relatively trivial one time only step and very easy to do with the Airport Utility.
With DynDNS one can remote access as many computers behind a NAT as you wish, however you would need to use a separate port per machine - this appears to be what back to my Mac is doing, but doing it on your behalf via NAT-PMP. On my home network I have two machines set up behind a NAT, and can access them as follows:
For example www.mysampledyndns.org:5000 would be PC A, www.mysampledyndns.org:5001 would be PC B etc.
While it may be a "relatively trivial" step to turn on port forwarding if you know what you're doing, the number of people who do is a pretty small fraction of the overall user pool. Even I have to look up the proper ports whenever I have to tweak the system or set up a new router, and I've got 25 years' experience.
That said, even when it's set up and working, dyndns is simply not as convenient, even for an expert user. I still keep my dyndns account to access my machine via VNC from non-OS X systems, but for day-to-day use BTMM is simply smoother, simpler, and easier, in a lot of little ways that add up to a significant win. Except for the speed, BTTM is just as seamless as working with the same machines on my local network. No need to specify ports, IP addresses, or anything else.
The other limitation with using Remote Desktop, VNC or whatever to remotely log in to your home workstation is that your spouse, kids, housemates may well be using the machine at the same time, and as I understand it will get kicked out when you log in? Mac OS X doesn't support multiple users active with the GUI shell simultaneously?
@Travis - which is precisely why I said " I don't think the services Apple offer are good enough for £59 per year, unless for a very novice computer user - I can't imagine my mother using dynamic DNS."
If you have the necessary know how Dynamic DNS is a one time only setup. With my computers in my Mac OS X's saved servers list I never need to enter IP addresses, port numbers or anything else.
@James - It still works fine, however your spouse/kids may get a little upset at having to fight for control of the cursor with you!