Thursday Night

Paul Betts’s personal website / blog / what-have-you

Linux users often have a very skewed opinion on what “easy” is

While wasting time on teh Intarnets today, I came across this article on Linux Mint, an “improved” version of Ubuntu, mostly just adding in codecs and theming it a bit. A lot of people make these kinds of “hack” distros, which is okay too – it’s cool that anyone can make their own version of what they think is awesome in Free software. However, the author of the article has this to say, with accompanied image:

Another nice configuration tool that Linux Mint comes preinstalled with is mintDisk that allows easy mounting of various partitions on your computer. (Emphasis mine)


Fig. 1

This dialog is by no means “easy”. Hell, it isn’t even in the ballpark; this dialog is one step above editing /etc/fstab directly (and the dialog even mentions the file in the text). People have no idea what this is saying, and this tool is meant for a pretty common use-case for novices, using their Windows formatted devices. A lot of this dialog is simply bad programming, but it underlies the mindset that a lot of technically-minded people have.

“Huh, you don’t get it?”

Computer people don’t notice when they have to do something technical, especially Linux people who are used to mucking around with system internals to get it to work. So, when the computer people go to write software, it’s worse than “they don’t consider the end-user”, I think that computer people are unable to see things in this fashion anymore. Of course, this isn’t a new idea, the designer of Visual Basic wrote a book about it, appropriately called The Inmates are Running the Asylum.

Always think about the audience!

The solution to this problem is to always consider the audience. Ask any comedian, jazz musician, or someone who’s decent at presentations and they’ll tell you they’re always paying attention to their audience’s reactions as they’re performing. Software has to be designed this way too – focus on what they want to do, not on trivialities. This dialog shouldn’t even exist, the user wants to plug in a device and have it work. It’s the OSs job to figure out what that means. However, you can also go too far over like GNOME sometimes does, and make everything “simple”. Sometimes when the job itself is specific and technical, it’s inappropriate to simplify it – the user is expected to be technical so they want to hear it in a language they’re familiar with.

Remember This:

Flouting Mr. Tufte for people who are too lazy to read, here’s the points you should remember, in bullet form:

  • Don’t ask the user for stuff the machine should do itself
  • Keep in mind what someone wants to do with this program
  • Don’t take the above two points to mean “everything should be simple”, remember who you’re dealing with or else Linus will take you down a peg

Written by Paul Betts

May 23rd, 2007 at 11:58 am

Posted in Linux, Programming