Opinion: Menubars are Good

Share

It's my humble opinion that menubars are good. Any application with a menubar is infinitely better than any without. No exceptions.

Conventional Power

Menubars provide a conventional method for listing all the functionality of an application. They are the universal entry point for a new user to find and learn what an application is capable of. No user manual is required, just browse the menubar and you'll know what the application is capable of.

An organized menubar that follows known conventions helps new users quickly find the functions they're looking for even in entirely new applications. Where do you expect Undo, Redo, Cut, Copy, Paste, Paste Special to be found? Probably in the Edit menu. Where is Preferences... and Edit Keyboard Shortcuts...? This could be in File, Edit, or Options. How do I know which version of the application I'm using? Just check Help -> About. All functions listed in this paragraph are universal—every application will have them in one form or another—therefore, every application needs a menubar.

A window with pixel art being edited.
A screenshot of GraphicsGale, a pixel art editor. An application that has a menubar. I bet you can open and save files in it even if you use the Japanese version. Image source: https://graphicsgale.com/us/.
A screenshot of GrafX2. How do you save in this thing? Pixel artwork by d9nis.

Applications that don't have a menubar always end up trying to reinvent the functions of the menubar in an inferior way, which is a constant reminder and proof that menubars are the ultimate menu paradigm. It doesn't get better than menubars.

Text vs. Icons

A common attempt at reimplementing the menubar in a way that is clearly worse than a menubar—and yet somehow the developer doesn't realize this—is to attempt to place MULTIPLE different buttons with icons that display a dropdown menu around the top area of the application.

