CHAPTER 8: Design for Extremes – User Interface Design for Programmers

Design for

Consider if you will a simple key.

Nothing fancy, just your ordinary house key.

Is a key easy to use? It might seem so. On a sunny day, when a sixteen-year-old lad with sharp eyes comes home from soccer practice, puts his key in the lock and turns it, it sure seems usable enough.

But later that day, Dad comes home carrying two big bags of groceries in his arms. He has to fumble a bit before the key goes into the lock, and eventually he drops the left bag and oranges go rolling all over the front porch, to the delight of the neighbor's dog, who starts barking and yipping and running around and generally being a nuisance.

Then, when Grandpa comes to visit, his hands shake a little and it takes him almost a minute to get the key into the lock. By the time Mom gets home, it's dark and nobody turned on the damn porch light so it's very hard to see where the slot is.

Good usability doesn't just mean "usability under the best of circumstances." It means usability under as many adverse circumstances as possible. This is a principle called design for extremes. Don't design something that can only be read in daylight: design it to be read in dim light, too. Don't design something that can only be handled by a strong, seventeen-year-old athlete; design something that an arthritic person can use as well. Design things that work outdoors, in the rain, when you're not looking, when you didn't read the manual, when you're distracted by bombs falling around you, or volcanic ash, or when you've got both arms in a cast and can't quite turn your head.

One day a man named Sam Farber was watching his wife peel apples for a tart. She had mild arthritis, so the process was slightly painful. Sam called his friend Davin Stowell who had started a design firm in New York City called Smart Design and together they came up with the idea for a line of kitchen products that would be more comfortable for people who suffered from arthritis. They made hundreds of models of handles using wood and Styrofoam. They tried them on all kinds of people. Eventually they honed in on the design that was comfortable for almost everybody.

Arthritis is a joint inflammation that can cause swelling and pain. Sam's products have big handles that are easier to grip than the usual pencil-thin variety. They are ergonomically designed to fit into human hands comfortably. The handles are made of a soft, black rubber called Santoprene, which means you don't have to squeeze tightly to keep them from slipping; even a weak grasp is enough. The handles have a soft, bristly rubber area near the top where you can grip them comfortably with your thumb and forefinger. This makes the handle even less slippery, especially when it's wet.


A cheese slicer and a cheese grater made by OXO International. Originally designed for arthritis sufferers, it seems that everybody likes using OXO Good Grips tools.

One in seven people suffer some form of arthritis—that's almost forty million people in the United States alone. Designing a line of products for just that market niche was likely to succeed. Indeed, Farber's company, OXO International, became a stunning success. But their market is not just people with arthritis: everybody likes OXO products. They are simply more pleasant to use.

Back to the problem of keys. When you design a key-entry system, you can't just design it for optimal conditions. You have to design it so that it is easy to use when your hands are full, when it's pitch dark, when your hands are shaking, or when the teenager from next door puts superglue in the lock to get back at you for telling his parents about the big party he had while they were in Jamaica.

Having trouble imagining such a system? I think that proximity cards—colloquially known as card keys—come pretty close. If you haven't seen one, it's a small card the size of a credit card but a little bit thicker. When you wave it within about six inches of a scanner mounted next to the door, it releases a mechanical lock, usually magnetic, and you can push the door open. You can keep a card key in your pocket, and when you get near enough to the door—voila, it opens. It works better under extreme conditions (well, maybe not power failures), but, more importantly, everybody finds a card key easier to use than a normal key, even under the best of conditions.

  1. Design for extremes so that your product can be used under extreme conditions, and
  2. Design for extremes so that your product is more comfortable to use under normal conditions.

Designing with these ideas in mind is called respecting the user, which actually means not having much respect for the user. Confused? Let me explain.

What does it mean to make something easy to use? One way to measure this is to see what percentage of real world users are able to complete tasks in a given amount of time. For example, suppose the goal of your program is to allow people to convert digital camera photos into a Web photo album. If you sit down a group of average users with your program and ask them all to complete this task, then the more usable your program is, the higher the percentage of users who will be able to successfully create a Web photo album.

To be scientific about it, let's get one hundred real world users together in a room. They are not necessarily familiar with computers. They have many diverse talents. Some are world famous ballerinas. Others can herd cats. Some are nuclear engineers, others are world-class morons.

Many of these people emphatically do not have talents in the computer area. Others might be good at computers, but they are distracted when they try to use your program. The phone is ringing. WHAT? The baby is crying. WHAT?! The cat keeps jumping on the desk and batting around the mouse. The computer mouse, I mean. I CAN'T HEAR YOU!

Now, even without going through with this experiment, I can state with some confidence that some of the users will simply fail to complete the task or will take an extraordinary amount of time doing it. I don't mean to say that these users are stupid. Quite the contrary, they are probably highly intelligent. Or maybe they are accomplished cello players, or whatever, but as far as you're concerned, they are just not applying all of their motor skills and brain cells to your program. You're only getting about 30% of their attention, so you must make do with a user who, from inside the computer, does not appear to be playing with a full deck.

I haven't talked about software for a while. When you're designing for extremes with software, the three most important "extremes" to remember are:

  1. Design for people who can't read.
  2. Design for people who can't use a mouse.
  3. Design for people who have such bad memories they would forget their own name if it weren't embossed on their American Express.

These are important enough that they each merit a chapter.