Close ad

At his last keynote at WWDC in 2011, Steve Jobs introduced a service that still terrifies many developers. It is none other than iCloud, the salutary successor to the troubled MobileMe. However, even iCloud is not without errors. And the developers are rioting…

Steve Jobs first demoed iCloud in June 2011, the service was launched four months later and has now been in operation for about a year and a half. On the surface, a relatively smooth service that, in the words of the legendary visionary, "just works" (or at least it should), but inside, an untamed mechanism that often does what it wants, and developers have no effective weapon against it.

"Everything happens automatically and it's very easy to connect your apps to the iCloud storage system," Jobs said at the time. When the developers remember his words now, they probably have to bristle. “iCloud just didn't work for us. We really spent a lot of time on it, but iCloud and Core Data sync had these issues that we couldn't solve.” he admitted the head of the Black Pixel studio, which is responsible, for example, for the well-known RSS reader NetNewsWire. For her, iCloud should have been the ideal solution for synchronization, especially at a time when Google is about to close its Google Reader, but the bet on the Apple service did not work out.

Nothing works

It is surprising that a service that has over 250 million users and is thus one of the largest of its kind in the world has such problems. At a cursory look at the matter, one could point the finger at the developers, but they are innocent in this at the moment. iCloud tries to implement many of them in its applications, but their attempts often end in failure. Because iCloud has serious problems with synchronization.

[do action=”quote”]I can't even count all the developers who ran into problems and eventually gave up.[/do]

"I rewrote my iCloud code several times hoping to find a working solution," he wrote developer Michael Göbel. However, he has not found a solution, and therefore he cannot yet market his applications, or rather the App Store. “I can't even count all the developers and companies that ran into the same problems I did and eventually gave up. After losing hundreds of thousands of user data, they simply abandoned iCloud altogether.”

Apple's biggest problem with iCloud is database synchronization (Core Data). The other two types of data that can be synced via Apple's cloud — settings and files — work within limits without issue. However, Core Data behaves completely unpredictably. It is a high-level framework that allows you to synchronize multiple databases between devices. "iCloud promised to solve all database synchronization problems with Core Data support, but it just doesn't work," said one of the prominent developers, who did not wish to be named in order to maintain good relations with Apple.

At the same time, Apple completely ignores these problems, iCloud continues to advertise as a simple solution, and users demand it from developers. But despite the developer's best efforts, users' data disappears uncontrollably and devices stop synchronizing. "These issues often take hours to resolve, and some can permanently break your accounts," another leading developer leans into Apple and adds: "Additionally, AppleCare is unable to resolve these issues with customers."

“We struggle with the combination of Core Data and iCloud all the time. This entire system is unpredictable, and the developer often has limited options to influence its functioning." describes the Czech development studio Touch Art, which confirmed to us that due to persistent problems, it is abandoning this solution and working on its own, in which it will use file synchronization instead of database synchronization as such. He will then be able to use iCloud for this, because file synchronization takes place through it without any problems. After all, this is also confirmed by the developers from Jumsoft: "iCloud is undoubtedly a great tool for direct file storage." However, Jumsoft, unfortunately, needs Core Data for its well-known Money application, and this is a stumbling block.

[do action="quote"]iCloud and Core Data are every developer's worst nightmare.[/do]

Many problems also stem from unexpected situations that can easily occur, such as when a user logs out of one Apple ID on their device and logs in through another. Apple does not count on them at all. "How to solve the problem when the user, who is not signed in to iCloud, turns on the application, then connects to iCloud and starts the application again?" he asked with one developer on the Apple forums.

All problems with iCloud culminate in the dissatisfaction of app users who lose data, while developers often just watch helplessly. "Users complain to me and rate apps with one star," he complained on the apple forums, developer Brian Arnold, who still hasn't received an explanation from Apple about what to do with similar problems, or why they happen at all. And the forums are full of such complaints about iCloud synchronization.

Some developers are already losing patience with iCloud, and no wonder. "iCloud and Core Data are every developer's worst nightmare," said for The Verge unnamed developer. "It's frustrating, maddening at times, and worth endless hours of troubleshooting."

Apple is silent. He bypasses problems himself

