18 January 2008

KDE 4 UI critique

Human beings have different kinds of memory; they remember things in different ways. Three common classes of memory are spatial memory, visual memory and verbal memory. (There’s also chronological memory, but that’s not relevant to my point here.)

I have excellent spatial memory. It’s what I rely on most. For example, if I start to think about how to get to a given place in town, I literally find 3D visualizations of my route flashing into my consciousness. I also have pretty good visual memory; when I make the journey, I verify that I’m going the right way by comparing the visual appearance of buildings and landscape that I pass with the scenes I remember.

My linguistic memory is terrible. If you asked me to name the actual streets on the route, I’d have a hard time remembering them. My mental map of London, for example, only has 6 street names. This makes me a really bad person to get directions from. “You take the narrow road that heads off at a thirty degree angle, right at the place with the green copper roof, over the light colored bridge…”

There’s an upside to my condition. If you rely on verbal memory to navigate, as soon as you step outside your known area you are pretty much lost until you can find a familiar street name. In contrast, I have a pretty good chance of navigating between two known points, even if the area in between is totally new to me.

This hierarchy of types of memory also applies in my interaction with computers. When I want to find my password manager, I don’t remember its name. Instead, I remember that it’s in the bottom hierarchical menu of my KDE menu, positioned near the top, and has a green icon.

I know this experimentally, incidentally: back in the System 6 days there was a joke Mac INIT that removed all the text from the menus. I tried it, and was quite startled to discover that I could still use most of my favorite applications.

With that background out of the way, I would like to talk about why for me, the new KDE 4 application launcher is a user interface disaster of epic proportions.

The launcher is still a button in the bottom left, like Windows. Here’s pretty much what you see the first time you hit the button:

KDE 4 application launcher

One minor criticism springs to mind instantly: I have never in my life used Konqueror as my web browser, and it is emphatically not my favorite anything.

Once I was done thinking that, though, I immediately realized I could find the applications I actually wanted via the applications tab. So I clicked it, and saw this:

KDE 4 application launcher

Here’s the first problem. The new KDE launcher is a gynecologist interface: There you are, sitting in front of a 20″ screen, but the programmer has dictated that you have to do everything by poking around in a small box.

The first thing I tried to do was resize the box so I could see what was going on. No dice, it’s not immediately resizable. Oh well, I thought, and scrolled up and down until I found the hierarchical menu entry I wanted. I’ll get some screenshots of this, I thought, so I hit graphics.

The entire contents of the box disappeared, replaced by what I recognized as having once been the contents of my familiar graphics menu:

KDE 4 application launcher

I found my screenshot program and opened it. Once I had taken a few screenshots, I wanted to go open up a text editor to take some notes. Here’s where the real problems began. Clicking the KDE menu button gave me:

KDE 4 application launcher

Yup, the exact same graphics sub-menu I was last looking at. Presumably the idea here is that if the last program I opened was graphics-related, chances are the next program I’ll want to open will be graphics-related too. I think that’s wrong in general, and that KDE4’s behavior here is extremely unhelpful, but I’m prepared to entertain the possibility that I’m incorrect.

The big problem was that I couldn’t work out how to get back to the main application menu. I tried clicking Applications, but that did nothing. I tried switching to favorites mode, then back to applications–again, no effect.

Next I tried the Leave button reasoning that it would let me Leave the current sub-menu. Instead, that gave me options to log out or reboot. I’m guessing that on reboot, I’d have still been stuck in the same Applications sub-menu.

Next, I tried thinking like a Linux user. If clicking got me to a sub-menu, maybe right-clicking would get me back. Nope. I tried clicking the heading of “Graphics”, in case that would give me a list of other sub-menus. I tried scrolling up and down, looking for a “..” or left-arrow entry. No dice.

Finally, I spotted the secret. Have you seen it yet? In the sub-menu, the space to the left of the icons is shaded gray instead of white, and there’s a tiny gray triangle on the gray shading. If you click that shaded area, the sub-menu disappears and you’re back at the level above.

In other words, the new menu works like a gynecologist version of the NeXT / OS X column-based view, where you’re only allowed to see one column at once and the back button is disguised as something else.

Given that I took several minutes to work this out, I have a really hard time believing that my mother would ever master it. I say this because my mother could launch applications in KDE 3 just fine, but getting her to find something in the OS X Finder is a bit of an ordeal.

So, I am skeptical of the claim that this interface is an improvement for beginners. I’m also of the opinion that it’s a disaster for anyone who relies on spatial memory, because every time you open the menu, everything is in a random position based on how you left it last time you went to find something. It’s the same problem Microsoft hit when they had the bright idea of dynamically adding and removing items from the Windows start menu; it really, really bugs the hell out of anyone who finds things by position. Does anybody really remember how they last left a menu? Seriously? If not, what sense does it make to preserve that state the next time they enter the menu?

The KDE developers apparently believe that there is nothing wrong with this new launcher, pointing at the fact that they did proper HCI usability studies. Well, yes they did, with 10 people. I’m willing to bet that at most 1 or 2 of those people was a spatial memory person.

If you’re a verbal/linguistic memory person, the new interface is great. You just type part of the name of the program you want in the text box, and a list of possible matches appears underneath. So quick and easy.

Unfortunately, program name recall is a major problem for me. It’s not uncommon for me to sit staring at the keyboard for 30 seconds as I try to recall the name of the program that you use to edit runlevels on non-RedHat systems. I remember that it’s ntsysv on RedHat, but for whatever reason I can never remember the name of the corresponding program on Debian or Ubuntu. In fact, I’ve resorted to aliasing ntsysv to a prompt that reminds me what the program is called. It’s rcconf, in case you’re interested; I just looked it up for what is probably the hundredth time.

So my guess is that there’s a sizeable proportion of people like me who are going to find the new KDE4 extremely painful to use. I suspect that the small sample size in the UI testing by chance didn’t include any of us, so the KDE developers are blissfully unaware that they’ve done anything wrong. They think we’re just whining because it’s something new we’re not used to. This article is an attempt to set out why that’s not the case.

The obvious question is, what can be done to fix the new launcher?

My guess is that most of the issues would go away if the Applications tab always started off at the top level of menus, and if each menu or sub-menu always started off consistently, scrolled to the top. That way I wouldn’t be thinking “OK, where the hell am I?” every time I clicked on it.

The second obvious fix is to get the launcher out of gynecologist mode. Right now, there’s a single size preference, which determines how many items get listed in the menu; however, I’d like to see a way to compress the vertical space occupied by each item, so I could at least see all my top level menus at once.

Then there’s the horizontal dimension. At the moment there is literally no way to see more than one column at once, no matter how big the screen is. Actually being able to see the column to the left of the sub-menu you’re in would provide some context and help you quickly establish a sense of where you were. It would also make navigation a lot quicker. There’s a reason why the OS X file selector shows more than one column by default.

So I think the KDE 4 launcher is salvageable. The question is whether the developers are willing to take these criticisms on board and address them seriously, or whether they will take the approach of the GIMP developers and claim that the complainers are just whining because the UI isn’t like something else they are used to.

© mathew 2017