Dion Almaer has an excellent post up entitled Flywheel: The Power of Keeping It Going. It captures the situation with Android perfectly…both the good and the parts that cause head-scratching.
Google’s projects, in many ways, are agile development writ large: release early, release often…where “often” is on an application platform scale, not a handful-of-use-cases scale. They release something, make a bunch of improvements (ones they planned and ones in response to usage patterns), lather, rinse, repeat — in other words, keep turning the flywheel, and momentum builds. In many areas, this model has worked well.
Take GWT for example. The initial release of GWT had a decent amount of functionality, was open source, but was not developed in the public eye. Later releases of GWT beefed up functionality (based on Google’s needs and user input) and slowly opened the kimono on the development process (bugs, source repository, etc.).
Today, Android is in the first cycle of this process. And this cycle is taking perhaps a bit longer than the average. But, more importantly, Google/OHA “played the open source card”…and so people are expecting transparency. Transparency, hopefully, will come with Android 1.0. That would fit with how GWT rolled out.
Is this a perfect approach? Maybe, maybe not. But, if nothing else, it gives us a sense that, despite any concerns over Google/OHA’s commitment, it’s likely that we’re just seeing the first few revolutions of the flywheel, and Google will keep turning it.
You want it to turn faster? You can push too! Write components and tools, publish tutorials, answer questions in discussion forums, and so forth.