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.

#LinuxUsability (part 1, part 2, part 3, part 4, part 5, part 6)


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.

Menus

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.

Source: Computer History Museum, Oral History of Andy Hertzfeld and Bill Atkinson

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?

File, Edit,… menus circa 1980 in the Lisa’s user interface. Source: Wikimedia

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.

Says Xerox PARC and Apple veteran Larry Tesler, interviewed in 2003, talking about Bill Atkinson in 1982:

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.

Source: designinginteractions.com

See this interview with Bill Atkinson:

Ever since Microsoft introduced the Ribbon, no one ever finds any commands anymore. At least I don’t.

Ribbon instead of menus. Source: Wikimedia

But 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.

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.

Google Chrome web browser using an unrecognizable icon instead of a menu bar. Source: Twitter

Here is the Firefox version of it:

Firefox web browser a similar concept instead of a menu bar

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:

https://twitter.com/pdfkungfoo/status/938243776946024448

And this nonsense is not limited to web browsers, either, GNOME 3 is clearly worst of class:

GNOME 3 in Ubuntu 17.04 hiding what used to be the menu in a “hamburger menu”

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?

Text editor in elementary OS 0.3

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:

Xerox Star user interface (1981). Source: GUI Gallery

I was even more shocked to find out that it did exactly what the hamburger menu does today:

Hamburger menu in XEROX Star GUI

More on the history of the hamburger icon.

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.

Menu shortcuts

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.

GNOME 3 in Ubuntu 17.04 missing the “Edit” menu and all shortcuts

Hello? Explains Bill Atkinson:

https://www.youtube.com/watch?v=-syl7m_i-80&t=31m59s

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.

Edit menu in XFCE on Xubuntu 16.04

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 prototypes of the Lisa GUI, around 1980. Source: folklore.org. License: Fair Use of a historic artefact

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:

The global menu bar consists of only one menu with just 6 items in GNOME 3 on Ubuntu 17.10

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.

Clock at the center of the global menu bar, 2017

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:

Apple logo at the center of the gobal menu bar, around 2000, in a beta of Mac OS X. Source: Wikimedia

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.

XFCE bar at the top of the screen in Xubuntu 16.04
Windows 95 task bar and start menu. License: Fair use

After this article was initially published, I received a Tweet that pointed out some important additions:

Source: Twitter

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:

Typing in a topic will show the relevant menu items since Mac OS X 10.5 Leopard

Is there any equivalent for Linux desktops?

After this article was initially published, @aviwad pointed me to Plotinus which seems to go into this direction:

Plotinus. Source: GitHub

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).

No global menu in Firefox 57 even when if explicitly enabled in Ubuntu MATE 17.10

The community should work on making menus searchable in on the Linux desktop. New XDG project, maybe?


This article is part of a series (part 1, part 2,part 3, part 4, part 5, part 6) about #LinuxUsability.


probono is the founder and lead developer of the AppImage project. Screenshot editing was done using the same Krita AppImage working on different Linux Live ISOs (which was required to research and verify the contents of this article).