I love Android, I really do. I'm chuffed to bits with the Galaxy Nexus I won recently. I've had a dozen Android phones before that - stretching all the way back to the HTC Magic.
But it's getting obvious that Android has a serious design problem - even with the gorgeous new "Holo" theme for ICS.
The issue is one of consistency. Users have limited cognitive surplus and often rely on muscle memory to perform tasks. So anything which forces applications to behave in a similar way is often highly appreciated.
One thing which is bugging me about the Galaxy Nexus and ICS is the placement of the "Menu" button. This button is used to open up a program's options, or access its functions. It always used to be a physical key on the device - now it has become virtual.
A virtual key isn't of itself a huge problem - but the placement of it is.
In some apps it appears at the top of the screen, in others it's on the bottom, and on some the button appears in the virtual button bar. Take a look at these examples:
So every time you go in to an app, you have to search for the menu button and remember where it is for that app for that particular context.
What a total annoyance. You can't just remember once and get used to it - you have to check on every single screen of every single app. No reliance on muscle memory is possible. All very frustrating.
Now, Android isn't alone in this. I remember the last time I used iOS being frustrated with the number of different ways there were to delete an item in stock apps. Sometimes there was an icon (although rarely the same one), sometime you had to swipe, sometime you had to tap-and-hold.
It's a symptom of a lack of strict guidelines. I've worked on a project where - due to no one person being in charge of UI - we ended up with six different icons to represent delete - one of which was identical to the "close window" button!
It's one of those tiny little stumbling blocks which gradually builds up into the user resenting the interface. This is the sort of mistake that professionals in the UI / UX field should not be making.