Jul
16th
Thu
permalink

Android is a step backwards (for now)

Let me start off by saying that I’ve done some recreational hacking on Android and I really like it. From a developer perspective it’s very much a step forward.

But the whole situation in mobile reminds me of the mess on the desktop when I was in college. Back then we had 16-bit windows, the new Win32 APIs, some Unix layer stuff. Then there were the native APIs, the MSVC libraries, the Borland OWL libraries, and more. On Unix there was Motif (in various flavors and implementations), the Sun NeWS (I forget the name) toolkit, the Andrew toolkits, the venerable Athena toolkits, and many many more. And of course there always was the Mac. I remember “cross-platrform” was a big buzzword those days, with companies popping up everywhere, promising the silver bullet to develop once and run everywhere.

Then Java, and mainy the web came along and the mess has subsided somewhat on the desktop.

But in mobile we have the Blackberry, Symbian, iPhone, JavaME and, now, Android and Palm’s WebOS. I like the idea of the latter (although I’ve only read marketing fluff so far) and in an earlier post I suggested that the mobile OS should be much more transparent. I guess Google sort of agrees, given that they’ve been pushing HTML5/Gears mobile versions of GMail, Tasks, Docs and, even, Google Wave. Many journalists and bloggers have expressed surprise at this and often drawn the wrong conclusions, but to me it just makes sense.

My best guess is the following: if you want to build middleware (i.e., Gears, AppEngine, etc) and apps that get used, you need leverage in the lower layers (i.e., the OS) and cannot rely on the goodwill of others (Microsoft, Apple, RIM, etc) to implement the standards and technologies you rely upon in their OSes and browsers. That’s what Android is for. It doesn’t have to be the next iPhone to be successful. It just has to be adopted enough so that everyone is compelled to implement the same technologies (such as HTML5) on their platforms.

But people have certain expectations from mobile OSes; it’s not wise to do something radically different right from the start. So in order to ensure that you eventually take the necessary steps forward (and furthermore, that everyone does the same), you have to take an occasional step backwards.

Powered by Tumblr