Originally Posted by ConradJoe
Good stuff. Thanks.
WRT your middle paragraph, I wonder whether your first alternative is possible on single-core processors? If not, is that why Android doesn't currently use that mode? Can it be installed to work that way only if a multi-core processor is available?
Apple's method makes sense, but I wonder if they are shooting themselves in the foot in the long run, as hardware improves.
Yep, you're right. That's the catch.
You can make the UI smooth as glass if you dedicate all of your hardware to the UI first and foremost, which is what iOS does. Android takes a different approach and says, "Let's try to keep this as responsive as possible, but also perform work in the background so other things keep happening."
Both are interesting solutions. Android (generally) has more going on in the background, and can "keep working" while input is being handled--and as hardware improves, that only gets better. The problem is that this system is still subject to periodic stutters, even if minor, which are visually annoying.
For example, on my Evo 4G, the phone performs great. However, when I'm scrolling through a massive post on Google+, it will "stutter" every few seconds, as the UI thread is shared with the background processes. That stutter breaks the "immersion" that iOS users have.
It's an interesting problem, because if Android operated like iOS, then regardless of hardware available, everything else stops for the UI. 5x 4.0Ghz quad-core CPUs and 32 GB of RAM would all stop for the UI in iOS; Android would try to leverage everything as best it could, but at the sacrifice of ultimate smoothness and immersion.
I'm mixed on how I feel.. which is why I'm interested in what Google comes up with. Android J____ is going to be interesting.