This is a personal tumbleblog, intended for random musings and snippets. I have a somewhat more structured travel and photo blog at disoriented.net, and a neglected vanity site at raingod.com.

Posts Tagged: cloud computing

Text

Now that more and more of our lives involve being connected to the Internet, one of the perpetual questions for anyone who travels is “How do I get online?” If you’re not too far from home (culturally as well as geographically speaking) you may drag a laptop or a netbook or an iPad with you. If you’re further afield and traveling light, you may not.

Which means that you may be forced to fall back on someone else’s computer: a PC in an office that you’re visiting, or someone’s home PC, or a cybercafe. Cybercafes are close to ubiquitous (unless you’re really off the grid). But there’s a problem: on someone else’s machine, you probably don’t have access to all ‘your stuff’, by which I mean not just documents - all your documents - but also an environment that works the way that you want it to. (There’s a second problem too: cybercafes, particularly in Asia, are like giant Petri dishes for malware).

So things like CloudUSB get my attention: a free package that puts all your files and tools on an encrypted USB stick, sync’d with your desktop via the indispensable Dropbox.

The catch is that you have to reboot the computer. While this is desirable (no nasty keyloggers can steal your passwords, unless they’re in the keyboard firmware), it’s also impossible in many cybercafes. If their billing system is a guy at the front desk with a notebook and a clock, you can probably reboot all you like. In more and more places, however, they have a sophisticated system to track how many seconds you spend online. The chances are that it’s all wired into the OS (Windows, inevitably) somehow, and so for obvious reasons everything is configured to prevent you trying to boot, let alone boot off a different device.

A few years back, there was a fad for ‘thin clients’, apparently started by people who were nostalgic for the days of mainframes and VT100 terminals. They wanted to throw away all the gains of the PC revolution and reduce the desktop machine to a not-quite-dumb machine slaved to some Central Computer. Enthusiasm for the idea was notable by its absence, and the ‘thin client’ died the death.

But the idea isn’t wholly wrong, and it’s not wholly dead. Probably what killed the thin client was that its proponents seemed to want to push processing power to the center of the network, which is a bad idea for all the reasons that we discovered when mainframes ruled the world. But one basic insight holds up: a computing system is not monolithic. It’s separable. A personal computer gives us processing power (CPU, memory), and interface (screen, keyboard), plus a place to put the stuff that matters to us - the programs we use, the environment we have set up, and all our files. For most of us, all these things are concentrated in one device: our personal (emphasis on that word ‘personal’) computer. If we want to access ‘our stuff’, we have to drag it around on a laptop: part of the point of a laptop is to guarantee us the rest of the package (processing, interface) wherever we are, but really it’s about having access to ‘our stuff’.

Systems like CloudUSB recognize the separability of ‘stuff’ from processing power. Environment-on-a-stick systems give you the environment and data that matter to you, and the ‘personal’ computer gets depersonalized to the point where it’s just a dumb workhorse, providing computing power but not acting as a repository for your digital life any more.

This is a little different from pure cloud computing. Google Docs theoretically works on a similar principle: your stuff is ‘out there’ in the cloud and the ubiquitous PC (and the ubiquitous web browser) is just a portal. That’s fine and dandy right up until the point when the network goes away. Then your documents might as well be on Mars. Sure, we’re moving towards a point where Google Docs works offline … but now your ‘stuff’ is trapped on a single machine again (unless you want to mess around with thumb drives and trying to remember exactly which version was changed when).

Here’s my vision of the future. It’s a marriage between CloudUSB, and Google Docs, and, God help us, the ‘thin client’. It consists of three parts. The bottom layer is the no-longer-personal personal computer. It’s an anonymous, utilitarian box providing raw CPU power, working memory, input and output. It might be in a desktop form factor, or a laptop … or a ‘pad’ device or a smartphone. It can be in your home, or your office, or your briefcase, or your pocket … or in someone else’s office or a cybercafe.

