Action bar

Goodbye menu button, hello Action Bar overflow!  Today on the Android Developers blog Scott Main, lead technical writer from Google, wrote up a nice piece of prose about how developers should migrate away from the traditional menu-button based way of designing applications.  You see, Ice Cream Sandwich allows for the folks designing phones to do away with all those buttons we've grown accustomed to at the bottom of our screen, and replace them with software based buttons built into the OS and apps.  It's something we first saw in Honeycomb tablets, where the need for menu buttons was removed by the introduction of the ActionBar class.  

Google wants developers, and in turn us users, to learn to love the Action Bar.  Scott gives examples of how the new Action Bar "overflow" (those three dots that replace a menu button in ICS) can replace what we traditionally needed a menu button for, and even how to build applications to use both methods -- developers don't want to forget all the devices that haven't been updated to Ice Cream Sandwich yet.  It's an interesting read for those who keep up with Android application interface guidelines, and a must-read for all you developers out there.  

Most importantly, Scott stresses that the application UI should have all the important  elements right up front for the user to see, and the overflow should be used for things not important enough to be on the screen.  He also gives instruction on how to make the legacy menu button not appear if it's not being used, and how to get rid of the whole Action Bar if an application doesn't need it.  As developers get their apps updated for ICS and beyond, we'll be able to say goodbye to those three dots we chase all over on "buttonless" phones and tablets.  That's a good thing.

Source: Android Developers Blog.  Thanks, Sebastian!


Reader comments

Google's Android developers want you to say goodbye to the menu button


You and me both.  After using ICS on both Nexus phones, I really prefer the buttons on the Nexus S.  Hopefully, hints like this will help apps get sorted out and I'll like it buttonless better :)

One problem I have with this and with the way iOS has been doing things is the screen real estate that ON SCREEN menu buttons work. Either the button is always there, or you have to scroll around to find it. I much prefer the old Android way of doing it where you just hit the hardware menu button and stuff pops up.

The ROM on my Galaxy Nexus has a menu button and search button always on screen in the soft buttons and they function the same way they did in Gingerbread. I'm not changing.

While I enjoy capacitative buttons, they aren't perfect. Google is doing a good thing here...a really good thing. How much real estate do buttons take up. How much extra power does it take to light them over the course of a day. I would MUCH rather have that real estate be multi-purpose rather than dedicated 100% to buttons. This being the case of when I'm gaming, watching movies or other full screen activities. Plus lets face it...its WAY to easy to hit the buttons at the bottom. I can't tell you how many times I hit them while I'm gaming or moving my phone or trying to type. Its BS and I'm glad they will be gone.

Right on. At first I thought the transition was weird, but the buttons do complicate things. Plus I too used to wonder about the power those things consume. They can be bright and obnoxious, so I ended up disabling them or setting a very short time. And I agree with you about how they get in the way as well.

I don't understand this line of reasoning but I see it a lot. The soft buttons are in the same place. You're just as likely to accidently hit them as any hardware capacitive buttons.

