correct • elegant • free

Gnome Application Menus

I don't follow Gnome development closely, but I am a Fedora user so never too far behind the times. I've always used the latest packaged Gnome version: sometimes grumbling about the changes, but learning to live with them; more often delighted with the gradually improving desktop experience.

But now it has all gone horribly wrong.

Before I get onto my current moan though, let me talk about a very old one instead. I've been using point-to-focus since twm was the cutting edge of user interface design, and I have no intention of stopping. My attitude was well expressed by my former colleague in this article from 12 years ago.

Apple's usability people will no doubt explain how tests show that point-to-focus is terrible and unintuitive and hard to learn and inefficient and any number of other unhealthy things. This is quite beside the point. I find it very difficult to work without it and since I use other machines which do use point-to-focus, it's very annoying to have to change behaviour when moving from one computer to another.

I'm aware, of course, that Gnome considers click-to-focus the "correct" option, and makes it the default. Point-to-focus is a second-class citizen, but appears to be grudgingly supported. For example, I understand that changes were recently made so that in point-to-focus modes, a window only gains focus when the pointer stops on it.

Still, this all raises some interesting questions. When was the decision that c-t-f is "right" made? By whom? For what reasons? Where was it documented? And suppose somebody wanted to challenge it, how could they do so? Although I've only glanced at it, I don't believe the Gnome HIG mandates c-t-f, so lobbying for a change in the HIG is not going to help.

Of course, the choice of click-to-focus was made a very long time ago, and is unlikely to change now. But I think it will be helpful to bear those questions in mind, as we consider an (almost) brand new feature: application menus.

Soon after upgrading to Fedora 21, I opened a bug in Fedora's bugzilla against sound-juicer. I needed to access the Preferences menu, and it wasn't there. I looked everywhere (well, I thought I looked everywhere). I even tried to press the right hot keys that I remember from the last time I had a working sound-juicer, all to no avail.

Christophe Fergeau kindly set me straight. The menu is now hidden behind the name of the application on the "top bar", which is on a different monitor, several mouse-miles away from my app. Hot keys apparently don't exist any more. And every Gnome app is being redesigned this way (it's just that most of the ones I use daily haven't been yet).

I was directed to this page on the wiki, which talks about the change a bit.

And I've followed some links from there, and searched for more background. What I'm really struggling to understand is the motivation for App Menus. What problem are they trying to solve? I can see that, for an application that has one window per document, it's slightly inconsistent to have global menu entries on each window. But the obvious solution, of repeating the global menus on each window, seems to work well enough. And I'm sure you know the Emerson quote about consistency. (And, speaking of consistency, isn't it inconsistent to use point-to-focus for the scrollwheel? But everybody does that!)

I simply think that Gnome (and OS X before it) is wrong to attach menus to the screen rather than to the application. The handwavy justification for my position is obvious: each window represents a single self-contained application: everything you do within that application occurs within the window. OS X breaks that intuition, and now Gnome breaks it more (at least on OS X the full menu bar is displayed, which makes it a bit clearer what is going on.)

Does the Gnome project have HCI research that says I'm wrong? If so, I haven't found it yet. Can somebody send me the link?

The application where the new App Menus floored me is not a multi-document one. As far as I know, sound-juicer only ever displays one window. Moving the menus away from this one window strikes me as a near-catastrophic design error.

I've already mentioned that on a multi-monitor setup the top bar may be a very long way away from the application. I use focus mode "sloppy", and on the long trek between the application and its menu, it's possible for another application to be selected. Sloppy mode is actually very good about not changing the focus till the mouse has stopped moving; I probably go wrong only about 1 time in 4. But when every app works like this, that's going to be a very serious irritation.

Consider another point: documentation. I was misled in the case of sound-juicer because F1 brought up help pages that showed screenshots of a menu bar. OK, so it's just out of date. However, look at the documentation for gedit, which has been updated. In various places it tells you to use the "gedit" menu... but it never tells you where that is. Obviously you can't have a screenshot that shows it, because it's not part of the application any more! The very fact that it's so difficult to describe the new menus clearly should be a warning that they will not be intuitive to users. Even users that do read the docs will be confused.

I cannot live with Gnome's new Application Menus. Fortunately, I have found Cinnamon. A "traditional" look and feel, built using Gnome technology. Yay! Point-to-focus supported out of the box. Yay! No more application menus. Yay! Alt-Tab works on windows again, not applications (I'd been suffering the Gnome / OS X way for so long that I'd forgotten how wrong and anti-productive it is). Yay! Hot corner still works for window selection (although it turns out I use that far less now that Alt-Tab works properly again).

So I suppose, in the end, that's the beauty of free software: I can choose Gnome or Cinnamon (or KDE, or twm...), and they can all share code and ideas. Still, I would like the folks at Gnome to know that they've lost me to Cinnamon, and this is why.

One final prediction. I do not believe application menus will survive in their current form. They're just too user-antagonistic. I note this extraordinary line in the HIG: "If an item from the application menu is frequently used, consider moving it to a more accessible location." Note also that one of the items that is definitely supposed to be in the application menu is "Help"!


Magnus Therning writes:

I can only agree. I've often wondered what reasons the interaction designers of desktop systems like Gnome have for making changes. Certainly many changes feel more beginner-friendly rather than expert-friendly. There's an episode of 99% Invisible about Doug Engelbart (Of Mice And Men). I think some of his ideas regarding user friendliness ought to be spread more widely.