Perhaps it's no wonder that Apple's problems with iCloud pass as if nothing happened. Apple practically does not use the problematic Core Data in its applications. There are actually two iClouds – one that powers Apple's services and one that is offered to developers. Apps and services like iMessage, Mail, iCloud backup, iTunes, Photo Stream and others are built on completely different technology than what is available to third-party developers. That is, the one with which there are constant troubles. Applications from the iWork suite (Keynote, Pages, Numbers) do use the same API as third-party applications, but only for much simpler document synchronization, which Apple takes great care to make work. When they let iCloud and Core Data into their app in Cupertino, they are no better in terms of reliability than third-party developers. The Trailers application, which uses Core Data for synchronization, speaks for itself, and users regularly lose some records.

However, with Trailers, which are not nearly as popular, these problems are relatively easy to lose. But then what should the developers of the most popular applications tell their users, who simply have to rely on the problematic Core Data in iCloud, but often cannot guarantee the kind of functionality that Apple constantly advertises in its advertisements? Apple certainly won't help them. "Can anyone from Apple comment on this situation?" he asked unsuccessfully on the forum, developer Justin Driscoll, who was forced to shut down his upcoming app due to unreliable iCloud.

During the year, Apple does not help developers, so everyone hoped that something would be resolved at least at last year's WWDC, i.e. a conference intended for developers, but even here Apple did not bring much help under the enormous pressure of developers. For example, he provided sample code that can be used to synchronize Core Data, but it was far from complete. Again, no significant help. Furthermore, Apple engineers urged developers to wait for iOS 6. "Moving from iOS 5 to iOS 6 made things XNUMX% better," confirmed by an unnamed developer, "but it's still far from ideal." According to other sources, Apple only had four employees looking after Core Data last year, which would clearly show that Apple is not interested in this area. However, the company refused to comment on this information.

Goodbye and scarf

After all the vicissitudes mentioned, it is not surprising that many developers said no to iCloud, although probably with a heavy heart. It was iCloud that was supposed to finally bring something that developers were longing for - a simple solution that ensures identical databases and their constant synchronization on two or more devices. Unfortunately, the reality is different. “When we looked at iCloud and Core Data as a solution for our app, we realized we couldn't use it because nothing would work,” said the developer of some of the best-selling iPhone and Mac applications.

Another reason why iCloud is not easily abandoned is the fact that Apple notices the applications that use its services (iCloud, Game Center), and completely ignores those that do not have anything Apple in the App Store. iCloud is also a good solution from a marketing point of view.

Dropbox, for example, is offered as a possible alternative, but it is no longer as user-friendly. On the one hand, the user has to set up another account (iCloud is available automatically with the purchase of a new device) and on the other hand, authorization is required before the application can function, which also fails with iCloud. And finally - Dropbox offers document synchronization, which is simply not what developers are looking for. They want to synchronize databases. "Dropbox, which is the most used at the moment, has proven itself for data synchronization. But when it comes to synchronizing the database, we are dependent on iCloud," admits Roman Maštalíř from Touch Art.

[do action="quote"]I'd like to tell Apple that they fixed everything in iOS 7, but I don't really believe it.[/do]

However, the developers of the 2Do application did not have patience, due to numerous negative experiences with iCloud, they did not try the apple service at all and immediately came up with their own solution. “We don't use iCloud because of all the problems. It's a very closed system over which we wouldn't be able to have as much control as we'd like," developer Fahad Gillani told us. "We chose Dropbox for synchronization. However, we don't use its document synchronization, we wrote our own synchronization solution for it."

Another Czech studio, Madfinger Games, does not have iCloud in its games either. However, the creator of the popular titles Dead Trigger and Shadowgun does not use the Apple service for slightly different reasons. "We have our own cloud-based system for saving in-game positions, because we wanted to be able to transfer the progress of the game between platforms," David Kolečkář revealed to us that due to the development of games for both iOS and Android for Madfinger Games, iCloud was never a solution.

Will there be a solution?

As time goes on, many developers are slowly losing hope that Apple will come up with a solution. For example, the next WWDC is coming, but since Apple practically does not communicate with developers even now, it is not expected that he should come to WWDC with open arms full of advice and answers. "All we can do is keep sending bug reports to Apple and hope they fix them," lamented an unnamed iOS developer, with another echoing his sentiments: "I would love to tell Apple that they fixed everything in iOS 7 and iCloud can finally be used without problems after two years, but I don't really believe that." But it will be iOS 7 that should be the central theme of this year's WWDC, so developers can at least hope.

If Apple does not offer a solution to iCloud problems in a new version of its operating system, it could be a virtual nail in the coffin for some projects. One of the developers, who has been a strong supporter of iCloud until now, says: "If Apple doesn't fix this in iOS 7, we're going to have to abandon ship."

Source: TheVerge.com, TheNextWeb.com
.