RIP Menu Button: Android 10 drops legacy support for extremely old apps
A lot of us on this website have been long-time Android users, lurking around since the days of Froyo and Gingerbread. Back then, smartphones came with physical buttons (gasp!) for UI navigation: namely the Back button, the Menu button, the Home button, and the Search button. The physical press buttons made way for capacitive touch buttons, and the Search button was also dropped by some OEMs — but the general idea of navigating through the UI and apps with the other three dedicated buttons persisted across the Android world at that time.
With Android 3.0 Honeycomb, Google pushed for tablet makers to adopt software-based on-screen navigation buttons instead of physical buttons and introduced the ActionBar as the standard solution to make actions from the user options immediately visible and quick to invoke. The idea of the “Menu” button had also evolved into an “Action Overflow” button, indicating a button that retrieves actions that cannot fit in the Action Bar; users still continued to refer to it as the Menu button though. Honeycomb also introduced the Recent Apps button for tablets, while Android 4.0 Ice Cream Sandwich pushed this onto smartphones. The iconic 3-button navigation bar comprising of Back, Home and Recent Apps was thus born, leaving behind the dedicated Menu and Search buttons.
Having a dedicated Menu button led app developers to adopt poor design choices, as developers were rather careless about what actions were shown on the screen and what were in the menu. Back then, users would be subconsciously tapping the menu button, hoping to find more options that would have been useful to them, which was unwanted and wasteful behavior. So the Action Bar was introduced to bring about more design consistency as it advised developers to place most important actions on the Action Bar directly or elsewhere on the screen, and only those actions that did not find a place there would end up in the Overflow button.
However, back then, many apps that targeted Android 2.3 Gingerbread and below had yet to update to show menus on-screen, so users without a dedicated menu button would have had no way to launch the menu. Google addressed this by adding a compatibility behavior for legacy apps that allowed the system to display an action overflow/menu button beside the system navigation buttons on apps that supported only Android 2.3 and lower.
This legacy support has extended all the way from Android 3.0 Honeycomb to Android 9 Pie. But with Android 10, Google has finally pulled the plug. Android apps that target Android 2.3 or earlier will now no longer have a menu button shown on Android 10, and onwards. In response to a bug report that highlighted the removal, Google confirmed the removal:
This was intentionally removed as the API has been deprecated for several releases now. So, this is working as intended.
This decision will affect a very, very small number of users who have continued to rely on ancient and long-abandoned apps — if it works, it works, right? If you are one of those that have suddenly found that one of your long favorite apps no longer is able to show its menu, perhaps it is time to move on and look for newer alternatives.