Then you have the cloud. The cloud is your guarantee of data ubiquity. It’s used for long-term storage of the stuff that matters to you. Everything you do ultimately gets pushed to the cloud.

But between these two lies another device. It’s a storage device, like a thumb drive, but it contains more than just documents. Like a CloudUSB stick, it contains a whole environment, set up the way you like it. It contains as many of your documents as you need. When you want to do some work, you find one of those computing boxes, and slot it in. The changes that you make get pushed to the cloud - when the cloud is available. If there’s no connection, they just get saved to the device until next time. The process is seamless and transparent: it’s not the user’s job to worry about where the latest version of their documents is located.

Why have a physical device at all? Because it decouples you from the network. Putting your whole environment in the cloud is a bad idea for two reasons. The first is that when the network goes away (or you go away from the network), you’re screwed. While people like to talk as if ubiquitous networking was already a reality, there will be places where the signal doesn’t reach or where access is subject to obscene tariffs. The second is that having your environment in the cloud limits you to a cloud environment, which is going to be a cut-down, compromised version of an ideal desktop environment. It’s limited by what you can push over the network, and it’s limited by available frameworks. Currently, that means HTML and the web browser, with all the UX horrors that implies. HTML5 promises to make web apps more powerful and attractive, but it’s still going to be a long time before they can fully measure up to the level of ease of use we’ve grown accustomed to in desktop OS’s and apps. Serious, in-your-pocket storage lets you enjoy a modern environment, configured the way you want it, with the programs you want, wherever you are, even when there’s no network.

Nevertheless, this device - this super thumb drive - will be a commodity. If you lose it, it’s a nuisance, but no more. You just go out and get another one. Then you restore the contents from the cloud, drop it in your pocket, and hit the road again. Your loss is limited to whatever you’d changed since the last time you had network access.

Ideally, there should also be a healthy dose of device agnosticism built in. If you think of it as being like a bootable hard drive (which is basically what it is), that’s already device-agnostic in the sense that it doesn’t matter whether you use it to boot a laptop or a desktop. But what if it could work with smartphones too? I may not want to take my laptop on vacation, but my smartphone could still give me a basic interface to the stuff that matters to me.

To make this work, the device needs to be not only replaceable, but portable. Ridiculously portable. No one really wants to carry an external hard drive everywhere they go, but what if it was the size of a credit card? A microSD card (including all the packaging that surrounds the minuscule memory chip inside) is about 15mm x 10mm. I have an 8GB one in my (dumb) phone. A credit card is about 85mm x 50mm. So we could probably put at least 25 microSD cards - 200-400GB of storage - in a something the size of a credit card just using today’s technology. That’s a good start, although the price will need to come down and performance will need to improve.

We’re close enough to see this version of the future - the cloud is taking off, and SSDs are getting bigger and cheaper every day - but it’s not here yet. I do think it’ll come, though.

Text

One of the things that used to drive me crazy about working on Windows boxes was that there were so many different ways to do the same operation. In most applications, copy and paste was done with control keys: Ctrl-C, Ctrl-V. But the indispensable putty followed the X-Windows model: left-click copies, right-click pastes. The equally useful Trillian used a hybrid; left-click copies, Ctrl-V pastes. And I never did quite figure out how to copy and paste in DOS boxes, but I think it involved the entrails of a chicken and a signed authorization from the Pope.

Any time you find yourself doing the same basic operation four different ways, something’s broken.

Which brings me to the iPod/iPhone.

I finally cracked and bought myself an iPod Touch, as a replacement for the elderly Palm Zire 71 that I’ve been carrying everywhere for the last six years. The Zire, incidentally, still works fine, but for a variety of reasons I felt it was time to move on. I’m now in what you might call the ‘honeymoon period’ with the Touch, if by ‘honeymoon period’ you mean the span of weeks in which you discover that your new bride is an incredibly flexible contortionist who has read every page of The Perfumed Garden, but also smokes foul-smelling cigars in bed and wakes up at four every morning to sing baritone arias from German operas at the top of her voice. In short, there’s good news and bad.

