Google, Android and the demo effect
A few hours ago, shortly after I finished delivering a presentation at Mobile Internet World, I joined the assembled masses for the Momo Boston event. It seemed strange to have a Mobile Monday event on a Tuesday, but it was moved to fit the MIW schedule, and was held in conjunction with MMNY. Top billing was given to Alan Blount and David Carson, presenting Google’s latest offering: Android. What we got was a live illustration of Eclipse on a Mac, and the usual glitches one can expect from live demos. Once the guys had figured out the code, the emulator appeared to work well. Not surprisingly, they showed how to quickly create a browser-like application and pointed it at the Google site. It worked. Nothing spectacular. Some of us in the audience were really hoping to see this running on a real device, but apparently the guys “couldn’t talk about devices”. So that’s that then.
Android is an open platform. Linux at the bottom. Some native C code. WebKit (a la iPhone) is there, as is SQLite, some cool graphics libraries and a specialised runtime that executes a compilation of Java on a Dalvik VM. The Dalvik “.dex” files are derived from the .class/.jar files one normally associates with Java. Why an alternative VM? Many in the audience were interested in getting an answer to that one. “Why compile from one bytecode to another?”, they asked. Why not compile directly to native? There wasn’t a clear answer, but the presenters did point out that the new VM was specially designed for embedded deployment and could easily run several instances simultaneously.
Most of the material that application developers will be interested in is written in Java, including the Android core libraries. There’s plenty of late binding and decoupling in there too, so customisation is the order of the day. A free-for-all for application developers.
Is this a good thing? Time will tell. Hopefully the security is up to scratch because you can be sure that the virus writers are already pouring over the SDK. Will Android solve the mobile device diversity problem by creating a common open platform? I doubt it. Mobile Linux platforms already exist, WebKit is out there in many flavours, and I can just imagine the load on the operators’ call centres as people start complaining about odd behaviours with the particular collection of apps they have installed on their “gPhones”. No, this will all just add to the diversity, which is OK if you have the technology to deal with diversity.
One of the things we are trying to do in the W3C, as I explained to several people over the past few days, is to enable access to information about the diverse contexts in which Web content and services are operating. That is only half the battle. Once you have access to the contextual information, you have to do something sensible with it. I wonder what will be the sensible way to deal with requests coming from an Android application? Hopefully Google will make the device information available to DDRs (Device Description Repositories), such as the one that dotMobi are planning to launch early in 2008, and implement the DCCI in the browser so that scripting can access platform information.
I didn’t get a chance to ask Alan or David about that, but I’ll make some enquiries through other channels.
Categorised as: Uncategorized