If you needed further proof Apple is a hardware company first and a software company second, look no further than its Internet-based syncing platform, iCloud.
Several articles have emerged from sites like the Verge and Ars Technica, which focus on developers’ plights in implementing iCloud and Core Data Syncing into their apps. Says Bare Bones Software’s Rich Siegel in an interview with Ars:
In concept, the service is pretty simple. A central iCloud server holds the truth: the canonical version of the user’s data for an app. As the user manipulates an app’s data, iCloud tracks and reconciles the changes into the central truth and makes sure that all copies of the data, on each computer, are brought up to date,” Siegel told Ars. “In order for this to work, though, a lot has to happen behind the scenes. What we casually refer to as iCloud is many parts, each with a role to play.
Perhaps we “casually refer” to the service as simply “iCloud” because even Apple claims on its website iCloud is “the easiest way to manage your content. Because now you don’t have to.” However, from an end-user perspective, it’s not about not having to manage my content – it’s about not being able to manage it.
Many of the articles being written about iCloud’s problems approach the subject from the perspective of the developer. It’s not surprising, seeing as how the developer is the one who’ll have to implement iCloud in the first place and doing so has its advantages.
Elements developer Justin Williams says:
As much as I like Dropbox both personally and for Elements, I want to support iCloud because it’s one less barrier to entry for customers who don’t have or don’t want a Dropbox account just to sync files.
That’s what we’re told as customers, right? All of our pictures, documents, music, books, podcasts, and browser tabs will be available everywhere because, as Apple again states on its website, “iCloud is seamlessly integrated into your apps, so you can access your content on all your devices. And stay up to date everywhere you go.”
That may be the case for most Apple apps. In my usage, I’ve run into very few problems with Apple’s own apps syncing data over iCloud. iBooks has never lost a bookmark or highlight, and Photo Stream does a stellar job of beaming my photos automatically to my Mac and my Apple TV. These are the kinds of experiences I’d like to have with all of iCloud’s offerings. Unfortunately, things haven’t worked out that way.
Take the popular podcatching app Instacast by Vemedio. It included support for iCloud syncing in version 1.4, which meant my podcast subscriptions, playlists, and playback positions were going to match up between my iPhone and iPad. I was supposed to be able to stop listening to an episode on one device and pick it right back up on the other without missing a word.
Instead, Vemedio had to remove iCloud sync:
It’s gone, thank god. Making iCloud reliable is nearly impossible for a 3rd party developer. The app APIs are confusing, unclear and unreliable. There were so many problems on so many levels that we decided to roll out our own sync solution. If something now does not work correctly, we at least have the possibility to fix it ourselves. Another advantage is that the new sync is much faster and works instantly, at least when both devices are on the same local network.
“Unreliable” is an understatement. In my experience with iCloud sync, Instacast and Instacast HD on the iPad never played well together. Podcasts I’d unsubscribed from on one app remained subscribed-to on the other, playback positions were lost or not carried over at all, and when syncing actually did work, it took forever for everything to beam down from the servers. Waiting isn’t always a problem, but it can be when you’re trying to make your morning train with a phone full of new episodes.
And this experience is not limited to podcatching apps, either. The productivity app 30/30 recently released an update that doesn’t remove iCloud sync, but instead forces the user to manually initiate it:
Instead of trying to always stay in sync, there are two new buttons: Upload to iCloud, and Download from iCloud.
I thought iCloud was supposed to be “seamlessly integrated” with my apps so I didn’t have to manage my data this way?
Whether or not you believe Apple broke a promise about iCloud’s reliability doesn’t matter. What matters is that users are noticing things don’t “just work” as they were led to believe.
iCloud doesn’t seem to have any problems in the Apple-branded apps I’ve used. Notes, Pages, Reminders, Contacts, and Calendar all sync data without any hiccups, and why wouldn’t they? They’re the apps most iPad and iPhone users are going to try first. They come with every device. They’re demoed in-store to potential customers. If they don’t “just work”, then the customer becomes disinterested. Apple scrutinizes its own products to make sure they look and function at the Apple Store the same way they do onstage or on TV.
But the level of scrutiny Apple pours into its own goods — the chamfered edges, the reel-to-reel tapes, the richness of the Retina displays — isn’t being directed toward the platform that will wind up becoming the most important part of Apple’s ecosystem.
Everything is connected. Everything happens on the Internet. Everyone carries more than one device with them. And more often than not, if someone has one Apple product on them, more can’t be far behind. I’ve got a MacBook Air, an iPhone 5, and an iPad 4 and making sure my data is in sync everywhere I go is a top priority. Apple’s relevancy in an increasingly untethered society, especially one in which its devices are now ubiquitous, all depends on iCloud’s reliability.
Many apps sync files and data via third party solutions, like Dropbox or Google Drive, and for some, that’s just fine. But for the majority of iOS users, baked-in syncing means one less app to download, one less directory in which to store files, and one less barrier to entry.
John Gruber linked to a piece by Brent Simmons in which Simmons advises app developers not to implement iCloud at all — even if it worked:
Here’s the thing: half the mobile revolution is about designing and building apps for smartphones and tablets.
The other half is about writing the web services that power those apps.
How comfortable are you with outsourcing half your app to another company? The answer should be: not at all comfortable.
It makes sense from the developer’s perspective, since Apple’s been a company that’s prided itself on controlling as much of the ecosystem as possible. Why shouldn’t developers follow the same mantra? Unfortunately, there’s another aspect Simmons ignores: fragmentation.
Instacast has its own syncing solution, as does Simplenote, and other developers, noticing iCloud’s penchant for pooping the bed, have also begun rolling out their own sync services. So, if I expect my data to go with me everywhere, I have to sign up for a new sync service for each of my apps. That gets cumbersome.
I’m not implying iCloud should be the only option for syncing, but it should be an option and only if Apple can get its act together. Obviously, the company’s track record with cloud-based services isn’t entirely spotless.
Every day, our computing needs move more and more to the Web. Chromebooks, social networking, writing, and news sources all require Internet connections to be useful. The things we keep locally on our devices, however, must move back and forth with ease and that’s the promise we heard from Apple when it unveiled iCloud two years ago.
I don’t want another proprietary service. I don’t want to have to remember another set of login credentials. I want to access my content on all my devices. And stay up to date everywhere I go.
I want my iCloud.