Facebook for Android

By now you've read and watched our HTC One X review, and know all about HTC's decision to use capacitive buttons instead of on-screen buttons. As a fan of "real" buttons, I'm glad to see it, though many aren't. That's neither here nor there. The decision was made, and HTC has delivered what may be its best smartphone to date with three capacitive buttons.

And some applications are a mess on it.

The Android development team has already chimed in and said that developers need to abandon the legacy menu button in favor of new controls on the action bar. Some have done so, but as you can see in the image above, some have not. The three-dot menu symbol just hanging there all by its lonesome just looks bad, but is needed because the Facebook app hasn't been updated to use buttons and controls in the action bar. When the Galaxy Nexus came out and used on-screen buttons, this wasn't that big of a deal. Other than the three dots being in a different place on different apps (as mentioned, some have been updated and use the action bar), it didn't disrupt the way apps looked on the screen too awful much. HTC's use of capacitive buttons changes that, and not in a good way. On the other hand, developers aren't giving HTC much of a choice.

Galaxy Nexus  One X
Samsung Galaxy Nexus on the left, HTC One X on the right

A quick look at the latest version of the FlightTrack app shows the difference well. On the Galaxy Nexus, you only have to deal with the menu button being placed with the rest of the OS controls. It's almost intuitive, as we're used to seeing a menu button on the bottom of our Android phones, but it would be best if it were in the action bar as is intended in ICS. A look at the same app running on the HTC One X shows us why. Like the Twitter app above, that's 48 pixels of screen space that could be used to show content and not dots. And, frankly, it looks horrible. We understand that something had to be done, as many apps would be unusable without access to other functions and settings. But it still looks really bad.

Ice Cream Sandwich was designed for the use of either on-screen buttons or capacitive, so HTC is off the hook for this one. They followed the guidelines laid out by Google and built a device that maximizes screen real-estate the way they felt worked best. Now developers have to follow suit, or the experience suffers. Google has given examples and code snippets how to make the change, and it's time application developers take them to heart.


Reader comments

HTC One X shows us why developers need to lose the menu button


cool, ive been asking ever since these phones were announced, what happends in an old app that needed the menu button, now i know... you get some ugly bar at the bottom of the screen.

In 12 months time i might have a phone with real buttons, as then the action bar should be on most phones, until then il just stick to my GS2 running cm9 with an actual menu button.

Only on this device as it lacks a dedicated menu button. Other devices (like the GS2) won't display that ugly shite as the function is mapped to your menu button.

These guys just decided to make a dedicated multitasking button instead. So instead of bringing up a few dots to the side of your on-screen buttons (using up no additional real-estate) or mapping the function to another dedicated button, it now shows up like a hang-nail. A hang-nail that you want to punch in the face.

I find your comment about using no additional space interesting. The Menu button on the Nexus uses no additional space because losing that space is the rule. You almost never have that space on the nexus.

In retrospect, by using the actionbar, the same amount of screen real estate would be taken up, just with a bar at the top with three dots. Oh well.

exactly. google isnt doing away with the legacy menu button. theyre just moving it so its more a pain to use placing it at the top away from all the other buttons at the bottom.. o_O?...

The action bar can be found on top of the screen or bottom....the reasoning is so that menus are not hidden giving the end user a better experience. If you have an action bar your not loosing any real estate because it would be useful with different settings in it...on the other hand there is a black bar that has three little dots that take up the screen when 10 pixels would be efficient and this would also give the end user more information on the selected app

Except the buttons in the nav bar are universally applicable while the menu button may or may not have any function in some activities.

Open the Market on an ICS device. The action bar at the top contains the title, icon, search, and overflow. 

Now open the Twitter app on an ICS device. Look at the vast amount of empty space on the app header bar. This is where the Action bar goes.

Now Imagine the Twitter app on the One X. 48px up top for a mostly blank header, and 48px at the bottom for the legacy menu.

Jerry, look at the app in your article, FlightTrack. That app has no title bar or action bar. Where is that developer supposed to stick the "action overflow"? Is he/she supposed to add a title/action bar with the app's name and a search icon just to add a menu? This is a complete waste of space that would work much better with a dedicated menu button. I've always been a fan of android's use of a menu button and long-press-and-hold as a de-facto right-click. Both are very intuitive for a PC user which nearly everyone with a smartphone is familiar with.

