Android may have private APIs like iPhone

updated 06:25 pm EDT, Thu May 6, 2010

Android not much better than iPhone for APIs


Google's recently hired Android Developer Advocate Tim Bray stirred controversy today in a warning to developers that suggests Android has private APIs. Despite Android head Andy Rubin claiming that Google is more open than Apple and publishes all its developer standards, Bray has told developers that certain resources were developed only for Google's own use. Some of the Content Providers feeding data to apps should be avoided altogether and could break in the future, he said.

"The problem is, there are more Content Providers in the system than are documented in that [Android SDK] package, and while you can use them, you probably shouldn't," Bray explained. "They're there because some of the Google-provided apps use them internally to access their own data resources... 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."

Instead, he called on developers to search for alternatives or to implement something of their own.

Google's approach is still more lenient than Apple's as the former won't ban Android apps for using its special programming interfaces where Apple regularly insists that developers hold to its publicly available guidelines. However, the move still creates a similar effect on the quality of apps as it gives first-party Android titles privileges that aren't available to outside developers.

In a Twitter response to the criticisms, Bray argued that the difference between truly private APIs and simply undesirable "hardly seems subtle." Apple however hasn't strictly tried to hide its APIs and has mostly just discouraged their uses. Rubin hasn't yet responded on his own. [via Daring Fireball]


Share


By Electronista Staff

Other Articles

toggle

Previous Comments

  1. dliup

    Fresh-Faced Recruit

    Joined: Jan 2006

    +1

    Of course

    Of course Google is going to keep things for itself. It's not too far off from the secret google strategy:
    http://obamapacman.com/2010/03/google-reveals-secret-business-strategy-discusses-buzz-iphone-inspiration/


  1. qazwart

    Fresh-Faced Recruit

    Joined: Apr 2001

    +5

    Every platform has private APIs

    That's the way platforms work. You have private APIs that are tested, checked over, and then modified, retested, and then released to the public.

    It's why you're suppose to list only SUPPORTED APIs. It's why classes can declare PRIVATE members.

    Stating that you can use any API, but not guaranteeing stability is going to piss off Android users. Too many applications will break whenever the OS is upgraded, and quite a few of those will be unfixable. That's what happens when you allow developers to use private APIs.


  1. elroth

    Fresh-Faced Recruit

    Joined: Jul 2006

    +1

    hmm

    "Android head Andy Rubin"

    Calling someone an Android head is kind of insulting...


  1. testudo

    Fresh-Faced Recruit

    Joined: Aug 2001

    +4

    Re: Every platform has private APIs


    That's the way platforms work. You have private APIs that are tested, checked over, and then modified, retested, and then released to the public.


    Nope, that's not the way platforms work. Platforms work by defining public APIs. You then might have Private frameworks, objects, methods, etc, used to implement the public APIs, or set up for use by the Operating System. But the private APIs seldom go public, because they're set up for internal use only in the first place.

    The reason they're private is because they can change. And if they do change, you expect that all usage of the object is changed at the same time (since it's private, it isn't an issue, as it would only affect the OS, say).

    Stating that you can use any API, but not guaranteeing stability is going to piss off Android users.

    Being that Android is an open platform, there is NO WAY to prevent a programmer from using a private API. But 'good' programmers know not to use such things. It's the lazy and bad programmers who don't understand the pros and cons and do stupid things.


  1. testudo

    Fresh-Faced Recruit

    Joined: Aug 2001

    +2

    But...

    The problem with this isn't that there are private APIs (as stated before, that's normal).

    The problem with Google is the same problem with MS Windows in the 90s and Apple (reportedly) with the iPhone OS. Private APIs should be created and used for the OS, and just the OS. It is not fair, right, or competitive to integrate a set of APIs into your own OS for the benefit of your apps over others.

    If you want a set of APIs for an SMS/Texting app, you make that a public API so other SMS apps can use the same functions.


  1. facebook_Jamei

    Via Facebook

    Joined: May 2010

    -2

    android is awesome

    The android just keeps getting better and better! Plus it works on Fuzion Mobile for only $50 a month! You can even keep getting the apps and use wifi, talk and text unlimited with it :)


Login Here

Not a member of the MacNN forums? Register now for free.

 
close
Photo
toggle

Network Headlines

toggle

Most Popular

10 Most Read

Recent Reviews

iHome iW2 AirPlay speaker

iHome generally isn't known as a luxury brand when it comes to audio, but it is prolific -- the company's docks and speakers are every ...

Logitech Ultrathin Keyboard Cover

One of the iPad's main weaknesses has always been productivity. It's not a question of apps; while it has taken a little time for a na ...

Logitech UE Air Speaker

If maybe a little more slowly than Apple would like, AirPlay is becoming a staple of the wireless speaker market for iOS devices. The ...

toggle

Most Commented

10 Most Discussed

 
toggle

Popular News