We all know that Google’s ultimate goal is World DominationTM. What started ten years ago with a good search algorithm and web spiders on speed has now turned into a multi-billion dollar company with more than nineteen thousand employees. Their products range from web advertising to 3D animated chat programs. Google is also an important player on mobile platforms, like cellphones, and many of their web applications are also available for mobile users.

Only providing mobile applications and services is not enough for Google, of course. They will soon, as a part of the Open Handset Alliance (OHA), be launching Android.

The Android platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use, which runs on top of a Linux kernel.

In short, this means that Android will be running your mobile phone. What excites me the most is that all Android applications is written in Java, which means that I can, without too much effort, make an application that will be running on any Android phone. I have, at least in theory, been able to code applications for mobile devices with

J2ME support for many years already, but the “Write Once, Run Anywhere” paradigm has failed miserably due to the number of different J2ME implementations available. You could, for instance, write an application for a Sony Ericsson K-series handset, but it didn’t necessarily work on another K-series handset. A total nightmare for J2ME developers, although it kept them employed.

With Android, I’m crossing my fingers and hoping that developers will finally be able to write applications that will run successfully on any Android device without modifications to the source code - given that the devices all have the same hardware capabilities, of course, I do realize that Android can’t magically spawn GPS functionality in units without GPS hardware1.

One of the challenges that Android faces is device availability. As it looks now, there will only be one Android device available at launch, and it will most likely be the HTC Dream, also known as the HTC G1. My personal experience with HTC handsets is that they are not among the best of the breed, but that could be due to the fact that all the HTC handsets I’ve laid my hands on have been shipped with Windows Mobile. Thankfully, members of the OHA include handset manufacturers like LG, Motorola and Samsung, so there’s a chance that we’ll see Android handsets from these manufacturers as well in the no-so-distant future. It’s a shame, however, that Nokia and Sony Ericsson is not on the list.

The HTC Dream will probably be launched by T-Mobile in Q4 this year. I’m not even sure if it will be possible for me to buy an Android handset in Norway as T-Mobile is not operating a network here, but I’m sure going to try hard to get my hands on one. It’s time to replace my iPhone, which is getting slower and more unstable with every software upgrade Apple releases.

  1. Yes, and I do realize that it’s possible to get a device' geographical position by other means that GPS, but I was trying to make a point. Don’t be such a troll. ↩︎