design is the art of making choices

July 20, 2004

“Hallelujah!” It sure feels good to hear someone acknowledge that usability is a technical problem.

For a while I’ve been reflecting upon the lack of good user interface design in open source systems. Of course, I more freqently reflect upon the lack of good user interface design in general. Good UI is hard, but as Frans Englich points out the open source approach has licked a number of hard problems. Security is hard too.

I believe that good design is all about making choices and applying a bit of common sense. We need to take the time to really think about the decisions that we ask people to make when they use our software.

I enjoyed Joel Spolsky’s observation that the Options dialog is an archaeological record for software development. “It is the height of arrogance for a software designer to inflict a choice … on the user simply because the designer couldn’t think hard enough to decide which option is really better.”

Havoc Pennington also discusses the question of preferences. “For any program, there are literally an infinite number of possible preferences. Each one has a cost. … the UI developer’s job is to choose the useful subset of possible preferences.”

I don’t know why every software engineer doesn’t care about the human experience. If people don’t use the software we write what’s the point?