Electricmonk

Ferry Boender

Programmer, DevOpper, Open Source enthusiast.

Blog

Torvalds: Use KDE

Tuesday, December 13th, 2005

In an e-mail mailinglist discussion on listing, Linus Torvalds wrote the following:

> Frederic told that the options from the PPD file are
> intentionally mot listed in the printing dialog, the
> usability team of GNOME was against listing these options.
> They clutter the dialog and can be more confusing than
> useful to the user.

I personally just encourage people to switch to KDE.

This “users are idiots, and are confused by functionality”
mentality of Gnome is a disease. If you think your users
are idiots, only idiots will use it. I don’t use Gnome,
because in striving to be simple, it has long since reached
the point where it simply doesn’t do what I need it to do.
In another thread on the same list, he writes:

> That’s definitely not a point of view of the GNOME Project
> – we’re focused on making Free Software appropriate for
> users who are smart (we don’t talk about ‘dumb users’), but
> just don’t care about computing technology. We’re just like
> every other Free Software project – fixing stuff requires
> the work and attention of people who care about the problem
> at hand.

No. I’ve talked to people, and often your “fixes” are
actually removing capabilities that you had, because they
were “too confusing to the user”.

That’s _not_ like any other open source project I know
about. Gnome seems to be developed by interface nazis,
where consistently the excuse for not doign something is
not “it’s too complicated to do”, but “it would confuse
users”.

……

The reason I don’t use Gnome: every single other window
manager I know of is very powerfully extensible, where you
can switch actions to different mouse buttons.

Obiously, people will all be on Torvald’s ass for making these statements, but I happen to think he’s right.

Usability does not equal few options

For some reason the so called usability experts have gotten it into their heads that if there are too many options, people will get confused, so there should be as few as possible. This does NOT make a program usable. Take for instance your regular Notepad editor versus Vim. Notepad has few options, vim has a gazillion. Notepad is completely unusable for me as a programmer, because it lacks an enormous ammount of options. If you’d ask which one is easier to learn then I’d have to say Notepad. That does not, however, make it the more usable one.

Ofcourse, Notepad is not designed for programming, but the same goes for just about any IDE I’ve ever seen. They’re all too limiting. You may think the IDE you’re working with is pretty nifty because it automatically pops up a little dialog that reminds you what parameters you need to enter when constructing a ‘for’ loop, but it’s all nothing compared to the power of Vim. Does your IDE allow you to quickly append any character (a comma or semi-colon) to a bunch of selected lines? Does it allow you to align all the equal signs on a couple of lines? These are all basic programmer operations which are missing from most IDE’s I’ve seen.

The Dump-People myth

For some reason there’s also this prevailing myth that ‘dumb’ people will be able to use the computer better if the interface is more consistent, has less options, has big nice icons and uses metaphors from real-life (i.e. desktops, folders, etc). I don’t know where they got this idea from, but it’s not from actual field testing results. ‘Dumb’ people will not understand current computer interfaces, period. Consistancy may be able to help people who have already grasped a certain aspect of a user interface, but it will never help those that never understood it in the first place.

I’ve heard countless stories of people how couldn’t even grasp the idea of minimizing windows or the taskbar in Windows. They simply move (or even close) all the top windows out of the way in order to reach the window they wanted. Removing all but the most basic options from a computer is the only way to make it easier for people to use the computer. But guess what? That would make a computer virtually obsolete.

‘Dumb’ people cannot be taught how to use the computer; it’s of no use trimming down user interfaces so that they can.

(By the way, I’m constantly quoting ‘dumb’ because these people are not actually stupid or anything. If you’d put einstein behind a modern computer he’d probably have a pretty hard time understanding all the gibirish on the screen)

Losing the Unix way

Modern interfaces are becoming less and less powerful and less and less usable. Let me tell you two little stories:

When I first got my new laptop I wanted to get the little multimedia buttons at the top working. In Gnome’s Keyboard preferences program I found a way to make a certain button adjust the volume. When I pressed the volume-up button Gnome adjusted the volume on the laptop speaker, but not that of the headphone jack. There was no way I could tell Gnome that it should adjust the PCM mixer instead of the one it was adjusting now. I had to write my own little python program that monitored the keys I pressed and then executed an ancient console tool called aumix that COULD adjust any volume mixer I told it too. If Gnome had listed an option to change that preference, I’d have saved a lot of time and
effort.

The other day I was writing a script and I wanted it to open an e-mail in Thunderbird (my e-mail client). After some time I found out Thunderbird simply cannot be told to open a particular e-mail message. Now I use mutt to open those e-mails. Mutt is another ancient console program first written years ago.

Conclusion: Programs written years ago that only have a command-line interface are doing a better job than programs written recently. It’s pathetic. We’re gradually losing the Unix way of writing programs: Do one thing and do it good; Coupling programs together using their standard input and standard output; Be liberal in what you accept and sparse in what you put out; Keep back-ends and interfaces seperate; etc.

I’ve been laughed at by Windows administrator when they saw me working on the Unix commandline. “So that’s Unix huh? Looks like DOS! HAHAHA”. Yeah, very funny dipshits. Funny until someone asks you and me to both produce statistics on the webserver logfile between the two dates. Then you’ll have to go and find some idiotic NT//IIS log datamining tool while I’ll be done in 4 minutes by doing some grepping and cutting on the commandline. Less options does not mean it’s easier to perform your tasks and usability does not mean easy-to-learn!

The ideal OS

For me, the ideal OS / User Interface can be defined as: “Let’s you do the task at hand as fast and as good as possible”.

When we start removing options from user interfaces because it might confuse those people that will probably never even use those interfaces at all, we’re not enhancing the OS or interface. We’re just making it harder to do the job for all other people.

The ideal OS for ‘dumb’ people shows a menu with four options: Chat, Photo’s, Surf the web, E-mail. That’s it. Anything more is too complicated for most casual users. Does that mean all other stuff should be removed?

Gnome usability-team

The Gnome usability team, along with most of the rest of the so called usability experts, need to understand some things better. They’re trying to make a compromise in the user interface between power users and ‘dumb’ users by making an interface that’s somewhere in the middle. This is not a good idea, in my oppinion.

For instance: The discussion mentioned at the top of this post is about PPD options in the printing dialog of Gnome. These options aren’t listed because they might scare ‘dumb’ people. Let me tell you something: ‘Dumb’ people do not look at the printing dialog. ‘Dumb’ people press the print button and expect stuff to come out of the printer. If they want stuff printed twice, they won’t enter ‘2’ in some inputbox: they’ll press the button twice. If they only want pages 1 through 5, they won’t enter ‘1-5’ in some inputbox: they’ll just print the whole damned thing and throw away anything they don’t need. People are like that. That doesn’t mean the whole Printing dialog needs to be removed just because people don’t use it, does it?

Look, put all the fearful, complicated, little buttons and options in some ‘Expert’ tab for all I care. Just don’t remove them okay. Oh, and add command-line options and non-interactive modes to programs because graphical user interfaces suck.

When it comes to Gnome, I’m with Torvalds on this one, but these problems are not limited to Gnome. I haven’t used KDE in a long, long time, but the last time I did, it wasn’t any better than Gnome at all when it comes to usability.

The text of all posts on this blog, unless specificly mentioned otherwise, are licensed under this license.