That said, Dev's do need to lose the menu button. I may disagree with Google's decision regarding the no menu button UI, but now that they have decreed it, Dev's need to get up to speed and make their apps useful under a new paradigm.

It sucks but it is what it is.

i blame htc. if they knew they were gonna use capacitive buttons instead of onscreen buttons they shouldve mapped all 4. they knew that the onscreen menu button would present itself. I didnt make the phone and I knew it wad gonna happen do why wouldnt they?...

I would also like to add that I am a fan of real buttons and capacitive buttons are not real buttons... i would rather have real buttons or onscreen buttons but not capacitive..

Google says not to use a menu button as a best practice. HTC did exactly as instructed. 

HTC does a lot of thing I don't like, but this time around they did things the right way.

sorry, let me rephrase. I blame htc for using 3 buttons and google for telling manufactures not to use the menu button.

its not like google is moving away from using it. they just want to rename it from menu to action and place it on the top away from the other buttons...

If your gonna use onscreen buttons use onscreen bottons. If your gonna use physical or capacitivr button dont use a mixture of both

for that, we're on the same page. I would have liked to have seen the menu button configuration (and off screen buttons, whether capacitive or physical) remain.

That's not entirely true, while MenuItems aren't going away, the old-style OptionsMenu and menu button are. The MenuItems are now to be displayed in the ActionBar. This gives you a few advantages.
First, you immediately know whether or not there are MenuItems available. There's no button that just sits there and does nothing.
Second, it allows high importance items to get more visibility. Rather than being hidden behind a button or menu, they can be displayed directly on screen. The more screen space you have, the more items can be displayed.
Third, MenuItems can be more than just simple labels or icons. They can be entire Views that change and react. You can't put a SearchView in the OptionsMenu, you can put it in the ActionBar.
Fourth, it provides an consistent area dedicated to navigation. It's not just MenuItems in the ActionBar, you also have various navigation modes, as well as the up/home button.
Lastly, it provides an opportunity for additional branding and app-cohesiveness. Since the ActionBar can be styled in ways the old OptionsMenu cannot and has a place for an app logo or icon, it provides an additional way for apps to tie themselves together.

I think the fundamental issue is that you think that the Overflow menu is exactly the same as the old OptionsMenu, and it's not. The Overflow menu is only for MenuItems that do not fit on-screen. Its content changes and adapts based on screen size and orientation. The OptionsMenu's items were fixed. They didn't just move the button from the bottom to the top, they fundamentally changed how MenuItems are displayed and what they are capable of.

I totally agree. HTC blew it with the 3 capacitive button design. It's why I'll be skipping the One series for my next upgrade. They should have either designed the menu button in or gone with on screen buttons.

Google may be trying to phase the menu button but stock ICS certainly fails over more elegantly than the HTC implementation when a menu button is required.

While we are on the topic of taking buttons away, the removal of the search capacitive button is problematic as well since some apps (eg K-9) were developed with the "old" standard where a search button option was guaranteed and therefore not even included in the menus.

That's where on screen buttons are perfect because it allows you to install a different launcher and reverse questionable decisions Google made like taking away important buttons. With capacitive (or physical) buttons you're locked in.

I don't understand the appeal of on-screen buttons; they occupy screen real estate that could be used to display content. I understand they can be hidden, which is fine, but when you need to interact with an app, I don't see an up side to them.

Consider that this is space that would otherwise be filled with capacitive buttons which cannot be hidden. You're not going to have that space available to apps no matter what. The difference is that in cases where you don't need the buttons they can go away and make room for video or whatever else. It also means that the buttons can be in a consistent location regardless of the device's orientation. No matter how you rotate it, the buttons will always be on the bottom in portrait and on the right in landscape (on larger screens they will always be in the bottom left no matter the orientation). It means you can rely more on muscle memory rather than looking for visual cues.

On my tablet the onscreen buttons disappear and leave a black bar in movies or other full screen apps. Not sure what the advantage is there.

