Thursday 10 January 2008

Android

If Android does well in the mobile phone arena then it will pretty soon move to set-top boxes and, eventually, perhaps even as a native OS on a PC near you.

I've been looking a little bit at Google's Android OS for mobile phones. It seems to use a Be-developed technology called OpenBinder that puts a rich object layer between the kernel and the applications (including the OS-level applications themselves). OpenBinder handles threading and IPC too, and seems to make it natural to use a multithreaded approach to the UI - something you're explicity told *not* to do in the less-capable UI development environments that I'm used to.

Just read this fascinating interview (with Dianne Hackborn, a key engineer in the creation of PalmOS Cobalt) for much more about OpenBinder — a name that I think we're all going to hear more often in the next few years.

One of the most intriguing paragraphs in the article is where Dianne states that OpenBinder lets "an application ... put parts of itself it may not trust (a web browser UI, video player, etc.) into a separate process without any visible difference seen by the user". Now let's think... Who might want to be able to have applications distributed between your mobile phone and its own hyperfarm of servers... Why, Google might! If you think of the way Google's been going with online disk space and online apps for your browser, it's not so far fetched to think that one day soon those browser apps might just be front ends for OpenBinder objects running natively on their server farms, and that you'll also be able to access them from your mobile phone — not just from your mobile phone's browser but from its native applications too.

Dianne states in the interview that the Be engineers hadn't yet network-enabled OpenBinder. I presume Google have rectified that situation. Hmm, I would dearly love to know if perhaps OpenBinder forms part of the heavily-modified Linux distribution that they are supposed to run internally. It may be one of their secret weapons against Microsoft: a better .Net than .Net...

I also wonder if the use of OpenBinder is linked to the "All applications are equal" philosphy that developers were shaking their heads over when the Android SDK first came out.

And then, and then... If Google know where your phone is, they also know who else is nearby, and applications could potentially distribute themselves over a nearby mesh of mobile phones. Great for games and business cards, less good for your medical records.

It also becomes apparent that the mobile phone "emulator" in the Android SDK could turn out to be a Trojan horse against Microsoft. There's nothing that limits OpenBinder to a quarter-vga screen. I doubt there's any hard limit in the rest of the Android SDK either. So, what if some genius hacker changes it to a 1280 x 1024 display? Suddenly you've got a VM and a UI as good as anything in Java or Flash/Flex running full screen on your PC, with network communication and distributed execution built in.

If you read to the bottom of the article linked above, you'll see that Dianne went on to work at ... Google. Hmm. We're used to thinking of Microsoft as the ocean, isolating and gradually drowning out everyone else. Suddenly they look as though the water is rising on them. There are already more mobile phones than PCs; if Android does well in the mobile phone arena then it will pretty soon move to set-top boxes and, eventually, perhaps even become the native OS on a PC near you.

No comments:

Post a Comment