David D Thornburg, Associate Editor
Humanizing The User Interface, Part 2
Last month I wrote about several ways to make software easy to use. Now let's look at a model of human behavior that may hold the key for those who want to make computer programs that really stand apart from the crowd.
Psychologists and sociologists have spent a lot of time trying to figure out why people perform activities like rock climbing, playing chess, and performing other tasks for which the motivation appears to be internal (or autotelic). One behavioral scientist who has studied this area in some depth is Mihaly Csikszentmihalyi, whose book, "Beyond Boredom and Anxiety" (Josey-Bass, Inc., 1975), makes some observations that are of great value to those of us involved with the design of user interfaces.
I believe that a good user interface makes the computer transparent to the user so he or she is free to interact purely with the application. Now look at some comments (typical of many) that Csikszentmihalyi collected from people involved with activities like playing chess: "The game is a struggle, and the concentration is like breathing - you never think of it. The roof could fall in and, if it missed you, you would be unaware of it."
A rock climber said: "You are so involved in what you are doing that you aren't thinking of yourself as separate from the immediate activity. You don't see yourself as separate from what you are doing."
The people described above are in "flow"-a state where action and awareness have merged. In this state the connection between the participant and the activity is so close that everything else seems to disappear.
Each of us has experienced flow at one time or another-perhaps while playing a game or watching a movie. But flow is a hard state to maintain. For example, a computer user might experience flow with a video game, only to be bumped out of this state by the computer not responding fast enough, or by requiring the entry of a complex command that needs to be thought about consciously.
People who are not in a state of flow are often in a state of boredom or anxiety. Flow appears as a narrow band between the two.
When a person feels that the complexity of a task is too great for his or her skill level, a state of anxiety is produced. On the other hand, someone who has a lot of skill will be bored if the challenges are not great enough. Flow exists when the complexity of a task is appropriate for the skill of the participant.
As many readers will attest, good video games provide a nice model of the flow state. Most games allow the player to progress through a series of levels. The first level may induce anxiety in the novice player, but the player then acquires enough skill to enter a state of flow. The trick in good game design is to progressively increase the challenge level so that, as the player becomes more skilled, boredom doesn't set in.
This same model could be applied to the design of other types of programs. For example, a full featured word processor might start out by encouraging the user to work with only a limited set of features, making the product easy to learn. As the user's skill increases more and more features can be revealed until the product is mastered.
This model of the flow state can help us understand another aspect of program design that seems to be misunderstood by some people. There is a difference between making a product easy to learn and making it easy to use. Ideally the product should have both of these features. Instead we often encounter programs that provide a tremendous amount of hand-holding for the neophyte, but which are cumbersome to use once the product is mastered. Ease of learning, in this case, makes the product cumbersome to the proficient user.
Many of the complaints that have been lodged against the early releases of Macintosh software can be traced to this conflict. The use of pull-down menus is wonderful to the first-time user, since various options and commands can be presented in plain English. However, the physical act of moving the mouse to the menu bar, opening the menu, moving the mouse to the desired selection, and selecting this item, is cumbersome to the user who already knows what choice he or she wants to make. This is why an increasing number of Macintosh programs have single keystroke equivalent commands for menu selections. For example, a menu item named SAVE is a more obvious command than Ctrl-S, but the latter is an easier command to give, once the user knows its meaning.
Ideally, programs should provide a seamless transition from being easy to learn to being easy to use. Each computer user should be free to learn at his or her own rate.
In the past, such programs were hard to create, given the limitations of the computers on which they were running. Now that the Macintosh and the Amiga have entered the scene, computer horsepower is no longer an issue. The time has come for computers to become as easy to use as any other appliance we have at home.