Earlier quoted context omitted.
It's called staging and scripts.
I just wonder what the practical effect of Apple's online store being down is... it looks bad, but does it actually cost them any sales?
Frustrated with iCloud, Apple’s developer community speaks up
171–180 of 192 posts
Re: Frustrated with iCloud, Apple’s developer community speaks up
#172I've worked with iCloud in conjunction with Core Data. It's as broken as the article describes, and in fact has gotten worse over time. No one really fully knows WTF is going with iCloud - documentation is basically nonexistent, support unavailable, implementation broken in trivial ways, and error messages inscrutable. I was at an Mac/iOS conference recently where the Core Data iCloud talk morphed from a standard tal…
Re: Frustrated with iCloud, Apple’s developer community speaks up
#173Core Data now provides NSIncremental store, which lets you use any web API as your persistent data store. It's possible to roll your own alternative to iCloud in this way, if you choose.
https://github.com/stackmob/stackmob-ios-sdk/blob/master/Cor...
And once you discover that you can't fix all the problems that Apple is struggling with, you have dug yourself into a VERY deep hole :)
Re: Frustrated with iCloud, Apple’s developer community speaks up
#174Earlier quoted context omitted.
That's like staying with an abusive spouse because he bought you a nice dinner once.
Except that fixing abusive spouse is nearly impossible, but fixing buggy service is possible (though it may be hard in this case).
Re: Frustrated with iCloud, Apple’s developer community speaks up
#175I've worked with iCloud in conjunction with Core Data. It's as broken as the article describes, and in fact has gotten worse over time. No one really fully knows WTF is going with iCloud - documentation is basically nonexistent, support unavailable, implementation broken in trivial ways, and error messages inscrutable. I was at an Mac/iOS conference recently where the Core Data iCloud talk morphed from a standard tal…
"Distributed Databases are Hard" has been a mantra for many decades, probably getting close to a half century. We have known, basically forever, that this is hard on a fundamental level. (Google "Two Generals" problem.)
> Apple was hoping that by shoving a bunch of diffs of your database onto the server, that clients can reliably reconstruct a sane database by playing them back
This is called a variety of things. One of the terms is "transactional replication." It can get very very sticky when there is more than one party originating write transactions, though.
Re: Frustrated with iCloud, Apple’s developer community speaks up
#176Earlier quoted context omitted.
For the same reasons Microsoft hasn't been terribly successful online? It's a different game played by different rules. Interestingly, I'd like to watch and see how Google does moving into the physical goods space.
Erm, excuse me? For one, Windows Azure is a pretty big deal. Secondly, XBox Live is a pretty big deal. Third, Bing might be struggling to gain traction but it most certainly works. So can you point me to a Microsoft web property or service that is as wonky as iCloud at all?
Windows Azure is a big enough deal, and working well enough, that Brent Simmons of Black Pixel (and well known indie Mac developer) has been recruited to do tutorials on the Mobile Data Services component for iOS.
Re: Frustrated with iCloud, Apple’s developer community speaks up
#177Earlier quoted context omitted.
I just hope people can differentiate between Core Data and iCloud from both your comment and the article.Core Data isn't broken. It might be somewhat magical, but it's not broken.
I think there's a good argument for it being broken: 1) Core Data objects are not NSObject objects. You can't treat them remotely like normal objects: https://developer.apple.com/library/mac/documentation/Cocoa/... 2) Core Data requires making your model mutable, and spreading dependencies on Core Data's abnormal objects throughout your entire code base. 3) Since the abnormal objects are spread throughout your code,…
All you're doing in this post is phrasing problems that are fundamental to data storage in core-data specific verbage, and calling them a grievance against Core Data. But they're not. There's no other magical solution that somebody could write that does it any better.
For example:
> Since the abnormal objects are spread throughout your code, and they're tied to non-thread-safe NSManagedObjectContexts, concurrency becomes rather difficult.
Concurrency is difficult independently of how you go about it!. The fact that concurrency continues to be hard is not Core Data's problem. The question is, is it easier or harder to use Core Data's primitives to achieve concurrency than it would be doing everything from scratch? I think it's easier. But Core Data against magic is not a fair comparison; a fair fight is between [hard problem with off-the shelf tool] against [hard problem without any tools].
Or this one:
> Since Core Data objects are abnormal objects, one must produce a considerable amount of boilerplate just to define new model objects.
Again, the choice is not between [boilerplate] and [no boilerplate]. As you've correctly pointed out, the mapping between on-disk and in-memory is a hard problem, and the solution will involve writing code that bridges the two worlds. The question is, is [boilerplate that's defined over 10 years of Cocoa convention] superior to [boilerplate that I invented from scratch to solve my problem]? I'm going to claim, 90+% of the time, that you want door A. Perhaps you really do want door B occasionally. But there is no door C with a boilerplate-free existence.
> After using it myself for a large project and struggling with all of these issues (and more), and watching another team do the same on their own project, I'd never make use of it again.
And as a person who has worked on probably over two dozen Core Data applications, I would not touch any codebase that had this philosophy with a ten-foot pole. Concurrency, boilerplate, memory/disk impedance mismatch are the same problems wherever you go. It is perfectly fine to say "I don't like using CD syntax to solve these problems" as a personal preference. But it is another thing entirely to say that CoreData is "broken" because one is either unable or unwilling to solve these same problems we solve every other day of the week in a slightly different syntax than one is used to, particularly when that syntax is generally accepted as a platform standard.
To use an analogy, it would be very poor form to try a Ruby project or two and conclude that ActiveRecord is terrible and that it "falls over" once you step outside "simple use-cases" and that you would never do another Ruby project unless you were emitting postgres queries by hand. There are not a lot of Ruby developers who would sign up to work on that project.
Re: Frustrated with iCloud, Apple’s developer community speaks up
#178Earlier quoted context omitted.
What is this toolset of tomorrow your peers are using to blow past you, if you don't mind me asking?
I mainly mean my web-developer peers. Their toolsets are moving so rapidly that I see them surpassing us in the next 2-3 years unless we make some huge improvements. Just my opinion.
Re: Frustrated with iCloud, Apple’s developer community speaks up
#179Earlier quoted context omitted.
I work on a fairly complex Core Data implementation in a heavily multi-threaded app. It requires a lot of discipline, and we rely on a lot of learning-through-pain since the documentation beyond the most basic implementation is mostly non-existent. Core Data is pretty simple if you do all of your work on the main thread, but then your'e also blocking your main execution loop for operations that can take a long time.…
> A large save will easily reach into >200ms land on an iOS device, and your app will feel like crap. Can you give an order of magnitude at this would happen? I usually only have 50-200 entities in my database in total, saving maybe half of them at the same time. Yet libraries like RestKit insist on a two-context setup to avoid the saving delay you mention. I'm not sure if I should fight the libraries and go back to…
Re: Frustrated with iCloud, Apple’s developer community speaks up
#180Earlier quoted context omitted.
Never had any issues. I guess what I build is not complex enough.
I work on a fairly complex Core Data implementation in a heavily multi-threaded app. It requires a lot of discipline, and we rely on a lot of learning-through-pain since the documentation beyond the most basic implementation is mostly non-existent. Core Data is pretty simple if you do all of your work on the main thread, but then your'e also blocking your main execution loop for operations that can take a long time.…
Could you name some of those open source projects? Thanks.