Kind of true. However, I've noticed that I actually hit the buttons far less on my Galaxy Nexus than I used to on my Thunderbolt. In fact, I almost never accidentally hit the buttons on my Galaxy Nexus and I used to always accidentally hit the buttons on my Thunderbolt. I have my theories as to why, but I'm not positive (software buttons can disappear, there's only 3 of them, and that extra space at the bottom of the Galaxy Nexus that very few phones with physical buttons have).

i don't have a problem with the action bar per se, but there should be some uniformity in where it's located. some apps have it at the bottom right, others at the top right - those 3 dots can be tough to see sometimes too.

Speaking of..

What about moving all of the buttons to the top? Especially for tablets. Im always using my transformer on my lap or belly when im laying down.

Am i the only one?

And I would hate them at the top. One of us is in the minority here, it would be interesting to know who.

How is slapping an Actionbar on top of the app screen "MORE SCREEN SPACE"?

The Android menu is versatile and that's what sets Android apart from iOS. Apps need as much screen asset as possible, unless you have a tablet-phone where space isn't a big issue. Adding the Actionbar would just clutter the app screen. Take a look at your current apps with menu. The menu is only accessed and brought up when you need to quickly access certain part or action of the app, then it's tugged away when no longer needed leaving all the beautiful space the app needs for the UI. The three-dot menu notation isn't really cutting it for me. It's ugly and kind of in-your-face all the time.

Try creating an Actionbar fitting this menu in it and see how it looks.

Its all fine and dandy except for us with Nexus Ones or other phones which won't get ICS or have software buttons. If developers take this to heart how does backwards compatibility work?

I hope there is a way to turn off the dedicated buttons when the EVO3D gets ICS. It's hard not to hit them when playing games.

i like physical button. Not capacitive or on screen, i want to know for sure that if i tap the home button, that i tapped the home button.

I have no problem with on screen instead of capacitive, but the omission of a dedicated menu button is a giant mistake. I dont need a recent apps button, and an action overflow is just dumb. IOS and its random menu button placement or lack of one in some cases is its biggest gripe with me.

I like the capacitive buttons (also more screen space), but I don't mind the software buttons either. My problem with it is it being on top. With the larger screens such as galaxy 2, reaching up to the upper right corner with my left thumb while holding the phone is quite a reach. So if they do it I would like to see it in the bottom with the other software buttons.

In almost any conceivable situation with my large-screened, ICS-running Galaxy Nexus, I would rather have the action overflow on the system navigation bar where I can reach it with my thumb.

I'll say goodbye to Android and Google before I give up my capacitive buttons! :( Anyway, all the more reason to keep my Thunderbolt for a long, long time! Well, that and the kickstand! ;P

I'm OK with the action bar function, BUT need exit/quit function at the top level. I get tired of backing out (over and over again) of an app, instead of a simple two touch/click consistent method which should be part of every app.

You don't actually have to back out of an app. Ever. Just hit home or recent and start something else. Android manages the open apps. There's almost never a reason to quit or exit.

So... ...the menu button moves from the bottom to the top...

Move along folks, nothing to see here.


...except when it doesn't.

Read around on some of the ICS impressions and you'll see there's a lack of an established standard for exactly *where* the menu stuff pops up.
Removing the physical buttons means Google will need an Apple-like iron fist ability to ensure developers all make the on-screen menus show up in the same manner across all apps.

Personally, I think this potential transition from physical buttons to on-screen buttons is a mistake, and I really hope enough users point this out to Google.

Case in point: I fellow I converted from iOS the other day freaked out when he heard about losing the physical menu buttons. His point? "It's one of the best features of the Android phone!!!"
I totally agree...

I'd rather have a 4.3-4.5" screen and physical buttons, any day. The ones on my EVO 4G have worked really well for me and I don't see any need to change.

It would be great if the placement of the Action Bar was user-configurable. It could be at the top, bottom or even one side, dropping out of sight until needed, like the task bar on Windows. I prefer more UI flexibility which is one reason I don't have a Mac or an iOS device.

To those of you that are against SW buttons in general, I'm curious to know if you've actually used them or not. I was one of those who, at first, wasn't too sure about them. Now that i have actually used them I think they're fantastic. I liken it to the transition from a hardware keyboard to a software one. The only "problem" I have is because there are no hw buttons sometimes i pick my phone up upside down and don't realize it until i go to turn the screen on. That's usually when I'm in a hurry and not paying attention.

I like buttons. I would love to add a forward button to go with the back button! The more buttons the easier it is to use any device.

With hard buttons you know what to expect when you push that button!

This is really annoying. Sure, I like the new menu button, but if Google isn't willing to require the new menu button on all ICS phones, this is just going to lead to more fragmentation. Many of the new ICS phone renders show a traditional menu button. Why should they use the new ICS menu button if the Nexus is the only phone that will take advantage of it? Rumor is the new HTC Sense 4.0 phones still have a a menu button. So now with some apps the hardware menu button will do nothing and on some apps it will work the same as before.

I love that Google is rethinking the UI. But they need to inforce some consistency or this is gonna get really messy really fast.

Android is an amazing platform because without saying it Google and the Android team admit that they need to evolve and refine the OS so it can be a choice for all and fit many needs and not just a few needs.

The other reason why Android is an amazing platform is that Google and the Android team have also recognized that they don't have all the answers for all users so it must refine the way its used so the user thinks beyond the basics of having a dedicated button with one use.

Much like Super Mario in the early levels jumps on platforms to get from A to B but by the end of the game jumping from platforms that fall after the first touch or flying adversaries elevates the player to ninja level proportions because their way of thinking evolves and the speed at which things are achieved increases ten fold.

All of a sudden your phone isn't just a phone, its a lifestyle synthesizer with limitless options and applications. This is what the iPhone has managed to capture and as much as I hate to say it Android as a platform should aim to better what Apple has achieved or perish when windows phone beats Android to it.

Lets not forget these phones we love so much are called "Smart Phones" not remote controls. I vote for progress and ninja skills

NOOOOO!!! They can't do it! The menu button is where i truely began to explore android. The captivate is my first android phone and i really started liking it once i found out you can hit to menu button and a various list of stuff pops up no matter what you are doing on the system.


Android always had too many buttons anyway. More complexity, more things that can fail on the hardware. Glad to see them go.

Keep in mind guys, the new lead UI director is Mathias Duarte, the guy that gave us WebOs's UI. You can expect Android to become MUCH more "WebOs-ey" in future versions. Moving away from hardware buttons was the first step.

Next you can expect screen gestures to begin to take much more prominence in UI interaction. Frankly, using gestures such as swipe up to open the action bar, swipe sideways to move between apps, and the "card" metaphor make FAR more sense and are much more intuitive than even ICS is. This is why I'm excited about Android. It's about to become everything that WebOS was supposed to be, only this time with Google's billions backing it.

Now if only Android had a simple "Developer mode" like WebOS to make "Rooting" unnecessary to mod the OS with, life in Android land would be idyllic.

Finally somebody who sees eye-to-eye with me.
Why so much hate for the ActionBar? As a developer and a user I have embraced the design. It's brilliant.

Not a big fan of Apple, but have to admit Google is finally catching up to iOS design decisions made years ago. Software buttons reduce hardware costs and complexity and takes up valuable device space. Not to mention different pressures needed to press hard vs soft buttons makes the experience inconsistent. I'm all for soft buttons. It allows bigger screens to fit on the same physical device space.

The issue isn't that they're getting rid of physical buttons, it's that some are becoming software buttons in the old location and one (important, frequently used button) is being placed in a totally different and inconsistent location when compared to the others.