That all being said, I see ICS as a watershed moment for Android. I personally still prefer iOS but with ICS (at least with the native Google experience rather than the crapware layers most handset makers put over it) I think it's reached a point where I think it's a reasonable choice for, say, (non-techie) friends and family.
This all reminds me of the mouse a little. The Mac famously persevered with one buttons but the Windows two button mouse clearly won (even OSX has context menus). Even so, I have a hard time explaining to people about right-clicking so it's problematic. On iOS at least I think the single button is just fine, even preferable, and certainly far easier to understand and more consistent.
I don't disagree that the right mouse button can take new users a while to come to grips with.
The trade off of course is that even in moderately complex tools, a single button can't provide all of the actions a user would likely want to do. In the Mac world this was historically resolved by burying functions under layers of unmemorable keyboard combinations...e.g. command+shift+t or some such or in menus in the menu bar.
So the question then becomes, who do you optimize your interface for? The new user that can barely understand the abstraction of moving a physical device that's loosely mapped to screen coordinates? Or the user that needs to get-stuff-done-and-after-all-won't-be-a-new-user-all-that-long.
I personally think this move away from the menu button in Android land is a mistake. I already have issues with it on my Tab. With the software button showing up all over the screen or not at all.
They're "hardware" buttons in that they're hard-set in the hardware, but capacitive. The Galaxy Nexus has done away with even "hardware" buttons, the three black-on-white keys at the bottom are OS soft-keys and displayed on the screen, they're not even a separate and hard-wired area anymore.
Such a shame that Palm/HP let Duarte go. He's really bringing the best of webOS to Android. The classic webOS experience (which was a little muddled up with the Touchpad) only had buttons for power and volume. Everything else was done tapping or swiping on the screen or gesture area. Now, Duarte is doing away with hardware buttons on Android and who knows, maybe a gesture area is next.
Besides, I really loved Web OS UI. It was built for user-friendliness from the ground up and brought some very bold design decisions to the table. It sadly never took off.
These are the kind of fragmentation issues you're going to have to bite.
Fragmentation over whether a phone has or doesn't have a menu button is of no relevance. This app(1) for instance works both with the Action Bar, the software menu button and the hardware menu button. I only had to point the onCreateOptionMenu method to a single XML, and the ICS SDK did all the defragmentation work for me. It works fine from Froyo to Ice Cream Sandwich, on tablet, on phone, on KindleFire.
(1) shameless plug: https://market.android.com/details?id=com.fairyteller.icanre...
The Action bar, although in a limited manner, can also be implemented in older versions of Android, so from a coding perspective, there's nothing terribly scary about it.
Although I've read about poor UX experience with the action bar in that its too close to the space bar so you often end up hitting the soft buttons accidentally when typing 'space'.
Oh. Wait. That's like 99.999% of all Android phones.
This is just another wrench thrown into the cog of advancing Android development. They pretty much have to break all their conventions before moving forward which is a pain in the ass to work through.
Also, if Google actually cared about it's developers, wouldn't it make sense for them to back this decision up with an official library to support an action bar on other OSs? There's third party libraries that you can use but it just goes to show again that Google just doesn't really care which state their developers are in.
Google Kills Android Menu Button, Replaces It with Action Bar
Content fetched 0 seconds ago