Complete freedom in hardware sounds good in theory, but I see a big advantage for Apple in its uniform hardware, with OS X and with iPhone. It's a lot easier to ensure compatibility when there is a very restricted set of hardware being used. Just wondering whether there's anything practical that Android could take from this? A tighter set of standards on "approved" hardware, discouraging proliferation of hardware components for the sake of it? Of course it's open source, so people could still use it how they want, but it would be handy to know if most or all of the hardware has been tested and approved by Android developers - then the buyer is better informed. This might reduce (to an extent) the proliferation of hardware components used in phones, which would be a good thing in terms of compatibility, reducing hardware conflicts and flakiness. This idea comes partly from my experiences with Linux being flaky on certain hardware, and now from my experience with Galaxy S, which has lag and other flakiness. Also from the observation that corporations like to give us variety and tell us it's good, even if it's variety of crap. Not sure if this is a practical solution, but I do believe something is needed to improve hardware compatibility in Linux-based systems, including Android.