catsandcoffee.org — some (memorable) rants

by Eric S. Raymond:

The Luxury of Ignorance: An Open-Source Horror Story

[...]

The configuration problem is simple. I have a desktop machine named 'snark'. It is connected, via the house Ethernet, to my wife Cathy's machine, which is named 'minx'. Minx has a LaserJet 6MP attached to it via parallel port. Both machines are running Fedora Core 1, and Cathy can print locally from minx. I can ssh minx from snark, so the network is known good.

This should be easy, right? *hollow laughter* Famous last words...

[...]

New form. "Queue type", it says. There's a drop-down menu. The default is "Locally connected", which is reasonable. Clicking on the menu, I am presented with the following alternatives:

Networked CUPS (IPP)
Networked Unix (LPD)
Networked Windows (SMB)
Networked Novell (NCP)
Networked JetDirect

Here is our first intimation of trouble. If I were Aunt Tillie the archetypal nontechnical user, I am at this point thinking "What in the holy fleeping frack does that mean? And just as importantly, why do I have to answer this question?" I do not, after all, have any Windows machines on my network. Nor any Netware boxes. And I certainly don't have a "Networked JetDirect", whatever that might be.

[...]

So, if you are out there writing GUI apps for Linux or BSD or whatever, here are some questions you need to be asking yourself:

  1. What does my software look like to a non-technical user who has never seen it before?
  2. Is there any screen in my GUI that is a dead end, without giving guidance further into the system?
  3. The requirement that end-users read documentation is a sign of UI design failure. Is my UI design a failure?
  4. For technical tasks that do require documentation, do they fail to mention critical defaults?
  5. Does my project welcome and respond to usability feedback from non-expert users?
  6. And, most importantly of all...do I allow my users the precious luxury of ignorance?

Read the rest at http://www.catb.org/~esr/writings/cups-horror.html

The Luxury of Ignorance: Part Deux

A few days ago I uttered a rant on user-interface problems in the Common Unix Printing System. I used it to develop the idea that the most valuable gift you can give your users is the luxury of ignorance — software that works so well, and is so discoverable to even novice users, that they don't have to read documentation or spend time and mental effort to learn about it.

This rant made it onto all the major open-source news channels, so I was expecting a fair amount of feedback (and maybe pushback). But the volume of community reaction that thundered into my mailbox far surpassed what I had been expecting — and the dominant theme, too, was a bit of a surprise. Not the hundreds of iterations of "Tell it, brother!", nor the handful of people who excoriated me as an arrogant twerp; those are both normal features of the response when I fire a broadside. No, the really interesting part was how many of the letters said. in effect, "Gee. And all this time I thought it was just me..."

[...]

Let's go back to the queue type selection screen. Remember that one? It looks like this:

Networked CUPS (IPP)
Networked Unix (LPD)
Networked Windows (SMB)
Networked Novell (NCP)
Networked JetDirect

This is a feature-oriented menu, not a task-oriented one. The attitude it exhales is Oooh! Look how cool it is that we support all these printer types! But you know what? Aunt Tillie doesn't care. She doesn't want to know about all the world's printer types, she just wants to make her printer work.

A task-oriented configurator would have logic in it like this:

[...]

Read the rest of this rant at http://www.catb.org/~esr/writings/luxury-part-deux.html

(Go to Eric S. Raymond's homepage at http://www.catb.org/~esr/).

»GUIs normally make it simple to accomplish simple actions and impossible to accomplish complex actions.«
— Doug Gwyn, 22/Jun/91 in comp.unix.wizards
Created on 2004/03/01, last updated 2004/03/01 by Lars Gebauer.
Lars Gebauer, Karlsplatz 7, 99817 Eisenach, Thuringia, Germany
Phone: +49 178 332 92 69 (Don't call me, I call you.)

Best viewed with Any Browser! Lynx inspected! Backward compatible! Level A Conformance to Web Content Accessibility Guidelines 1.0 Valid CSS! Valid HTML 4.01!