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."
I read the whole article and I don't understand where it came from. As for iCloud and apple applications and the overall integration of iCloud into iPhone and Mac, it works 100% for me and I use almost every application from Apple that supports it. Furthermore, I also have the Trailers application from Apple downloaded (even though it is NOT on SVK iTunes, so there must be a reason for that), but I don't know where iCloud is incorporated here - I'll have to look it up. Furthermore, I have NEVER had a problem with iCloud in other applications. I use Appig's ToDo and iCloud sync works 100%, and I have over 100 todos in iPhone and Mac apps that are closely related to my work, so I need 100% working sync, so I don't know what 2Do is having problems with. I also communicated directly with Appigo and they recommended iCloud (in addition to their paid sync service, of course) for synchronization because I also tried dropbox and was not satisfied (I use dropbox every day to sync files). I also use the iBear money app every day and have never had any problems with iCloud syncing either! You also write that Dropbox is a better solution for file sync, but before that it is written that iCloud is perfect for file sync - I don't understand this a bit. Furthermore, the game studios you mention do not use iCloud, but use their service due to synchronization with ANDROID devices where iCloud does not exist, so I think there is no problem here. This is how Real Racing 3 works most recently, and also only when synchronizing with devices other than Apple. Other games that use iCloud work that way too (in my experience). And at the end, you write that iCloud is a very closed system and that's a problem - hasn't this always been Apple's philosophy? If iCloud was completely open, it wouldn't work at all. Also, the entire iOS is closed and someone will always complain that they can't do it, but from my point of view, that's only good, right? Admittedly, I haven't read the complaints on forums and complaints from developers, but I am 100% satisfied with iCloud, so this article surprised me.
Yes, as written in the article. Native apps work and the user doesn't notice anything
Take a breath, it's actually a translated article from TheVerge, so we're reading Ellis Hamburger's opinion, not so much Ondrej Holzman's (nothing against me, I'm just giving it my all).
In reality, no one cares what Apple does well. Everyone wants to hear what they are doing wrong, because advertising on such sites earns twice as much. Because otherwise I can't explain why the whole article would be about how "iCloud doesn't work at all", even though it's just problems with Core Data sync, which is roughly 1/10 of iCloud. But as I said, nobody cares what works almost perfectly:
– iTunes Match
– iTunes in the Cloud
– iMessage
– Facetime
– photo stream
– iCloud backups
– Contacts
– Reminders
– Calendars
- Podcasts
– Game center
After all, even if one small part doesn't work perfectly, the articles are about how "nothing works", because that's a joke. However, people who know the facts know that this has nothing to do with objective reporting.
Today it is IN to criticize everything (especially without the person having read anything about it beforehand), so either join the board or the Internet masses will stone you.
If the article does not imply that only Core Data is criticized, then it should have been. And yes, the article is largely taken from TheVerge, because we simply can't get to that kind of information, we don't have access. I tried to at least ask some other developers about the problems with iCloud to know what and why, and they more or less confirmed these complaints.
You write that everyone wants to hear what's wrong, and it's true. Do you think it would be worth writing every week about how the iCloud is actually great, how everything works except for one thing and that the data is synchronized beautifully? I don't know, I thought this was a very interesting topic, which has now become popular, especially abroad, so I wrote about it.
In that case, doesn't it apply that you have to state the source from which the article is? Or is it mostly a translation of the article? So it's not your creation but someone else's? In addition, articles like this uselessly spread doubts, as is exactly the case in the comment below by Marek Odehnal !!!
The source of the article is listed from the beginning under the last sentence, just like for all other articles on Jablíčkář.
oh sorry I didn't realize that
Well, it doesn't come out very well - do a little experiment: read only the title and then all the subtitles - from this I have the feeling that iCloud is worse than cancer (and that there is something Core Data somewhere, but above all I have to remember that iCloud absolutely does not work, as you write in one subtitle - at least that one is off the mark). Few people understand how Core Data actually figures in iCloud, and this article definitely didn't bother to explain it in any way. The fact that you have mentioned it in several paragraphs is really not enough. And I don't see plurality anywhere - you don't have to write an entire article about the fact that everything works. But in the thousand-word article, not once does it mention that all the other parts of iCloud run as slowly as I think... well, just typical of the current mood - criticize Apple, advertising pays off. And it should be mentioned that NO competitive company offers a similar solution... there is no room left for that, right?
I don't want to advise anyone, but I follow a rule: if I don't understand something, I don't write about it.
If you tell me with a calm face that you think the article is objective or expresses more than one point of view, then unfortunately I will have to laugh.
Yes, I chose the subtitles a little more aggressively, sometimes over the edge, I accept that. That other iCloud features work is mentioned there. About the fact that iCloud offers what other services do not, there is also mentioned. It's not there that iCloud offers it as the ONLY one. There is the aforementioned Dropbox, which is the most common alternative, but it certainly does not offer what iCloud does, i.e. database synchronization.
The article expresses more views on the matter in the way that several developers talk about the same topic. What I personally had the opportunity to ask several developer studios, they all confirmed to me that there is simply a problem with Core Data.
This is strange, because when I read hacker news, support forums or discussions on the Verge, about half of the developers say that they didn't have a problem with it (even in this discussion we have people who say the same themselves). But you just talked to the developers where they 100% told you it doesn't work. Interesting, it seems very likely - I definitely wouldn't dare say that the opinion of the people who it worked for, they ... um ... fell out.
If we compare apples to apples (hehe), Dropbox and iCloud Document Sync both work perfectly. So I see no reason to mention Dropbox at all when we talk about Core Data sync.
To cut it short, what I simply do not understand is that you based the entire article on the fact that iCloud does not work - period. You mentioned that it's only about Core Data sync on the 13th line. But the absolute majority of the article is about how iCloud as such does not work. Coz is simply untrue. That it is more of a sensation is probably true. But if you want to write factually correctly, then you should pay attention to this. Because when you look down, there are people who understood it exactly as you wrote it - that iCloud doesn't work - and that's why they started asking if iCloud backup at least works. I think that's the best evidence of how it sounded to most people.
I'll write to you what I wrote to the author on The Verge: this is not a personal blog where it's okay to spread falsehoods. It is actually read by millions (and in Jablicker's case thousands) of people who believe you and take what you write as facts. So it's no excuse that you didn't find out what it was about before writing the article. Even if I could understand it. I find it worse that you selectively throw out the file without matching the facts, so that the result is a simplified article, chasing a sensation.
But I understand that if the title of the article was "Why isn't it working somehow, Core Data sync?", it would probably be a lot less read. And here is the dividing line between creating for quality and for quantity.
I myself asked five Czech developers (four answered), one foreign one, and they generally confirmed that there is/are a problem with Core Data. I'm not saying that this is true for everyone, but in short, the ones I asked confirmed what I had read elsewhere. Unfortunately, I did not receive a positive response, which I would have mentioned otherwise in the article. I could have described more developers, but I wrote to all the Czech developers who came to mind, and we also added some foreign ones with whom we have contacts, but not all of them communicate.
It's a pity that I didn't stick with the original version of the article "The Two Faces of iCloud", because I admit that it would have been much more appropriate and just a different title would have given the article a completely different feel. But now I can't take it back.
Yes, that would probably sound a lot different. I believe you with these developers, I read the opinions of hundreds of people on various forums and there I saw that it is so pol on pol. Because a lot of people really use Core Data sync without a problem - if they use simple structures and have the merge properly handled, then there shouldn't be a problem. CDS (core data sync) does not have errors in the implementation as much as in the principle - for example, what to do when you have two databases with a common ancestor, you made some changes in each and then you try to transfer those changes and those changes conflict? This is a rather large and rather complex problem with the database (O(mn^2)) and no one has yet satisfactorily solved it, Apple will then try as one of the few.
I almost feel sorry for people who don't know much about it, come here, read an article and leave with the feeling that iCloud is a piece of shit. At the same time, as I wrote before, the dozens of functions that work without any problem are really awesome and have saved me a lot of data several times. So I found this file unfair because of the very difficult problem of CSD condemning the entire iCloud - unfortunately, some people really understood it that way.
As for the article about the problems of Core Data Sync - I would be happy to read it and I would appreciate any further information about it. It's just a shame that CDS caught all of iCloud (and not only in your submission, but a little in E. Hamburger's submission, although he tried to separate it somehow - and then dozens of servers that took over - simplified - published in the style of " iCloud is useful").
I don't think Apple deserves it - especially because no one else is even trying to solve the problem.
This article is practically just a paraphrasing of disgruntled developers and their problems in one place. I don't have personal experience with development and iCloud, I just drew on available information.
To add facts, the truth is that synchronizing slave-slave style databases is an O(mn^2) problem that neither Google nor Oracle will even attempt (whereas Apple has already solved it decently for moderately complex structures). Apple is the only company trying to solve this, but it is only criticized for it. On the other hand, Google with its master-slave synchronization (online) O(1) and sometimes offline O(n) is laughing at the back, how the entire technological blogosphere absolutely does not understand what it is writing about. Because only in this case are those who are technologically behind praised and the pioneers criticized. Damn human ignorance in prime transmission.
I'm switching from Android, so I have a simple question: I understood from the article that the problem is when synchronizing on multiple devices (e.g. saved game position across iPhone and iPad). I will only have an iPhone, so the question is if this problem also applies to the backup of only and only one device on iCloud. I'll just sell my iPhone, buy a new one and upload a complete backup from iCloud, when I'll have all the settings and application settings in the new phone (passwords for social networks, saved game positions...) so how did it work last time in the old one? It is one of the main reasons for migration, i.e. Android without root cannot be fully backed up, and when I switched to another phone, we downloaded all the apps, but I had to manually redo all the settings in them, and with dozens of apps, that's hours of extra time. So does iCloud solve this problem for one device in iTunes? Thanks for the info.
You don't have to be afraid! iCloud on Apple devices works 100% EVERYWHERE. About 2 months ago I bought an iP5 and I sat down in a coffee shop on wifi, entered my apple account password and in 10 minutes I had an EXACT image of my old iPhone, even the last opened applications seem to me!!! All the data in the iPhone will be downloaded to the new iP in about 10 minutes (I had a full 32GB iPhone with data from the first iPhone several years ago until then, so it may take even less) to the new iP, even with the arrangement of the applications that must be (of course) still to download, but they will all contain the data they contained in the previous iPhone. All you have to do manually is log in to applications that require it.)
You don't have to be afraid! iCloud on Apple devices works 100% EVERYWHERE. About 2 months ago I bought an iP5 and I sat down in a coffee shop on wifi, entered my apple account password and in 10 minutes I had an EXACT image of my old iPhone, even the last opened applications seem to me!!! All the data in the iPhone will be downloaded to the new iP in about 10 minutes (I had a full 32GB iPhone with data from the first iPhone several years ago until then, so it may take even less) to the new iP, even with the arrangement of the applications that must be (of course) still to download, but they will all contain the data they contained in the previous iPhone. All you have to do manually is log in to applications that require it.)
I also have to contribute here.. As a beginner developer, I'm trying to implement iCloud in my application as well.. I haven't had any data loss yet.. Everything works as it should.. I guess I'm lucky.. The only thing I might not like is the speed synchronization.. Loading approx. 1 MB of data definitely takes longer than downloading a classic 1 MB of data from the Internet.. However, since all logs are downloaded, it is acceptable.. Yes, it is very easy to bug your IP or iPad so that it requires deleting all data from iCloud and then restore the whole phone.. (The data will remain there but an error will be generated if the settings are wrong..) But everything is restored in 10 minutes and this problem only concerns developers.. It won't happen to an ordinary mortal.. On iOS6 I definitely don't have major problems with iCloud in the form of Core data, and I somewhat disagree with the article.
Oh well, the first sentence “Steve Jobs introduced a service that still terrifies many developers today. It is nothing but iCloud”. And the fact that it's actually just a problem with Core Data sync, we'll find out about 12 lines down.
For the sake of sensationalism, the facts must be bent to make them even more sensational.