Make. It. Simple. Linux Desktop Usability — Part 1
Why do desktop environments increasingly degrade the desktop UX that once used to be straightforward and “common sense”? Is there a secret plan to cripple the desktop experience by infecting it with less suitable UX concepts invented for mobile phones? In this series, I will look at recent worrisome trends in desktop Linux usability and contrast them with the thoughts of the very inventors of the desktop metaphor as we know it.
Let me get this out of the way right in the beginning: I like the Linux desktop. I care about the Linux desktop. I like the projects I am discussing here, and I appreciate the hard work people are putting in. But I’d like to see the Linux desktop improve. And I think a wakeup call is needed, because things are not always being changed for the better.
With this out of the way, let’s dive right in… Linux desktop usability, the good, the strange, and the outright ugly. OK, I will mostly skip the good in the interest of brevity.
There is a tendency of desktop environments and applications to mess around with the proven concept of menus.
Bill Atkinson, the inventor of menus as we know them, describes:
I’m proud of the pull-down menus. I thought that the pull-down menu was a very good solution to providing visibility, spatial memory of where the commands were.
Why is there this unsettling tendency to kill the beloved “File, Edit,…” menus that also date back to the Lisa user interface design and have been engraved into our brain muscles for the last 40 years?
As Bill Atkinson describes:
And the other nice thing about it was that because the titles of the menus were always much narrower than the items, it basically tripled your effective screen. You could scan along the top and see all available commands without doing any of them. You could harmlessly see what is available.
With menus, you can click on a menu, hold the mouse button down, and move the mouse horizontally to see all available commands of an application immediately.
Bill went home; in one night he developed the entire pull-down menu system! Everything! He hadn’t just moved it to the top of the screen; he had the idea that as you scanned your mouse across the top, each menu would pop down, and they would ruffle as you went back and forth, and appear so that you could scan them all. . . . He’d thought up the whole thing in one night! I can’t imagine what happened that night.
See this interview with Bill Atkinson:
In 1978 Bill was a graduate student in neuroscience at the University of Washington when he got a call from Apple…
Ever since Microsoft introduced the Ribbon, no one ever finds any commands anymore. At least I don’t. And it seems like I am not the only one, or why would there be a whole page dedicated to finding “Paste Special”?
It’s not only different, it’s also a big step backward compared to what Apple figured out around 40 years ago. With the Ribbon? You have to click through every single tab to see all the commands. “Paste Special” is CTRL+ALT+V, but how am I supposed to know that from looking at the Ribbon? With a menu, it would have been nicely printed alongside the menu command.
Similarly, and possibly even worse, there is an unfortunate tendency in web browsers to move away from the menu into some obscure “hamburger menu” positioned at a weird position on the screen.
Here is the Firefox version of it:
Now, with a menu bar you could reach the “About” dialog box with one single click, and dragging the mouse around. With this thing, you need at least three clicks, and you need to know where you have to click. A giant step backward with no apparent advantages. Proven desktop UX concepts seem to be dumbed down in an effort to turn the efficient, productive desktop experience into a cumbersome smartphone-like one.
(After the publication of this article, a reader told me to right-click the Firefox hamburger button and select “Menu Bar” to get the menu back. So much for Discoverability!)
This post summarizes it well:
And this nonsense is not limited to web browsers, either, GNOME 3 is clearly worst of class:
But it’s not just GNOME alone. There seems to be a crusade underway to cripple menus. The design minded elementary OS is even worse. The “Settings” icon is all that is apparently left from the menus. Where is copy, where is paste?
After the initial publication of this article, I was shocked to find out that the Xerox Star had the hamburger menu in 1981 (before the Lisa and the Macintosh) — look closely:
I was even more shocked to find out that it did exactly what the hamburger menu does today:
So, essentially Firefox, GNOME 3 & Co. have thrown out the Lisa/Macintosh improvements to the GUI and have reverted to the Xerox GUI from 1981.
Every desktop application should have a traditional menu bar.
Desktop applications should not attempt to mimic mobile phone apps that were designed to be used by touch — “hamburger menus” may be a suitable compromise for crammed mobile phones but not for today’s desktop systems with Full HD or 4K screens.
Look at the GNOME 3 screenshot again. Note what is also missing? A visual clue that Save is Ctrl-S. The menu entries for “Copy”, “Paste” and so on are entirely missing — not just their shortcuts like Ctrl-C, but the whole menu entries.
Hello? Explains Bill Atkinson:
XFCE gets the basics right — using menus and menu shortcuts. I would never have expected this to become something that needs to be specifically mentioned, but the GNOME example above shows that apparently we can’t take the basics for granted anymore.
Every application should have menu shortcuts that are intuitively discoverable because they are clearly labeled in the menus.
The global menu bar
Fitts’s law, which had a brief mention above, should be a familiar concept in UX circles by now. It also implies that having global menu bars is better than having per-window menu bars, because you can reach the top of the screen much more easily by moving the mouse quickly there, rather than having to point somewhere with precision.
This concept dates back to the Lisa which was developed in the early 80s, possibly even further back.
Early Apple employee Andy Hertzfeld describes in a detailed walk-trough of how the Apple graphical user interface was originally born:
The middle picture represents a real breakthrough, by putting the menu bar at the top of the screen instead of the top of each window.
Here we are, almost 40 years later, and here is what Linux desktop environments have made of this user experience breakthrough:
In GNOME 3, there is what appears to be a global menu bar, but it does not show the application’s menu entries.
Instead, it wastes the most precious space on the screen by putting a clock right into the center of the global menu bar.
By the way, Apple made a similar mistake in the very early days of Mac OS X. Yes, that’s the Apple logo right there at the center of the menu bar:
But unlike GNOME, Apple was quick to recognize and correct the issue even before the first release of Mac OS X saw the light of day.
In Xubuntu, there is what at first sight looks like a global menu bar but in reality turns out to be a Windows 95-like bottom-of-the-screen bar moved to the top.
After this article was initially published, I received a Tweet that pointed out some important additions:
My point is, “global menu support” doesn’t really cut it if it is not the out-of-the-box default. Unity has been killed by Canonical along with many other initiatives. I have never heard about Plotinus (see below) und Krunner, and I doubt most other Linux desktop users have. These tools are not discoverable, not popping right in your eyes.
There should be a global menu bar. And it should have the familiar “File”, “Edit”,… entries. (So sad that not even this can be taken for granted anymore!)
Search in menus
A really, really useful feature is being able to search for commands in the menu bar, especially for applications that have sub-menus. The Mac can do it:
Is there any equivalent for Linux desktops?
But you have to know about it, have to install it, have to know the Ctrl+Shift+P key combination to invoke it. So it is not discoverable at all. It does not show you the spatial location of the commands in the menu, so you don’t learn your way around the application inside by using Plotinus, unlike Apple’s searchable menus. And apparently it only works in Gtk+ applications — a small subset of the applications used on Linux desktops.
Long after this article was initially published, it was pointed out to me that MATE can do global menus and search in menus, too. While I applaud MATE for having these features, I met that less than 0.1 percent of the user base will ever be able to find them: You have to go to Preferences -> MATE Tweak -> Panel -> Cupertino. Then global menus are enabled. To search in the menu, you need to know (magically?) that you have to press “Alt”. It should clearly be way more discoverable.
And then, it still does not seem to work with Firefox 57 (Quantum).
(EDIT January 2019:) Turns out that some applications, including Blender and Olive, have something similar called “Action Search” but you need to press “/” on the keyboard to see it.
Who on earth wakes up one morning and says, let me see what happens if I press “/” in a Linux application? I wonder who comes up with those hidden easter eggs.
The community should work on making menus searchable in on the Linux desktop. New XDG project, maybe?