That's because a tablet already has enough screen real estate so the buttons disappear in order to be less distracting. In the case of tablets they only serve two purposes: to always stay on the bottom and to be un-intrusive when viewing things like movies. Oh, and to show additional hidden functionality (the menu button) when needed.

If you took the task bar (if that's what it's called, I don't remember) and made it capacitive buttons then what would happen: turn it upside down and your buttons are now at the top and upside down. Watch a movie and they're still there shining at you, removing from your visual experience.

You guys need to make sure you're seeing it the right way: with onscreen buttons they EXTEND the screen. For most purposes the Galaxy nexus is a 4.3in device. The only thing Samsung did wrong was give the Nexus so much bezel below the screen. It makes it symmetrical, but kinda removes some of the point of onscreen buttons.

I don't know what device you're using but on the Galaxy Nexus viewing YouTube and Netflix videos, the on-screen buttons shrink off -screen and the movie expands to completely fill the screen.

NOOOO! This is an example of why we need to keep the HW buttons, not do away with useful concepts like the menu (or action bar, tomato-tomahto).

I am really upset by these two design choices in ICS.


I disagree. F*ck physical buttons. Manufacturers need to move to on screen buttons. Its jusy cooler that way. Again Fragmentation. P.S. I love my Galaxy Nexus

Cool is a matter of opinion, but there's no denying that it's more effective when used correctly.

Bottom line is they can change based on what you're doing and how you're doing it. Capacitive buttons can't.

MenuItems are still there, they're just changing how they're displayed so that there's less of a learning curve. As a developer you wouldn't believe the number of feature requests and market comments I get about features that already exist behind the menu button. By moving them into an ActionBar they become much more visible and the user immediately knows whether to expect additional functionality (rather than pressing the menu button not knowing whether it will do anything).

Cooler? Really? I'm pretty sure that function should be top priority on our very expensive devices. Now that you have proven you know nothing and are into android simply for its cool factor move on.

Honestly, it kinda pisses me off that Android is going away from the Menu button. That's an Apple thing to do. I think every screen (or at least most) SHOULD have a menu option. That's how my mind thinks and part of why, no matter how "well made" iPhones are, I will never go there because of their one button nonsense. My brain doesn't think that way. It's just like the right click on PCs verse Macs. The way my mind thinks is that there should always be more information about what I might click on. When I heard ICS would move away from physical buttons I thought it would make it to where they could customize those buttons, change the search button to something app specific, change the menu button to something more applicable, but not to drop a button!? That's going backwards! I love when my soft buttons disappear when I watch video. I want less bezel and not more. I went from a rooted Droid 1 to a Galaxy Nexus and I guess it's time for me to root again so I can bring back the menu button!

The Menu is like the right click on desktops -- without it, I feel powerless and frustrated. As if I'm walking in a narrow corridor with only two possible directions -- very one-dimensional and claustrofobic.

I seriously think PC & Mac users and Android & iPhone users have their minds wired differently. If you don't have a menu button and the app needs a menu, guess what you have to do...take up actual screen real estate with a menu button! How is that optimal?

Interesting analogy. I actually use a Mac (although I was a PC only user up until last fall but switched to mac since it allows me to use both....what I like options). The mac may have a single button, but it all depends on how you use it. The right click functionality is always there, it's just an aesthetic thing (in my opinion)

On to the nexus, what's the point of a menu button. The menu button is there when it serves a function. If it isn't needed why have it there?

The only thing that I actually disagree with is the placement. They could leave it near the bottom so that it's easier to reach on bigger screens, but still follow the same concept.

The reproductive system isn't used all that often during the day, but i bet you'd rather have it taking space than not have it when you need it.

How about the third method of ICS implementation. My GS2 is running ICS and its three buttoms are mapped as so:

Back button
Home button
Menu botton/Application switcher

Long press on the menu button and you get the app switcher. I havent used the Nexus so Im not sure what the "action button" does.

Using flight track for comparison, I get no three bars and the menu button works as it should.

Sounds about right, but we have the app switcher on long press on the home button even now in GB. What was the point in giving it a dedicated button, or changing the button?

ok, keep app switching on menu like it's always been. What about making it longpress menu for search/voice commands?
ICS isn't getting rid of 1 button. It's effectively gotten rid of 2.
People seem to forget about the seach button. I use it frequently

Cooler as in have the centimeter or whatever of height that the buttons take, be all screen.Full-screen apps --- like video players --- have more screen. Or the phone is smaller.

The physical buttons don't need to take up much space -- just look at the Sony Xperia phones.

Mechanical buttons take less space than capacitive, too.

Thanks, I'd missed that design idea. I like mechanical buttons too, just like the biggest screen I can fit in a shirt pocket. Sounds like I agree with the basic ICS design gripe here.

I agree, it's the same on the Thunderbolt. The top and bottom bezels are highly minimized yet the bottom easily holds four capacitive buttons (Home, Menu, Back, and Search). Now look at all the wasted space on the Galaxy Nexus bezel, an area that could easily contain either physical or capacitive buttons without making the phone larger in size. As it is, I just don't get the push for on-screen soft buttons and how they move around.

Ios apps have some wacky places they stick miscellaneous options, invisible bars and guessing how to close certain panels..

i dont mind if google doesnt want the menu button, but picasaweb, gmail, buzz, plus, health.. turnover of ui or the service altogether is getting a bit frequent for my preference

They should have just kept a menu button. Wait at least a year to ditch that since so many apps use it. I like that capacitive buttons freeing up screen real estate for content.

The menu button was just part of Android. I think it was stupid to remove it. It was never a complaint I heard from anyone. You always knew where it was and knew that is contained selections or options for the app you were using. Now, we get to hunt around for something not called a menu but is actually a menu that may or may not be present in apps. Way to go google for making your OS more fragmented than it already is.

I find the on-screen buttons to be great on the GNex. Why?
1) More responsive than capacitive buttons
2) Regardless of the phone's orientation the buttons remain right-side
3) When watching movies the buttons slide away and the movie or video fills the entire, rather than appear sideways and remain lit like capacitive buttons.
4) The recent apps button is now heavily used by me because it makes multitasking on ICS so easily and powerful

