Friday, October 18, 2013

Bad User Interface Design: Celebrate the Nightmare from Hell that is Gimp


Many philosophers over the centuries have asked: "what makes bad user interface design?" Oh the arguments that have raged over that apparently simple question. Is it all inspiration, accident or genius that leads to bad user interface design? Are there principles we can deduce to help new and inexperienced designers write bad user interface code, maybe even dreadful user interface code?

I believe that the answer is yes, we can help people design and write bad user interface code, code that demeans the user, insults the user, makes their life worse, and makes their work impossible or nearly so. True inspiration may be beyond our capability to teach, true genius may break these principles we write down here, but for the great majority we can deduce principles that can act as guidelines for a truly bad user interface or "user experience" as we say.

We will take the case study approach as pioneered by Harvard Business School and from these case studies try to create principles to apply to new situations.

I recently sat down to learn GIMP, the Gnu Image Processing program, and was thrilled by its bad user interface ideas. From these I derived some principles and will then discuss how GIMP achieves these worthwhile goals.

Principle #1: Make a bad first impression.

If you can make a bad first impression, then you may even be able to make the user give up entirely. But how, specifically, can one make a bad first impression?

Principle #2:  Increase frustration by focusing on what the beginning user has to do and make that more difficult

In other words, concentrate your bad design into those areas that the beginner has to work through, it is less important to inconvenience the advanced user as they are far fewer in number and have more capability and skills to work through your stupidity.

Principle #3:  Use a GUI design or principle from a similar program that  the beginner almost certainly knows but give it a completely different meaning, and actually hide something important that the user needs to do under that category.

Our third principle here is a particularly nasty one. It solves several problems at once, it confuses the user, and makes them less confident that they bring skills to your program that will be useful.

Let us examine how GIMP achieves these three principles in a truly elegant manner. What is the first thing a beginner of a "paint" program might wish to do? Well I would argue that finding a paint brush and setting a color is pretty much right at the top of the list for a beginning user. What Gimp does for this is to make it ok to find a paint brush, although there is some good confusion there, but then it completely makes it inscrutable to choose a color. How does it do this?  It does this by hiding the pick-a-color function under a glyph that means something else entirely in Photoshop.

Then ask yourself how many new users of Gimp will have been exposed to Photoshop? I would argue that at least 80% of any user of Gimp will have learned at least something of Photoshop and the percentage may well be higher. Then what could be more devious and self-defeating than to hide "pick a color" under a graphic that has nothing to do with picking a color from Photoshop? And that is exactly what they do. In Gimp, pick a color is carefully hidden under the following icon:




which means of course to exchange a foreground color with a background color in Photoshop and has nothing to do, actually with choosing a color.

What genius ! What mad genius ! What a clever and nasty person whoever did this must be !!

No one would ever think to look under switch fg/bg color, and they have to look up how to pick color in Gimp on the internet (of course there is no online documentation for Gimp) and eventually they find it, but not after many minutes or even hours of frustration and hairpulling.

So our first case study suggests: find something a beginner certainly has to do, and hide it in a place he will explicitly not look for it based on previous experience.

In future posts we will examine other examples of genius bad user interface design.

No comments:

Post a Comment