A flat light grey colored window with two panes: a left pane listing feeds, and the main pane listing articles in a grid feed of 4 columns as cards with large thumbnails of photos above the title and other information.
A screenshot of Fluent Reader, showing posts of the RSS feed of a blog from Tumblr. Observe how there are several icons at the top of the application that mimic what a menubar would be. Blog: [https://www.tumblr.com/doingitfortheexposure]

To me what that says is that you want a menubar, but you think icons are better than text. You are wrong. A word is worth a thousand images. There is no icon in the entire universe that says "Delete" better than the letters "DEL." Not a trash can, not a recycle bin, certainly not an X button. You just want "delete."

A window titled "Home." The menubar contains File, Edit, View, Go, Bookmarks, Help menus. An address bar with a left arrow, right arrow, and up arrow buttons, next to a set of three buttons, one being a left arrow button, the middle being an icon of a house labelled virtual-curiosities, and the right being a right arrow button. At the right side, five icons whose purpose is difficult to tell: a "return" shaped arrow, a magnifying glass, four squares forming a larger square, 3 squares at left of 3 lines, and 6 small rectangles. On the left pane, a list of locations to navigate: My Computer (expanded) including Home, Desktop ,Documents, Music, Pictures, Videos, Downloads, Recent, File System (with a filling bar under the label), Trash; Devices (collapsed), Network (Collapsed). The main pane has several folder icons, most with a matching icon on the folder: Desktop, Documents (with a paper icon), Downloads (down arrow), Musci (music note), Pictures (camera), Public (3 connected dots), Templates (fading paper icon), Videos (reel). At the bottom, a status bar with 3 buttons at the left, the message "8 items, Free Space: 39,1 GB", and a slider at the right.
Nemo's main window, displaying a user's home directory. You see that icon next to the magnifying glass? With the arrow? I have absolutely no idea what it does.

For a well-made application, there are no additional costs in using text. Since if you use an icon, you are going to need a tooltip for the button so people know what that ambiguous collection of monochromatic pixels you put in there is even supposed to mean without clicking on it. That tooltip will need to be translated, so you just ended up with icon AND text when you could have just had only text and saved yourself some work.

To make matters worse, open source applications, specially those made with GTK, have a tendency of using generic icon names for their icons to enable theming, which means that you often end up with icons that have different semantics across applications, e.g. the left arrow icon meaning "undo" in editing applications but "go to previous" in address bars.

This is the opposite of what menubars enable. While with menubars your knowledge is transferrable across applications, with icons your knowledge only leads you to error.

Discoverability

Menubars' ability to allow users to discover new features can't be understated. Even seasoned users of an application can discover features they never dreamt of by browsing the menus on the menubar, which is a fairly common occurrence as users generally don't go through the effort of browsing through an application unless they encounter an issue with it—they'll simply use the application in a way that works for them and stick with what works.

For example, many video players have the ability to take screenshots of the video they are playing, or loop a small section of the video by setting start end end markers (sometimes called A-B markers). These are features that might be useful someday that you'll normally never need in your life. In video players that place the looping feature in menubars, such as MPC-BE, it's easily discoverable. I've never needed it, but upon browsing the menubar I quickly found it. Meanwhile, VLC, despite having this feature, hides as a button that only appears when "Advanced Mode" is enabled, ensuring users never discover it by accident.

Some application developers mistakenly believe that the VLC way is how the entire application should be. Every single function must be hidden in a panel that only appears when you press a button, which itself may be hidden in a dropdown somewhere completely unrelated. This simply creates a maze of functionality that nobody can ever find. More importantly, all you have done is recreate the menubar -> submenu system, except that instead of everything being in a single place that is cohesive in location on screen and organized, it's scattered around the screen.

Surely nobody expect users to just go around clicking on buttons to figure out what they do, right? Which means that for every random button scattered around, the user must hover and wait for a tooltip to explain what the button even does.

I've used computers for a very long time, and sometimes I click on a button, usually of a GNOME-style based app, expecting a dropdown menu to appear, and it just collapses the side pane, or vice-versa.

I've seen applications that had several dropdown menu buttons on a toolbar or headerbar. Three bars. Three dots. Other three bars. In the same bar. How am I supposed to know which one I should click to find the function I want?

Learnable: Turns Beginners into Experts

Computers are very complicated, and so it mastering how to use computer applications. There are few signs that someone is productive with computers, such as their typing speed. Another clear sign of a person's experience is their ability to recognize icons and to use keyboard shortcuts. Menubars teach both.

In a proper menubar, next to every menu item you'll find an icon for the menu item and the keyboard shortcut that triggers it. GUI development tools such as Qt facilitate creating menus like this by tying everything together from the start. In this toolkit, you have an "action," an action has a label, an icon, and a keyboard shortcut, and they can appear on menus and toolbars. This ensures that the keyboard shortcut displayed is always correct, and that the same icon that is shown in the menu is shown in the toolbar, which is equally important.

By having the icon next to the menu item, users can learn from the menu the icons of the toolbar. The icons are literally labelled by the menu item's text. It's impossible not to learn it. Learning these icons allow users to just press them on the toolbar instead of opening the menu, which is a step forward. And learning the keyboard shortcuts of your most usable actions greatly improves your productivity with any software.

A Sign of Quality

The menubar is the simplest way to measure the quality of an application. The quality of an application is proportional to the size of its menubar. The more menu items the application has, the more quality it is.

Adding more menu items to a menubar is trivial for a developer. Most menu items require trivial programming and yet they enable users to perform actions that would otherwise be impossible. In other words, menu items are a sign that the developers care about the users. The developer wants users to be able to do more things within their application. Each menu item tells a story. It's a function for someone, even if it's not a function for everybody.

Most people will never need to sort a playlist descending by length, but someone might want that. To implement an user interface well requires a bit of work. With menu items, be it in a menubar or context menu, it's trivial. It won't be as usable as having customizable and clickable column headers for the playlist, but users will be able to do what they want to do if they ever need to do it.

Similarly, most menu items are for functions that most people will never use, that are trivial to program, and that provide agency for the user over the data loaded in the application. You can tell PotPlayer is the best video player for Windows based solely on its absolutely ridiculous number of menu items. It's that simple.

Interestingly, it seems the reason why Microsoft decided to implement the ribbon was that Microsoft Office had so many functions the menubar and toolbar paradigm was no longer usable.

Most applications don't have the complexity of Microsoft Office, however, so they don't have its special needs. The menubar is good enough.

Hand-Eye Coordination

A great thing about menubars is that they are explicit: they are displayed on the screen, constantly, which means anyone can see it, and anyone can aim at them. Being able to move the mouse cursor directly toward the menu you want without having to wait for a dropdown to appear is great, and it's an usability feature that shouldn't be ignored.

Some applications have instead a single button that opens a main menu. This main menu is hidden by default, as it's a dropdown, and it's vertical, as it's a dropdown, which makes navigating the menubar far more complicated.

For example, in PotPlayer you have items such as Playback -> Playlist -> Sort -> By Title. When Playback is an item in a dropdown menu, you end up with 4 different menus displayed on the screen. If Playback was instead an item in a menubar (alongside with File), that would be one menu fewer. That doesn't sound like a lot, but it is.

A window titled "Video by Meenakshi Vinay Rai.mp4." On its top-left corner a label reads "PotPlayer" and another "MP4." On the top-right "Casting" and a dropdown labelled "Mode." In the main pane, a squirrel and a parrot can be seen. At the bottom, a progress bar, a spakers icon and a slider. Below, a pause and stop buttons, go next, forward, eject, the timestamp 00:00:46 / 00:01:00. H/W (highlighted) AVC1, AAC, 2.0. Two icons that read 360°, 3D. A rectangular icon with bars, a cog icon, and an icon that is 3 horizontal bars. On the right side pane, two sets of tabs: Live/VOD, Browser, and Playlist (selected), then Default (Selected), This PC, +. In the playlist, a single item with the same name as the window. A length column without header shows it has 1 minute of length. At the bottom of the side, four buttons, two with upward arrows, two with downward arrows, of these two have a line at the end of the arrow. Three buttons labelled ADD, DEL, SORT. A search box.
A screenshot of PotPlayer. Its main menu is displayed by clicking on "PotPlayer" on the top-left corner. Video: Meenakshi Vinay Rai. License: Pexels.

But What About Immersive Applications?

There are some applications out there that seek to provide an "immersive experience" by removing their menubars and other graphical user interface, presenting a window to the user that has nothing but a main pane. In these, the main menu is accessible as a context menu by right clicking on the main pane. Examples include BeeRef and JPEGView.

Even in these, I don't believe the removal of the menubar to be a good thing. After all, if there is one menu item that you can add to a menubar, that would be "View -> Hide Menubar." You can simply have a menu item to hide the interface. Many drawing applications, such as Krita, have an immersive mode that hides everything but the main pane with a keyboard shortcut, e.g. Tab.

Applications that don't have a menubar aren't better, because they are simply the same application WITH the menubar but WITHOUT the option to display it. Why would anyone think that an application with fewer options would be better than the more customizable alternative?

Written by Noel Santos.

About the Author

I'm a self-taught Brazilian programmer graduated in IT from a FATEC. In a world of increasingly complex and essential computers, I decided to use my technical expertise in hardware, desktop applications, and web technologies to create an informative resource to make PC's easier to understand.

View Comments