I realized this morning what Google's Android initiative reminded me of. Not the iPhone, DOS.
If you look at the handheld development market today, it looks disturbingly like the 8-bit computer market from the early 1980s:
- multiple incompatible APIs
- multiple chipsets
- multiple peripheral mechanism
- multiple UIs
What IBM did was to create a piece of hardware which everyone bought into. And built it out of generic enough parts that it could be cloned. I'm not sure who the equivalent player this time around.
More importantly, however, Microsoft made DOS the standard API set for all of those clone manufacturers. Software developers could now code for IBM machines and have it works on a thriving infrastructure for all flavours of clones.
Google is attempting to follow the same model by creating a compelling, large, consistent set of phone with a standard API. They're giving it away, in the same manner that Microsoft (inadvertently) did in the 1980's.
This is the game that is afoot. From this standpoint, the iPhone is the Amiga: beautiful, functional, better than everything else, and doomed because it doesn't have the API.
It is also important to note that while it isn't clear that Google will succeed at this, Microsoft is certain to fail. Handheld application development on Windows Mobile is a freakin' mess. And each successive generation of the product gets worse, both from a UI and an API standpoint.
This also explains Java as a development environment: it is the VisualBasic of today. The goal is not to enable the l33t haxxors using Ruby and OCaml and Erlang. It is to unleash the masses of coders that need to write a quick little application to make your barber's appt book link up to his chair scheduler.
Android = DOS
And yes, as mentioned before they are using JVM which means you aren't limited to a single language(Java).