20071107android.gifIf you had a chance to go through the Google Android doc­u­men­ta­tion you will have noticed a very inter­est­ing thing: a lot of the most inter­est­ing APIs are optional.

Hav­ing a look at this page will show you the fol­low­ing list of optional APIs:

  • Location-​Based services
  • Media APIs
  • 3D Graph­ics with OpenGL
  • Low-​Level Hard­ware Access

If you have worked on some projects involv­ing JavaME you will imme­di­ately under­stand where is the prob­lem: fragmentation.

These are really the most inter­est­ing APIs for creaet­ing com­pelling appli­ca­tions. If you leave the choice to hard­ware man­u­fac­turer to imple­ment or not an APIs chanches are that they will not imple­ment it. This is fact that I ver­i­fied on my own in the last years.

If Google wants to win against advanced Oper­at­ing Sys­tems like Sym­bian or against JavaME they had to make some of these APIs manda­tory. I think that Media APIs, 3D Graph­ics with OpenGL and Low-​Level hard­ware access are absolutely needed for each of these devices.

We need to remem­ber that this OS s tar­geted to run on high level hard­ware with all the capa­bil­ity to sup­port these APIs. There is actu­ally no need to leave space to hard­ware man­fac­turer for not doing this, at least at this point in time.

Accord­ing to my opin­ion Google had to offer one sin­gle plat­form with no optional stuff. I think that was the right way to approach the prob­lem in order to be successful.

Why do I blog this? Frag­men­ta­tion is an headache for every sin­gle mobile appli­ca­tion devel­oper and it seems that the very same story is going to be told on Android.

Related posts:

  1. APIs, Are They An Admis­sion Of Failure?
  2. Google Android SDK Released
  3. Apple iPhone And The Yet To Be Announced Google Phone
  4. Google, It’s A Plat­form Not A Mobile Phone
  5. Google SMS Pay­ment Patent