datapanik - elegant tools that do useful things for real people
phone: 604 767 1997
USER CENTRED DESIGN
ARTICLES and RESOURCES
This article first appeared on the HCI Resource Network Web site.
Why is usability so hard?
I was asked a very interesting question the other day. "Why is usability so hard? Isn't it just common sense?"
This is a great question, and one that took me a long time to be able to answer. My difficulty was not because usability is actually easy, but because it can be hard to approach that question properly. The answer is complex and detailed, but like all good things, the basic idea behind it can be explained simply. It's that simple answer that eluded me until now. The problem is partly in the questions. Usability testing is relatively simple and straightforward. The first question should really be "why is it so hard to build usable sites?"
To explain the complexity and difficulty involved in building a usable site - usable design in general, in fact - I need to take a couple of steps backwards. En route I'll explain the difference between a user interface designer and a usability specialist. But first I'll address the issue of common sense.
There's nothing so uncommon as common sense
As a friend so aptly stated, "the problem with common sense is that it's relative." Common sense is not an empirical truth; it's entirely based on our own experiences. Some truths may be more common than others, but little can be safely assumed on behalf of all people.
It may seem to be common sense to most Web designers that you roll the mouse over a Web page to see where the links are; to most end users this is not at all predictable or common. Very little is truly "common" to everyone in how we make sense of the world.
To make a design seem simple and clear to an end user, the designer must do two things. First they have to make sure they don't let their own common sense slip in where it's not appropriate, and secondly they need to find out what, if anything constitutes common sense to their target audience. Sometimes there may not be any common wisdom that can be depended on. At other times, there are rules of thumb and common knowledge, tacit and explicit, which everyone in that group knows. The only way to know this is to talk to and observe the end users.
Usability is a variable, not an absolute
One of the reasons why it's so hard to create usable design is that it's so easy to get away with bad designs. Humans are remarkably adaptable creatures. We are, generally speaking, quite resourceful and determined. We have surprisingly limited capacities at a cognitive level and yet we routinely overcome, plough through, and take shortcuts through those limitations to do amazing things.
Building something truly unusable, in the sense that it literally cannot be used, is actually extremely difficult. But just as much of a challenge is designing a system that recognises where the real challenges should lay, and eliminating all the other things that might get in the way. What is easy is building something that more or less works most of the time, or that works but requires special effort and concentration and is prone to errors.
Understanding goals, tasks, and strategies
Another problem on the path to usable design is understanding the real reasons why people use the things we build - their goal.
The goal can be defined as what people are trying to achieve. The tasks are the steps that need to be accomplished to fulfil that goal, and the strategy is how you are going to accomplish those tasks. So for instance, when someone is visiting a web site so that they can buy a lawnmower, the goal is not to buy a lawnmower, the goal is to cut the grass. The task is to buy a lawnmower, and the strategy may involve going to the web site to buy a lawnmower. This is important, because the strategies and the tasks can change and still result in the goal being achieved. If the web site doesn't look like it's got what the user wants, they can switch the strategy to "going to the store down the street to buy a lawnmower" and still succeed at both the task and the goal.
Now imagine that you are writing a thank you letter. Your goal is to thank someone for a gift. Many people make a mistake here, forget the goal, and mistake the strategy (starting the computer and loading a word processor) for the task. The task is to write a thank you letter. The strategy is to use the computer. If the goal can be achieved with only two or three sentences the computer is actually a cumbersome and difficult strategy to accomplish the goal. A simpler approach would be a pen and a piece of paper, or a card.
It should be noted that goals might be nestled within other goals that are nestled within other goals, etc. The goal of purchasing a new car is part of the larger goal of owning a car that is part of a larger goal of having freedom to move around. Defining the specific goal at work in a given situation has to take into account this contextualisation, because alternatives at a higher level may make the immediate goal unnecessary. If you move closer to your work, the need to own your own car may be greatly diminished, and the goal of purchasing a car may be eliminated.
Recognising and discovering the true goals
For those of us who use the computer all day and for all sorts of tasks, the computer becomes a simple and comfortable way to accomplish many goals, because we spend a lot of time focussing on computers.
Most people don't use computers in the kind of intensive, global way that those who develop software and Web sites do. Many people see and use computers as a big, fancy typewriter. If you like computers, the whole goal/task/strategy thing can become reversed. Using the computer is your goal, and the tasks and strategies are formulated to allow that to happen.
It can be easy to forget what the ultimate goal is when you're concentrating on tasks and strategies. Sometimes we get sidetracked, and our goal changes without us being aware of it. We may accomplish something good and useful and still miss the original point of an exercise, leaving that goal uncompleted. Sometimes the goal may be hidden or unclear, but there is always one in there somewhere.
So the first trick in designing usable systems is actually to not think about the computer at all, but to focus instead on the goals. If someone is familiar and comfortable with achieving a specific goal using a non-computer solution then simply putting a computer in front of him or her which has the capacity to do what he or she is already doing is not a compelling or interesting option. The computer has to make that goal, and the tasks required to accomplish it, somehow easier or more advantageous. And remember this is not just a case of "is it easier to do on the computer than without the computer", you also have to factor in the time and effort required to learn the new methods and strategies that a computer introduces into the tasks.
How many times do you do something that you know can be done more easily, but you stick with the familiar method anyways? And how many times have you tried to convince someone to do something on the computer because you know it's better/faster/more accurate that way, only to have them insist on sticking with their old, clumsy, slow method? They're focussing on the goal and their familiar tasks and strategies. If the computer is going to be a successful option for achieving that goal, the tasks and strategies involved in using it must be clearer and simpler than using the existing method. So it's critical to understand and correctly identify the goals if a design is to be usable. In this sense, usability and user interface design has nothing to do with colours and buttons and rollovers, it's the larger issue of why the person is using this design in the first place. The challenge in writing a difficult letter is not in the using the pencil and paper or in operating the word processor, but in formulating the concepts and expressing the thoughts well.
The nature of the challenge
It's also important to recognise that we all enjoy challenges. We like to master difficult things - calculus, Everest, business, music. We rise to a challenge and frequently on meeting the challenge we deliberately make things a little more difficult and try again. Those of us who work with computers all the time are accustomed to the challenges they present and, lord help us, many of us get to enjoy those challenges. Programmers, in particular, can become consumed with the challenge of mastering and taming the technology to the exclusion of other things, and we depend on them for that.
Putting the challenge in the wrong place
The challenge faced by a new car buyer is to learn about the cars that are available, understand what they're looking for, find the best deal, and make the purchase. In the end they will have met the challenge and accomplished the goal. But the challenge and the goal in this case have nothing to do with working with computers or figuring out user interfaces. Any challenge that is presented in the interface is taking away from the challenge of buying the car. To Web designers, the satisfaction of working in this industry comes from exploring new options, playing with new technologies, and figuring out and mastering the Web's various structures and interfaces, but to the car buyer the satisfaction comes from knowing an important detail or feeling like they have made the right choice of car. The more we get in the way of the car buyer's goal by introducing our own challenges, the less usable the site becomes.
Understanding the person
Once you have the goals and tasks reasonably clear, you have to contend with the person. People can be a bit maddening at times. By this I mean that what makes us special and individual can also be the thing that makes us seem frustratingly unpredictable. But even with all of inconsistencies and idiosyncrasies, there are certain basic characteristics that we all share. These are the "human factors" of psychology, cognition, and physiology. As noted earlier, our capacities for reasoning and memory and perception are really quite limited - for instance, the vast majority of people cannot keep track of more than six or seven independent pieces of information at any given time, even under favourable conditions - but we have evolved some fantastically elegant methods of coping and extending those limitations. As a result, we appear to have more skills and abilities than we really do. But scratch the surface and the limitations start popping up.
Because we are so good at making do with limited abilities, we tend not to see these limitations. "Human error" is often blamed when something bad happens, but the error we are attributing to the human was a completely predictable result of a design that failed to take into account these limitations. It's really design error we should be blaming in many cases. Because we see ourselves as functioning much more highly than we really do, it looks like the operator of the machine did something silly like fall asleep or fail to see the blinking red light in the sea of other lights that should have been obvious. Unusable systems make a lot of assumptions about what people will see, understand, and remember. Designers have to be keenly aware of and sensitive to these human factors. Not only do they have to recognise these abilities and restrictions in their end users, but also in themselves and the effect it has on the design process itself.
At a very basic level we have a strong tendency to see ourselves as being archetypal and our current situation as being "normal." Most of us are not conditioned socially, nor primed cognitively, to spend a lot of time thinking about people who aren't like us or situations that are not familiar - and for obvious reasons. But as a result we fail to appreciate the differences, small and large, that exist between us. This extends beyond basic human factors and into the world of sociology and cultural anthropology. From the subtle differences in perspective between two people who spend a lot of time together, to the large differences in attitude, culture, expectations, and experience between people from different parts of the world, we are just not very good at seeing things through each others' eyes without a concerted effort.
On top of understanding the nature of the tasks and goals, the basic human factors, and the effects of psychology, society, and culture, there is also the matter of context. Designs never exist in a vacuum. Any designed tool, from a coffee maker to a CAD programme, exists in the context of other tools, environments, and times. The design of a Web site has to be aware of the various layers of context that surround it.
The cornerstones of designing usable systems
These are the cornerstones of user interface design - people and goals/tasks/strategies existing within a context. To create usable, effective designs that people like, you need to understand all of those on their own terms and as a functioning whole. And that's why designing usable systems is so hard.
The new media industry wakes up to usability
For a long time, the new media industry's goals have involved things like "staying on the cutting edge," "harnessing the new technologies," and "content creation." This last one is particularly telling. Nowhere in the expression "content creation" is there mention of a person or a need. Our goals where the ones listed above, and doing useful things for real people was just one of many possible strategies.
For years the new media industry basically built the designs that we'd like to see. Sometimes this was overt and intentional, and other times it was subtle and without even being aware that it was happening. And we got away with it because the targets we chose had very loose criteria for success. Esoteric information, games, and "edutainment" - it was easy to make these appear successful because all you really needed to do was get someone to look at them to be a success. Capturing people's attention is child's play. Holding that attention is trickier, and doing something useful with it can be quite difficult.
When ecommerce came along all of a sudden had a clear way to define success - is the site making money? Ecommerce was in large part responsible for the current interest in usability. When everything else is in place and a site is not making money, one of the logical places to look is the mechanics of how things are supposed to be happening.
It is here that I can more easily explain the difference between a user interface designer and a usability specialist.
The difference between a user interface designer and usability specialist
The user interface designer takes information gathered about the nature of the tasks and goals, combines it with a knowledge of human factors, culture, psychology, graphic design, and many other areas, and produces an interface which is designed to allow the end user to achieve their goals in a clear, appropriate way. The usability specialist is the one who tests that design.
The role of the usability specialist is not a creative one in the same way that a user interface designer is creative. The usability specialist simply reacts to the design based on established guidelines borne of experiments and experience (heuristics), or has end users react to the design by having them use the design in a typical way and observing the results. In both cases, what the usability specialist does is provide a verification role. The user interface designer is responsible for trying to balance the varied requirements for a design and create what they think is the right solution. The usability specialist confirms that this design does meet the needs, expectations, and abilities of the end users. It is precisely because the process of designing a system for someone else is so difficult that usability testing is so necessary. The literature of usability is rife with examples of well-intentioned projects that missed something "simple" and released a product that was fatally flawed. Thankfully, it's also full of examples where the user testing process was used and better products resulted.
Usability is not a new thing. It's as old as the concept of tools. The first usability engineer was the one who said "look buddy, this axe is very sharp, but it's hard to keep the end from flying off once you really get going with it." We have always struggled throughout human history with this problem.
In short, the computer should help achieve the goal and overcome the challenges, not add new ones. The user interface designer needs to concentrate on understanding the end users, the nature of their goals, and the context in which it will be happening. The usability specialist is there to guide that effort and do the only thing that will really prove whether a design works or not - try it out with real people performing real tasks in pursuit of real goals in the real contexts.
So there it is. Designing usable systems is hard and common sense is not common at all. The issues touched on here go considerably deeper, and that's the domain of a user interface designer and a usability specialist. It's what makes them valuable and the systems they produce effective and appreciated.
© 2001 by Adam Smith