By Jim Bradford, Ph.D.
The Bradford Report
From time to time when I use a new application, I seem to develop a kind of Tourette’s Syndrome characterized by teeth grinding, fist clenching, and dark mutterings. As I struggle through yet another badly designed, user-unfriendly system, I find myself wishing fervently that Bill Gates had finished college.
Technically, the user friendliness of a system is known as “usability.” There is an entire academic discipline (variously called “Human Factors” or “Ergonomics”) that is devoted to the study of usability. But if you don’t happen to have a Ph.D. in Ergonomics, how do you recognize a well designed, highly usable system?
Mental Models and the Psychology of Geeks
The human brain constantly monitors the environment and creates models about it. This allows us to think about our environment and make predictions about what will happen next. We carry over this natural tendency to model things into our interaction with computers.
Not all models are created equal, however. I have a friend who believes that if you set a thermostat as high as it will go, it will warm up the house faster. It is not an unreasonable model — it just doesn’t happen to be right.
The best system designers work hard to give you many clues about how a system works. This allows your brain to make a good model that produces accurate predictions about system behavior. When you encounter such a system, you begin to feel that the system is natural, intuitive, and easy to use.
Unfortunately, geek psychology doesn’t often lead to this kind of design process. In 1971, Gerald Weinberg published his (now classic) book, The Psychology of Computer Programming. To boil a long tome down to its essence, the kind of person attracted to computer programming is frequently the type of person the media would characterize as a “troubled loner.” Unfortunately, the design of usable systems requires a well-developed ability to understand how people think, feel, and react when confronted with a complex system. As a rule, troubled loners are not good at this.
As a consequence, human factors experts are often drawn from the “touchy feely” disciplines (i.e., anything other than engineering or computer science). They are often brought in to fix computer systems that are so horribly hard to use that almost no one can make them work. This strategy is akin to bringing in a doctor only after the patient has died. The usability specialist does what he or she can, but the result is usually a system that has evolved from being impossible to use to the point where it is merely frustrating to use.
The traditional approach to developing computer software (design-code-fix) is pretty well entrenched. Thirty years of preaching from academia has not noticeably improved the usability of computer systems. The key to usability, I believe, is an informed and demanding consumer. This is rooted in a fundamental property of a free market economy — if people stop buying poorly designed products, companies will eventually stop making them.
The Informed Consumer—How to Recognize Usability
This design principle dictates that the appearance of things should provide a strong hint about how they are used. A hammer looks like it would be good for driving nails. A screwdriver suggests how screws should be managed. An espresso machine … well, not so much. Hammers and screwdrivers have good affordance and espresso machines have poor affordance. When you look at the user interface of a new piece of software, do the commands, buttons, menus, and other gizmos give you a good idea of how to use the system? If they don’t, it’s Strike One against the designer.
When using complex systems, people will make mistakes. This provides the acid test for usability. Have you ever encountered an error message that says something like, “Illegal command or filename”? Good grief! Which is it, the command I just used or the file I just named? What law did I break? What makes a command illegal? Why can’t I call a file anything I want?
Can you imagine if other products were designed like software? Can you imagine a dashboard trouble indicator saying, “Illegal battery voltage or engine temperature”? If software doesn’t help you fix mistakes, then it is Strike Two against the designer.
Software is a tool. Some software is a tool for creating documents, other software helps manage your finances and still other software exists purely to entertain you. Well designed software should focus on doing a small number of distinct tasks (a half dozen at most) and it should be obvious how the controls of the user interface help you do each task.
Unfortunately many software companies prefer a “one size fits all” approach to development and end up creating a “one size fits nobody” product. If it’s not obvious how a software application’s capabilities relate to the task you have in mind, then it is Strike Three against the designer.
The Bottom Line
In recent years, the nature of our daily lives has changed to such an extent that many of us spend the majority of our working and private lives sitting at a keyboard. Usability has become an important determiner of the quality of life for citizens of the twenty-first century. If the software you use is not intuitive, if it is not helpful, and if it doesn’t fit the tasks you want to do, then walk away … just walk away.
Jim Bradford is a scientist, professor, and consultant dedicated to the art of making technology easier to use. He wrote this article specifically for the readers of HIStalk after we exchanged e-mails about the problem of usability in healthcare applications.