Gruber at daringfireball writes, in a post about android vs iphone as a platform
"The big advantage Apple has with the iPhone is that they control the entire product, top to bottom. The case, the chipsets, the OS, the user interface.".... "Google’s dependence on hardware and carrier partners puts the final product out of their control — and into the control of companies whose histories have shown them to be incompetent at design and hostile to users."
Moreover, it's not just a big problem from a user perspective, or the quality of the end product from Googles point of view. It presents an even bigger problem from a development point of view too.
Developers working on android apps are put in a position where they need to guess and program for different physical UI scenarios (none of which actually exist in the wild, yet):
Does the target phone have physical buttons?
What is the button configuration?
Does it have a touch screen?
What about different resolutions?
What sensors do you code for? camera? accelerometer? proximity? touchpad?
It's hard enough to code effective UIs for a unified platform - coding for different hardware UI configuration adds complexity which is an order of magnitude harder to do effectively. and it presents a problem for the end user market too - in disseminating the platform (educating: how to use the platform, what does the user expect from the platform, what is the BRAND experience from an android phone? is there one at all?)
Google's approach, as determined by Google's GOAL (proliferation of an OPEN platform so there is no way for one company to lock access to the web) is to let the market decide
. this is great, and very democratic, but when you look at the way major platform evolve - you see that standardisation takes TIME.
If you look at platforms that have a differing hardware UI footprint to them you see the problem with this approach pretty clearly - the web is the classic example for resolution based problems - even now, many websites don't scale well on differing resolution screens - and most sites are coded to a standard resolution (around 800 pix wide or so) - which took time, around 10 years to get too.
In the PC world the market standardised itself over the course of ten years on keyboard+mouse.
If you look at Linux (and earlier on the fragmentation of UNIX which allowed Microsoft access to the enterprise market through "divide and rule") you'll see why many standards (UI toolkits, package management, dependencies on different libraries, different shells) = no homogenised platform which allows for the more perceived cohesive platform to win in the market place.
no homogenised platform = no advantage to android as a recognised platform.
this is not to say that android won't be a huge success, I think it will, but it's going to be a different kind of success then the kind of success that the iphone will have (and has) as a development platform - it will probably kill the OS licensing to cellphone makers market, kill data access crippling by the carriers and this way will remove a big threat to Google's core business model. but I doubt that android will sustain a long term development community and hardware platform in the way that apple's iphone is likely to achieve.