http://blogs.msdn.com/b/oldnewthing/archive/2003/12/24/45779...
While this may not affect most of the users of these apps, this is quite unfortunate, because these applications were especially handy on non-stock phones, which usually aren't easily rootable.
Which is swell if you're an application developer. But for the end users it means that apps may suddenly stop working if they upgrade the OS.
It's important that the developer keep up with an evolving API and if they plan to use experimental features that aren't locked in yet, they should make note and be prepared for if/when it's taken out or changed.
Unfortunately, no matter what device you use, there will be developers who fail to maintain their apps.
Isn't Apple allowed to make shared code for just its apps? Putting it in the supported frameworks is just an easier way to make sure that it eventually gets released for everyone -- otherwise lots of useful code might just languish inside apps and private libs.
Then it would be fair game. Your argument ignores an important difference: app-space code - which every developer can do; and OS code exposed as private API - which only Apple can do.
It's not feasible to extend the capability of creating and deploying OS frameworks to 3rd party developers.
> The problem is, there are more Content Providers in the system than are documented in that package, and while you can use them, you probably shouldn’t. They’re there because some of the Google-provided apps use them internally to access their own data resources. Because Android is an open-source project, it’s easy enough to find them just by running shell commands like find and grep over the source tree.
> [...]
> Back to Content Providers. For example, there’s one inside the built-in Messaging (A.K.A. texting or SMS) app that it uses to display and search your history. Just because it’s there doesn’t mean you should use it. The Android team isn’t promising that it’ll be the same in the next release or even that it’ll be there in the next release.
> So, go ahead and look at the undocumented Content Providers; the code is full of good ideas to learn from. But don’t use them. And if you do, when bad things happen you’re pretty well on your own.
http://android-developers.blogspot.de/2010/05/be-careful-wit... http://www.tbray.org/ongoing/When/201x/2010/05/06/Private-AP...
The main point here is that you are on the same level of Google: if you want you can use those private APIs, but be ready to do a lot of work to keep your application working fine.