Posted on March 30th, 2015
I have been making my way through The Design of Everyday Things by Donald A. Norman, a book that tries to bridge the gap between the functionality of objects and the way users interact with them. It was originally published in 1988 (which makes for some slightly dated but charming references, such as an in-depth discussion of the hold feature of a new phone system), but the principles are still relevant today in user-centered design theory.
A section on “How People Do Things” outlines the seven stages a person goes through when they decide to interact with a system or object. As seen through the lens of web usability, this is a helpful reference to have in terms of what goes through a user’s mind and the actions they take.
Through these phases, the user starts at “I have a goal to meet,” and goes through each mental steps until they make a final evaluation such as “The website responded like I thought (or not) to my actions towards meeting my goal.”
This can be seen as a successful interaction between the user and the website. They had a specific goal, they took actions towards meeting the goal, which produced the desired results from the website and feedback to let them know they were making progress to meet their goal.
In unsuccessful instances, phases in this process break down. A number of things could go wrong on the user-side, such as a mistyped query, clicking a different button, or using the dropdown menu that would take them to a different department where boots aren’t available. Amazon takes steps to correct many of these errors before they can occur (such as auto-filling the input as the user types), which makes for a better experience with fewer user errors.
While some users visit a website with a specific goal, there are others who take opportunistic actions instead of focusing on the steps they need to take to meet a goal. This user might know they want boots, but instead of searching Amazon for boots, they might browse different websites, noticing sales and promotions, and taking advantage of the conditions they encounter towards the same goal of buying a pair of boots. These users respond to events in the world (data driven behavior) and go about meeting their goals in a different way.
Amazon caters to these users as well, listing products on their home page that are relevant to past searches and purchases, as well as seasonal and popular items. If you have a goal to buy a mother’s day gift, for instance, Amazon makes it easy for you to take opportunistic actions to meet this goal without actively planning the steps you need to take.
The Design of Everyday Things gives one clear example of the breakdown between a user’s intentions and the response of the tool they are using. A person is trying to load film into a projector (because it's the 80’s, after all), and they can’t figure out which way to put the film in, or if anything they’re doing is bringing them closer to their goal. This task can resolve in a few ways. The user can decide to give up, blaming themselves for the failure of the device. They could also decide there are incapable of figuring out the device because it’s too complicated to use. Or, they can muddle through a bad user experience, finally stumbling upon the correct way to load the film, frustrated with themselves and/or the machine.
This breakdown arises because of what Norman calls gulfs which separate the mental states from physical states.
Knowing about these gulfs in the user’s experience means that the designer must take steps to set the user up for a successful interaction with the tools available to them. One way to do this is to provide consistency in the operations and the results the user receives, setting up in the user’s mind an easy-to-follow conceptual model of the system they are interacting with. Consistency across the site will let the user more quickly determine where things are and how they are meant to interact with them.
There should also be good mapping, meaning a visible relationship between the actions a user takes and the results the system gives to them in response. For example, feedback when a button is pressed, highlighting a text field that is in use, or providing a loading or progress bar to show that the user’s action is leading to some result. This also means that the user should receive full and continuous feedback about their actions and the results they create (for example, are they getting any indication that what they are doing is working?).
I find it helpful to think about interacting with a website like working with an unfamiliar tool. The user needs to feel confident that they can get the tool/website to give them the desired results, and that they will be able to figure out what to do in order to get these results. This will lead to a more positive user experience, and ultimately, a more satisfied user.