On Monday Steve Jobs and a host of Apple executives delivered the highly anticipated keynote address to the 2011 Apple Worldwide Developer Conference. There are plenty of recaps of the announcements available and I have no interest in running though the bullet points here. If, by some miracle you’re unaware of what was announced, this slide show from Macworld should fill you in.
What I want to comment on specifically is the iCloud announcement. I believe that, despite the stupid name, iCloud will prove to be as groundbreaking as anything else announced at the Keynote. I also suspect that iCloud will ultimately be one of the most important announcements that Apple has ever made.
The Pre-History of Connected Devices
Long long ago I purchased my first hand-held computing device, a Palm III, billed by Palm as the Palm III Connected Organizer. Sadly, the promise of being “connected” fell far short of the delivery. In reality, “connected” simply meant that the device would “sync” (if you were lucky) Contacts, Calendar, and To-Do items with a lackluster suite of desktop applications via a convoluted and buggy conduit system. Over the years, as newer Palm devices were released, the desktop software improved (at least on the Mac). In addition the conduit system improved and was opened to third-party applications. Overall though the experience never stopped sucking and, as a result, most people who I knew using Palm PDA’s tended to treat them as standalone devices.
Near the height of Palm’s dominance of the PDA market and coinciding with the rise of BlueTooth enabled proto-smartphones such as the Sony Ericsson T610 Apple released a clever bit of software named iSync. At the pinnacle of iSync’s functionality it consolidated the synchronization of Apple’s Address Book and iCal applications with various BlueTooth enabled mobile phones, provided non-media data transfers to Apple iPods, enabled data synchronization between computers and provided a platform for third-parties such as Palm to provide synchronization for their devices.
Over the years much of iSync’s functionality was subsumed into the Mac OS or iTunes, or made superfluous by the waning of BlueTooth as a prefered method of synchronization, or made pointless by the effective death of Palm in the PDA market. Today iSync remains as a part of Mac OS X Snow Leopard as a vestigial shell that is used almost exclusively as a means to reset the Sync Services database, itself an almost unused component of the system. Nonetheless the concept of iSync (and of its successor Sync Services) remains brilliant. Provide a single interface (and in Sync Services a single data store) that provides synchronization to all of a users connected devices.
The Phone That Changed The Game
The day that Apple introduced the iPhone was the day that iSync (and its Sync Services successor) were effectively killed. People like myself, who saw the iPhone as an important step on the road to the holy grail of ubiquitous computing looked at the device and asked, “why the fuck doesn’t this thing work with iSync?” One common theory was that all iPhone synchronization had been moved into iTunes because iTunes provided a ready-made platform on Windows. While I have no doubts that might have been a factor in the decision, I suspect that it wasn’t the whole story.
My suspicion is that, early in the development of the iPhone, Apple recognized that mobile access to data was the next big thing in personal computing. Realizing this, I think that Apple looked at Sync Services / iSync and realized that its architecture was hopelessly rooted in the concept of the Mac as the central hub connecting mobile devices. It was time for something different.
A Brief Digression On Ubiquitous Computing
I’ve used the phrase “ubiquitous computing” a few times in previous sections, so it’s probably a good idea to explain what I mean there. What I’m referring to is the idea that, at any given time, a user will not only have access to a computing device but that device will have access to the entirety of that user’s data. There are many differing ways to implement such a system. In the version that I refer to as the “holy grail of ubiquitous computing” that access happens with minimal user interaction, is done seamlessly and preferably happens via OS supplied APIs.
A Botched First Step
During the 2008 Worldwide Developer Conference Apple announced MobileMe, a revamp and rebranding of their existing .Mac offering. MobileMe’s launch was possibly one of the most embarrassing that Apple ever experienced. Between server melt-downs, billing issues and just plain shittiness MobileMe remained the butt of jokes for the entirety of its existence. Putting aside MobileMe’s launch issues though, I think that it’s obvious that it was a tentative first step towards Apple’s vision of ubiquitous computing.
One of the core features of MobileMe, going all the way back to its original incarnation as iTools was IMAP email. IMAP is the prototypical “data in the cloud” service. Email lives on the server and clients access that data remotely. With MobileMe Apple upped the ante by including support for so-called “push email” where the messages are pushed to the client rather than the user needing to initiate a download. Beginning with MobileMe Apple extended the “push” metaphor to its calendar and contact list offerings as well. For MobileMe subscribers, calendar entries entered in iCal and contacts entered in Address Book are automatically uploaded to the MobileMe servers and then pushed to other registered clients. This happens automagically in the background — when it works.
NOTE: While the bulk of the preceding was based on historical fact, at this point I will begin to indulge in pure speculation. I’m basing all of this on what was publicly announced during the keynote.
There is an amusing story about the MobileMe launch that I will paraphrase here. After MobileMe’s horrific launch Steve Jobs called the team together and asked a simple question, “What is this thing supposed to do?” After a few attempts one person in the room managed to crap out an answer that Steve found acceptable, to which he responded, “Then why the fuck doesn’t it do that?”
None of the versions of that story that I’ve heard have specified exactly what the answer was to Steve’s question, but I think that It’s obvious that it was something pretty similar to what Apple announced on Monday. To quote from the description on Apple’s website:
iCloud is so much more than a hard drive in the sky. Its the effortless way to access just about everything on all your devices. iCloud stores your content so its always accessible from your iPad, iPhone, iPod touch, Mac, or PC. It gives you instant access to your music, apps, latest photos, and more. And it keeps your email, contacts, and calendars up to date across all your devices. No syncing required. No management required. In fact, no anything required. iCloud does it all for you.
Perhaps it’s just my wishful thinking, but that sounds a whole lot like the description of ubiquitous computing that I gave before. It sure as he’ll sounds like more than the silly music locker service that the press seems fascinated with. Much remains to be seen, and the Devil is always in the details, but the New APIs available to apps with iCloud finally offer the hope of a system integrated over—-the—-air sync solution.
During the run-up to the WWDC Keynote one of the items leaked was iCloud’s icon (see the iCloud product page linked above). Some people jokingly commented that it looks just like the iSync icon, but with the “sync” graphic replaced with a “cloud.” I have a suspicion that there is nothing coincidental about that. When I look at what we currently know about iCloud I don’t see a mere replacement for MobileMe. I see a fulfillment of the promise that was made with iSync. A simple service to consolidate the data on all of our (Apple branded of course) devices. I also suspect that it was no accident that all the marketing material, and even the structure of the Keynote itself put iCloud as a peer of MacOS and iOS. I think that iCloud represents a huge component of Apple’s strategy for not just mobile computing, but consumer computing in general.
I still think the name is stupid though.