A tale of two iClouds
- 4
-
462shares
-
-
BBOff
Recent criticism of Appleâs iCloud has exposed just how fractured the brand actually is behind the scenes. Developers are having problems with some of the technologies bundled together under the name and itâs causing some confusion. The truth of the matter is that there are really two iClouds, which couldnât be more different.
iCloud was launched in 2011 as a unification and expansion of Appleâs online syncing and data storage services like MobileMe. Since then, the service has grown massively in size. With a reported user base of 250M people, itâs one of the most-used cloud services anywhere in the world. But an enormous user base also means that any issues it encounters are writ large in the press and other forums.
New York, meet the worldâs tech scene
5,000 Tech leaders are coming to NYC this November to learn and do business. This is your chance to join them.
Recently, issues with iCloud have contributed to some largely negative blowback in the press and among developers making apps for the iOS and Mac platforms. Iâve personally spent a lot of time talking to those developers about the difficulties that theyâve had making iCloud work like itâs supposed to. Some of this sentiment was pretty accurately rounded up by The Vergeâs Ellis Hamburger yesterday.
Still, a lot of the discussion about this stuff doesnât adequately address that there are a couple of distinct facets to iCloud. There is the iCloud that powers consumer applications like backups and Mail, and there is the developer-facing aspect of iCloud which powers things like Core Data syncing.
Core Data syncing, for instance,  is one way for apps to present you exactly the same user data in copies of apps on your Mac, iPhone and iPad. This seamless switching was a big selling point for developers interested in Appleâs cloud solution, rather than just ginning up one of their own. Steve Jobs even said that it was âreally easyâ to tie apps into iCloudâs storage system. Turns out, this wasnât true at all. While holding those issues up to the light is an important thing, it still isnât telling the whole truth.
Hereâs the truth about iCloud: itâs actually just a name.
There are really two iClouds, one that services Appleâs consumer services, and one that is offered up to developers to integrate into their apps.
Iâm not being facetious with that statement. The iCloud that is used for apps and services like iMessage, Mail, iCloud backup, iTunes, Photo Stream and more is built on a completely different technology stack from the developer APIs that are causing problems. iWork actually does use developer APIs, but only the (still rough) document syncing, not Core Data, which has been causing the most issues.
So when I say that there are two iClouds, I mean that there are two iClouds. One of them is used heavily inside Cupertino for its own services and the other is offered as a developer API and used only selectively for Appleâs own apps. Iâm not here to say whether thatâs right or wrong or fair or not or whatever, those are just the facts.
And, once you dig in, iCloud for developers is far less a completely holistic solution and much more of a loose bundle of networking protocols and systems that are unified in name only. It involves so many departments and teams inside Apple that it makes for a very fragile system. If a bug crops up it could involve teams working on the OS X or iOS file system, networking, frameworks or a host of others. This makes issues hard to diagnose and even harder to fix.
Iâd be remiss if I didnât lay some of the blame for some of this confusion at Appleâs doorstep. Bundling both consumer-side and developer-side technologies and implementations under the âiCloudâ banner isnât doing it any favors. When people say âiCloud sucksâ, what are they talking about? Are they talking about developer tools and documentation for syncing services? Are they talking about consumer services like iCloud backups or iTunes? It becomes harder to discuss and contributes to muddying the waters.
But the problems that developers are seeing arenât going to be solved by separating the halves of iCloud. Theyâre only going to be addressed by providing better documentation, more responsiveness from Apple in addressing issues that developers are encountering and a willingness to just plain admit that some of iCloud for developers just sucks. The team at Apple has the best resources available to it to fix its problems. It can talk directly to the people who built the technologies in order to fix issues. Developers donât have that luxury so what they need is better training and documentation.
One thing that could help is if Apple dogfooded more of iCloudâs developer API features in its own apps. Dogfooding, the process of a company using its own creations internally, is a well-respected method of ensuring maturity and stability, especially in complex services like iCloud. Apple currently only uses Core Data syncing in its iTunes Trailers app, which serves a lot of video but isnât exactly the most complicated application. Because Apple doesnât use these features of the API as much, it doesnât run across the problems that are being run up against by developers.
Another way to improve the iCloud API would be to find a high-profile developer that is working to ship a rich implementation of the iCloud API in an app and work hand-in-hand to try to solve all of the issues up to launch. This would give it an insight as to what exactly the real-world issues are and help it to address the issues in a focused way.
It makes no sense for Apple not to offer better resources for developers on iCloud. It has zero, zero incentive to drag its feet or withhold resources as itâs been working very hard to get those developers (itâs been preaching it for two years at its developer conference) to integrate iCloud into their apps. It has everything to gain by making iCloud better and easier to use.
So, hopefully, this attention will spur some reaction in Cupertino. And thereâs no reason to let Apple off the hook for the shaky state of some iCloud services like iMessage either. It has a responsibility, as a services company, to make sure those services work. But, right now, its biggest task is to reverse the tide of dissatisfaction and abandonment that is being felt by developers about their iCloud, before developers decide that using their own systems might be the best solution.
Image Credit:Â Justin Sullivan/Getty Images
Comments