Great point, and one I think of often. Unlike iOS, which just goes on a small set of devices, or WM7 that just goes on licensed devices with VERY specific specifications, Android is the "jack-off-all-trades" OS that goes of things from low end smartphones, to eBook readers, to dedicated media devices, to high end smartphones. The shear number of devices that run Android has to be three times any competing mobile OS, which means that any changes have to work on this complex market.
Desktop Windows manages to do it, and as you point out below, desktop Linux can accomplish it as well. And I wouldn't mind if Google were to put some sort of limit on what could do the acceleration, if it was 'Only 2.2 and higher' or anything like that, but they only have it on 3.0 at this point, and who knows when that that feature will get back-ported to the phones.
And that task is nearly an impossible one. Just look at what it took for the Linux desktop (xorg) to have a composite GUI:
GPU GUI on the Xserver acceleration started in 2004 when Keith Packard added the composite patch to Xorg after the fork from Xfree. David Reveman began working on XGL and Compiz around that time, and didn't release a workable beta version until 2006. Yet that beta version relied on XGL, which was basically running the Linux desktop like you would a video game. It wasn't until AIGLX became stabilized in open source and closed source drivers in 2007 that GPU GUI acceleration on the Linux desktop was finished (I am huge Xorg junkie, that is why I know these random facts).
So it took the Linux desktop, with many large companies like Novell and Redhat employing guys (who are talented in this area) full time for the project, 3 years to get a working composite desktop. I expect Android to take about the same amount of time- 3+ years.
I fully expect them to take more than 3 years. You said that GPU acceleration was started on Linux back in '04 and it wasn't until '07 that it was decent. How long had Linux been around before that without proper acceleration? (I don't know the complete answer to this) How many versions of OS X did it take to get it? And were there any without any GPU acceleration? IIRC, every version of OS X, from day one, had some degree of GPU acceleration, and that was as far back as 2001 (for public release). If that is true, then from day one, Apple knew that they had to work on the problem, and not just slap it on someday eventually.
The funny part is that by the time Google works all this out, there will be quad-core phones that give a smooth OS experience no matter what. In fact I wouldn't be surprised if that was Google's plan all along- just wait long enough and Moore's law fixes the lagginess problem without the pain that a composite interface would bring.
I find this to be an unacceptable answer and is probably a leading reason why I need a dual core on OS X to run Flash acceptably.
To me the saving grace of Android is that Google allows developers to replace major parts. So maybe the entire OS will never have real GPU acceleration, but Google doesn't stop the Operas and Launcher Pros of the world to replace essential functions with apps that CAN leverage that ability. That way different parts of the OS get fixed up by those who are best at that part, and those with weaker hardware can do without.
Yes, but my problem with that approach is the same problem I have with Compiz. 'Ooh, let's make windows that light on fire!' It is a really cool engineering problem, but what the hell is the point? Linux has already struck me as this sort of... not wasteland, but maybe... wide plain of half baked and
almost complete projects.
Some of us actually do prefer an engineering approach to design rather then a overly artistic one. The artistic approach might create what some people consider to be beautiful products but it can and does lead to functionally flawed products as well.
My point was that it cannot be all engineering. You cannot approach every problem (such as what shade of blue to use) and say, 'ok, how can we break this down and quantifiably prove that one shade is better than the other?'. My point was also that the opposite is also true, you can't just hire an artist and say 'make it pretty', you have to have engineering and art work hand in hand, every step of the way. They each need to compromise. There are not that many truly superb software engineers, there are just as few truly superb designers. Now imagine how few people there are that can effectively do both. So, you need to get a group of artists and a group of engineers and they have to work together.