"Ice Cream Sandwich was designed for the use of either on-screen buttons or capacitive..."

The problem isn't that they used capacitive/hard buttons. The problem is the choice and the number of buttons that HTC used in this way.

The point of the on-screen buttons was to be able to drop and add buttons as they fit in the application. Doing away with this in an ICS phone is not only ridiculous, it's completely ignorant to the way the phone's OS functions. But hey, I get it, some people want hard or capacitive buttons instead of on-screen. That's not even the real issue here.

When the Google team allowed for capacitive/hard buttons, they probably had the last-gen OS button layout in mind. That is if it's 3 buttons, it'd be Home, Menu, Back, with an optional 4th Search button. This allows you to long-press home to access the multitasking features like you were used to on Gingerbread and before. But instead, HTC lost their damn minds and decided upon Home, Back, and Multitasking, which leaves Menu/Action Overflow nowhere to go but in an awkard place on the screen. It's bizarre. Whoever decided that should be fired.

The problem in this case isn't developers not updating their apps. That's (potentially depending on the case) another issue entirely, but all that does on this phone is highlight the stupid design decision made by HTC to ignore the functionality of the OS entirely.

I'm sure there's a few Android engineers pulling their hair out and cussing under their breath (or maybe not so much under their breath) at this disasterous decision on an otherwise beautiful device.

You can shake your fist at thousands of individual developers who haven't (and in many cases never will) add special code to their apps to accomodate Google's current vision for this week, or you can avoid buying a phone with a missing physical menu button.

I know which way I'm going.

iOS anyone?.. Sorry, had to say it. What the f*** Google, make something original for f***'s sake... I Trust You! Don't let me down!

This could of been prevented if they just used onscreen buttons, so once developers get rid of that menu button, the problem will be solved. Use that extra space for more screen real estate for the onscreen buttons.

Everyone! Email the Facebook developer from the Android market with the screenshot from the post! This will give the developer support for updating the Facebook app to ICS. The developer's email is android-support@fb.com

But you also have to realise that small touch buttons won't take up as much space ad an entire screen, and can occupy the bezel

But you also have to realise that small touch buttons won't take up as much space ad an entire screen, and can occupy the bezel