This week I got a rental car that had three buttons on the front of the dongle with the keys. In most cases, it’s lock, unlock, and open trunk. On this key chain, it was lock, unlock, and alarm. Seriously, the alarm was front and center and exactly where you would normally expect another function. At least twice in three days, I hit the alarm button while thinking I was unlocking the trunk. And there’s nothing that feels more foolish than drawing everyone’s attention as you scramble to turn the stupid thing off.
No one likes to feel stupid, and yet that’s exactly how so many computer interfaces make us feel. Making matters worse, computers are now integrated into almost every part of our lives – from our car remote to our kitchen appliances.
But why are computer interfaces so bad? Alan Cooper explains why in The Inmates Are Running the Asylum. Unfortunately, computer programmers build interfaces that they would like to use personally, but computer programmers are not like everyone else, and they see the world differently. Cooper points out 4 key differences:
- Programmers trade simplicity for control:
Cooper explains the difference by comparing it to the direction you take as you board a plane. When programmers enter the plane, they turn to the left and sit surrounded by controls and gauges in the cockpit. They want to see and be able to control as much as possible the system in front of them. Everyone else turns to the right, they just want to get to where they are going. The result is that most of our software has about as many or more options than a plane cockpit.
- Programmers exchange success for understanding:
Cooper asked a large group of programmers: How many of you took apart an alarm clock when you were young? Almost everybody. Okay, now how many of you put it back together. Three. Programming is about problem solving and in the process, you end up with many failed solutions before finding the one that works. Programmers delight in this process of understanding and subsequently solving this complex problem. Because complexity is fascinating, they assume the user will be as fascinated with the complexity as they are and want to understand all of the nuances. Reality: they don’t.
- Programmers focus on what is possible to the exclusion of what is probable:
In computer programming, if you don’t consider all of the corner cases, your program will fail. As a result of the focus on edge cases, the interface prioritizes the possible (there might be some customer out there that wants to do this) vs. what is probable (Most of our customers will want to only run this operation). This is why most of the software you use has menus that contain 90% more items than you likely use.
- Programmers act like jocks:
While I know many people in computer programming who behave exactly this way, this one didn’t resonate with me, but is probably summarized by a quote occasionally heard: “It was hard to write, therefore it should be hard to use”.
The Inmates Are Running the Asylum provides an excellent explanation and defense for why user experience design is needed in order to create a product that is actually desirable rather than simply being functional. Most of the process employed by User Experience Designers is to develop a sense of empathy for the customer that can be shared within the entire company. The result is a product that people love to use instead of put up with. An iPod instead of a key dongle that makes lots of noise.
“When something can be read without effort, great effort has gone into its writing.”
Enrique Jardiel Poncela
(I guess writers and programmers are quite different…)
Pingback: A plug for a friend’s blog « Explaining Technology