One of the glorious things about the Palm was the ease of syncing the device with your desktop. You sat it on its cradle, you pushed the button, it ground away rather slowly, and you were done. There were quirks but, by and large, Palm really delivered on the promise of no-brainer bidirectional syncing.

The iPod is a different story. To coin a phrase, “how may I sync thee, let me count the ways”.

Generally, syncing data from Apple’s built-in applications - Address Book, Calendar etc - is simple. You hook up the iPod, and iTunes syncs things for you. It’s when we move on to third-party apps that the insanity kicks in.

Two apps that I added to my iPod immediately were SplashID and SplashMoney. I’ve used them so long on the Palm that there was no question that I’d buy the iPhone versions when I made the switch. They both sync wirelessly with the desktop: you start the desktop app, then open the corresponding app on the iPhone and press the sync icon. Pretty straightforward.

I also knew that I wanted OmniFocus on my iPod. I’ve been using it on the desktop for a while, so the idea of seamlessly syncing to-do lists to a portable device was very appealing. OmniFocus actually offers a bunch of ways to sync. You can do it in the cloud, through MobileMe or WebDAV or you can do it over wi-fi in the same way as the Splash apps: the desktop app runs as a server, and the iPhone app connects to it.

I’m an outline junkie, so I had to have an outliner. Until Omni Group deliversĀ OmniOutliner for the iPhone, the best game in town looks to be CarbonFin. The way you sync with the CarbonFin iPhone app is as follows: you sign up for their Outliner Online website, which lets you upload outlines from your desktop in OPML format. When you hit the sync button on the mobile device, it pulls your outlines down from the web. A bit clunky, but it works.

A few weeks back Hog Bay Software were giving away copies of WriteRoom for free, so naturally I grabbed a copy. Like CarbonFin, WriteRoom offers a website-based syncing method, with the interesting quirk that you actually use your Google username and password to log in. It also offers syncing over a local wi-fi network. In this case the iPhone app acts as a server, and you use Safari on the desktop to connect to it. My first thought when I realized this was “Awesome, my mobile device is running a web server.” My second was “Wait, what the fuck?”

GoodReader uses a similar mobile-device-as-server model. It also offers direct web download. And it supports USB-based sync, using a separate desktop application that you have to download from a partner site. Most of these methods are more or less straightforward, but each one is presented and documented in its own way.

Finally, there’s Kindle for iPhone, which uses something called WhisperSync, Amazon’s proprietary name for what appears to be another web-based syncing model. Amazon figures you don’t need to know the details and they’re right, but it’s a little unnerving because you don’t know exactly what it’s doing and when. Is this book on my device, or is in the cloud? Amazon thinks you shouldn’t need to know or care, which is fine if you live in a world of permanent ubiquitous connectivity, but may prove problematic in real life.

So, half a dozen apps, a dozen ways of doing things. And here’s the real kicker: remember that one-touch sync that Palm had? You can forget about that. To sync my new iPod, I need to start iTunes and SplashID and SplashMoney and OmniFocus on the desktop, fool around on a couple of websites, and then run all the corresponding iPod apps, one after the other. As the man said, this ain’t rock’n’roll, this is genocide.

In an ideal world, there would beĀ one method by which all apps (including third-party apps) could sync their data over USB, one method by which all apps could sync data over wi-fi, and one method by which all apps could sync data through the cloud (Apple would want to make this MobileMe, I would want it to be possible to use a private WebDAV server instead). Instead of having to manage each app individually, there would be a single uniform interface where the user could kick off a synchronization. But in bizarro iPod world, everyone is free - or obliged - to invent their own way of doing things. The result is anarchy.

My feeling is that Apple dropped the ball on this one. I haven’t read the developer documentation, but the sheer number of different approaches taken by the third-party developers argues that they never offered the necessary underpinnings that would allow uniform solutions. For a company that has long prided itself on promoting ease of use by design, that’s a pretty grievous failure.

Suddenly, the Windows copy-and-paste clusterfuck seems modest by comparison.