« Open ID Foundation: Does the world really need yet another identity organization? | Main | The Business of Identity »

Finding Google in Android

When Google tells the world it is going after the mobile way, one should always take notice. So, after weeks of procrastination, I finally took a look at Android. My timing was not too far off, since the first Android phone only made its appearance at GSM this week.


In a nutshell, Android is a mobile platform that builds on top of Linux but bundles additional layers such as a web browser (Webkit), a set of applications services (e.g. telephony and messaging) some libraries and a homegrown runtime (ala Java VM). The marketing brochure says that Android is Open (and most of the components are).


Like the first Google phone, Android seems to be a work in progress. A few hours of digging into the developer site and the examples, followed by a sudden crave for caffeine that interrupted my progress, eventually left me with mixed impressions. Yes, I would have to admit that Android was rapidly falling short of my high expectations. After all, the mobile brainchild of a company with such technical talent as Google had to be second to none.


It is not that Android is technically bad. It is quite the opposite, actually. Technically, Android is extremely sound and brings some interesting innovations. It is just that it does not seem very Google-like to me. In particular, it does not fit the Web-centric programming model that you would expect from the inventors of AJAX and precursors to the Web 2.0 movement. Why Google would decide to err so far away from the development model that made their success was really a big surprise to me.


Take for example, Android's application component model. It relies on the new concepts of "Activity" and "Intent". The idea is to enable an application to easily mix different components from other applications within its own view (way back then, Microsoft called this Object Linking and Embedding (OLE)). Great idea, right? Yes, especially, in a mobile environment where users frequently need to switch between messaging, contacts, and calendaring. But then again, why not enabling widgets and mashups as a simpler GUI and component model for mobile? After all, Apple just did that for MAC OS X. instead of making the Web and mobile come together, Android is introducing yet another programming model. As good as it may be, it sounds like a missed opportunity to do what Google does so well: pushing complexity to the cloud, and simplicity to the client in order to enable the largest developers community.


This is my sole disappointment, really. Android does not try hard enough to enable the Web programming model into the mobile. Instead, like any traditional mobile OS company, it makes it a second-class citizen. In doing so, Android confines most of the Web developers to the browser. That kind of traditional device-top approach is exactly what you would expect from non-Web companies like Nokia, Sun or IBM, but from Google? Where are the XHTML, CSS, JavaScript and all the REST (pun intended) of the Web 2.0 technologies that made us scream "WOW" the first time we saw that Google map drag along the mouse?


Yet, Google is standing strong behind Android. Therefore, I would expect Android to enjoy a long and prosper future. It just seems strange that in the end, Google decided to opt for a development model that is foreign to its own DNA. Ah! But on the other hand, they did call it Android, didn't they?

TrackBack

TrackBack URL for this entry:
http://blogs.verisign.com/cgi/mt/mt-tb.cgi/747

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)