Thursday, September 20, 2012

Design of Everyday Things: Overall Summary


The Design of Everyday Things can be summarized trivially by concatenating my previous blog posts, so I am choosing to use this entry to discuss my thoughts on the book and what I’ve taken away from it.

This book made me think about design in a completely new way. I’ve always known that a product’s success or failure hinged heavily on design, but I’d never before considered the aspect of designing a product or system analytically. Design makes an impact not in what you notice, but in what you don’t notice. It is a very subtle art that evidently eluded me prior to reading this book. I’ve learned that a product’s design should aim to be as intuitive as possible by utilizing constraints and natural mappings. Both of these forms of communicating function to the user operate on a subconscious level to guide the user without them becoming aware. Nobody explicitly thinks about the driver’s seat being located on the left or a floppy disk not fitting in an optical drive, these things are obvious to us because humans rely on previous experience and physical constraints to reason about the world. We are naturally hardwired to take these types of things into account, and therefore, they don’t impede our thought processes or interrupt our flow.

This book also opened my eyes to the processes involved in learning a new system and the various types of pitfalls that we encounter frequently across a wide variety of devices but attribute to human error. People depend on their perceptions to interpret events, which often leads to the misattribution of causality, leading people to blame themselves or software for instance, when the real issue is a hardware problem. The book analyses decision-making using the Action Cycle, Stages of Evaluation, and Stages of Execution, all of which are combined into the Seven Stages of Action. These models help to identify two primary sources of error that result from poor design: the Gulfs of Execution and Evaluation. The Gulf of Execution is the gap between user intentions and actions allowable by the system and the Gulf of Evaluation is the gap between a user’s interpretation of the system and how well the intentions have been met. Errors occur more frequently when these gulf are large, primarily due to a lack of visibility and feedback. Visibility is a design principle aimed at improving a user’s ability to identify available actions and feedback is important because it informs the user of the state of the system and the effects of their actions.

I definitely feel that reading this book has made me a better programmer by informing me of the aspects of design outside the scope of software. Knowing how a user thinks about systems and formulates decisions is a valuable asset when designing for usability. Additional topics that were discussed in varying length that I found particularly interesting were forcing functions, the reversal of design principles for increasing task difficulty, and the use of information in the world to remind and cue user behavior.

Design of Everyday Things: User Centered Design


Design should enable the user to figure out what to do and to figure out what is happening by:
  • Making it easy to determine what actions are possible by using constraints
  • Making the conceptual model, alternative actions, and results visible
  • Making it easy to evaluate the state of the system
  • Following natural mappings

Additionally, the principles of design are:
  1. Use knowledge in the world and in the head
    1. Knowledge in the world is useful if it is natural and easily available
    2. Knowledge in the head is more efficient and therefore, design should not impede experienced users
  2. Simplify
    1. Minimize the amount of planning needed to complete a task
    2. Understand the limits of human memory
    3. Use technology to enhance visibility
    4. Provide mental aids
  3. Make things visible
    1. The user should know what is possible and how to carry an action out
    2. Actions should match intentions
    3. System states should be readily apparent
  4. Use good mappings
    1. Relationships between intentions, actions, effects, and states should be intuitive and natural
    2. Take human factors into account
  5. Exploit constraints
    1. Use real and imagined limitations to guide users actions
  6. Design for error
    1. Understand that error is inevitable
    2. Make actions reversible and irreversible actions difficult to initiate
  7. When all else fails, standardize
    1. When good mappings aren’t possible, use standardized mappings
    2. Users are trained to recognize standards
    3. Standardizations are an extension of cultural constraints

Principles and practices of good design can be manipulated to make tasks that should be difficult, difficult. Guns should not be readily accessible, some doors shouldn’t be opened, etc.

Design of Everyday Things: The Design Challenge


The design process involves testing, modification, and retesting, which necessitates that the item in question be relatively simplistic and the craftsmen flexible. This process is known as hill-climbing. This process is hampered by time constraints and the desire for individuality - everyone wants their product now and the want it to be unique. These goals prevent designs from benefitting from their previous iterations.

There are also other considerations that affect design. Usability affords comfort at the expense of aesthetics and designing for aesthetics negatively impacts comfort and efficiency. When cost considerations dominate, comfort, aesthetics, and durability all suffer. All three considerations must be carefully balanced to create a good design. This is a difficult prospect when you consider that designers are “professionals” that are often judged by their colleagues based on aesthetics, clients are typically focused on cost, and the users’ desire for usability is often not met.

Wednesday, September 19, 2012

Design of Everyday Things: To Err is Human

Humans are prone to error, which can be broken into two categories. Slips are errors resulting from automatic behavior and mistakes result from conscious decisions. Slips are typically minor, easily identified errors, whereas mistakes are much more difficult to detect and can be major events.

Slips can be further broken down into capture errors, description errors, data-driven errors, associative activation errors, loss-of-activation errors, and mode errors. Capture errors occur when habitual actions override intended actions, such as finding yourself driving to work on Sunday instead of church. Description errors occur when an intended action is similar to other available actions and a lack of specification results in a slip. This type of error is most frequent when right and wrong choices are in close proximity. Data-driven errors occur when extraneous data influences our actions, for example, typing a phone number instead of a credit card number shortly after calling someone. Associative activation errors when external data triggers an incorrect action - saying "come in" instead of "hello" when answering a phone. Loss-of-activation errors occur when we forget what we are doing. Lastly, mode errors occur when devices have contextual operations and we operate one mode thinking we are operating another. Design can be improved by taking slips into account - minimizing them and providing adequate feedback and correction when they inevitably occur. Minimizing slips can be done by differentiating choices and requiring confirmation. Another good design consideration would be the elimination of irreversible actions.

Mistakes occur from choosing inappropriate goals - poor decision-making, misclassification, or lack of information. Humans make decisions based on expectations and prior experience rather than logical deduction. Previous chapters have already explored the problems associated with memory, so it is no big surprise that people make so many mistakes. Another theory of cognition is the neural net approach. This theory uses the structure of the brain to conclude that human cognition is based on activation and inhibitory signals that travel along neurons through the brain. Thoughts are represented by stable patterns of signal activity.

Tasks can be structured into models for analysis (data structures). Turn-based decision-making games such as tic-tac-toe can be modeld using a decision tree - the author refers to this type of structure as wide and deep. Simpler sets of data, such as a menu, can be represented using a list - this is a shallow structure. An example of a narrow structure is a cookbook recipe, where there are few alternatives, resulting in a decision tree that is narrow and deep.

Behavior is often thought of as conscious, but much of it is subconscious. Subconscious thought is based on pattern recognition and generalization. By analyzing trends the subconscious is able to guide behavior quickly and efficiently, but perhaps not as accurately as we might like. Conscious thought is slow, laborious, and relies on STM, which we know is very limited and subject to flaws.

Mistakes are very hard to identify, especially when they are a result of misinterpretation. Furthermore, understanding of an event before and after is occurs can be drastically different. Another factor to consider is the role of social pressure. The perception of pressure leads to misunderstanding, mistakes, and accidents.

The author discusses 4 things that designers can do to design for errors:

  1. Understand the causes of error and design to minimize those causes
  2. Make actions reversible whenever possible and make irreversible actions difficult to carry out
  3. Make erros easily discoverable and correctable
  4. Change the attitude toward errors. Think of actions as approximations of what is desired.
Forcing functions address errors by forcing users' actions. An interlock forces operations to take place in proper sequence (a microwave cannot function with the door open). A lockin keeps an operation active when appropriate (soft functions as opposed to hard functions). Lockout devices prevent actions, such as safety rails that prevent accidental death. Forcing functions are very effective but almost universally hated by users. People don't like constraints, even if they are in the user's best interests.

Monday, September 17, 2012

Design of Everyday Things: Knowing What to Do

This chapter begins with an experiment involving Legos, in which a 13 piece motorcycle has constructed with no prior information or guidance purely based on the set physical, semantic, and cultural constraints applied to it. Physical constraints limit possibilities - a square peg cannot be placed in a round hole. No special training is required to understand physical constraints because they are governed by the world, however, their effectiveness is determined by the ease with which they can be determined and interpreted. Semantic constraints rely on the meaning of the situation - in this case, there is only one sensible position for the driver. Cultural constraints rely on accepted conventions - signs should be visible, screws are tightened clockwise. In this case, the "Police" sign on the motorcycle should be placed right-side-up and in a visible location and the clear yellow brick is obviously a headlight, as is the convention. Logical contraints applied to the construction of the motorcycle include the imperative that all blocks be used with no gaps in the final product. Natural mappings work by providing logical constraints.
Next the author discusses several examples of poor design. He begins by re-addressing the door situation presented in chapter 1. Then, he moves on to discussing switches, which frequently lack a logical mapping and grouping. These discussions are conducted in the context of mapping and constraint principles discussed in previous chapters.
The principle of visibility states that relevant parts should be made visibile and the feedback principle states that actions should have an immediate and obvious effect. Visibility allows users to infer how an object is manipulated and what these manipulations can be expected to produce. Feedback allows users to learn through trial-and-error and reduce misattributions of causality and misconceptions. Feedback can be given visually or audibly. In fact, most sounds made by devices aren't made out of necessity, they are made to inform the user that an event has occurred (such as the shutter sound made by a digital camera).

The Design of Everyday Things: Knowledge in the Head and in the World

This chapter begins with the shocking realization that people's knowledge and behavior are not always equivalent - for example, a typist can type with speed and accuracy without being able to arrange the keys on a keyboard. The author attributes the following reasons for this phenomenon: information is in the world and combined with knowledge to produce behavior, precision is not required - the correct choice need only be differentiated from the others, natural constraints provide limits, and cultural constraints guidance. Furthermore, people possess two kinds of knowledge: knowledge of (explicit memory, declarative knowledge) and knowledge how (implicit memory, procedural knowledge).
Memory is divided into short-term memory (STM) and long-term memory (LTM). In computing terms, STM in analogous to RAM and LTM a hard disk. STM is limited to 5-9 segments - these segments need not be individual characters, a technique called chunking can be used (ex. a phone number is typically 7 digits in 3 chunks) and STM is very volatile. LTM contains information that takes longer to retrieve but isn't as easily forgotten. The author categorizes memory: memory for arbitrary things (rote learning), memory for meaningful relationships, and memory through explanation. Memorizing arbitrary things is difficult because of a lack of clues - no context. Memorization based on relationships is significantly easier, giving constraints and structure to limitless possibilities. The best form of memorization involves understanding. This allows a person to reconstruct the knowledge trying to be remembered using procedural memory. This is why mental models are so valuable.
In addition to memory, knowledge also exists in the world. One such form of knowledge is reminders, which consist of a signal and a message. Another way the world can communicate is with natural mappings, such as with burners on a range. There are tradeoffs associated with how knowledge is stored. Memory is requires learning and is not readily retrievable, but is very efficient and doesn't rely on clues. Knowledge in the world doesn't require as much overhead, but is dependent on the environment.

Design of Everyday Things: The Psychology of Everyday Actions

This chapter addressed the psychological considerations addressed by good design. People instinctively explain their surroundings, with or without adequate knowledge to do so. This results in misconceptions and misattributions of causality. The author illustrates these concepts using examples such as an A/C thermostat and a colleague's computer problems. Many people think of a thermostat as a valve or a timer, and that turning the temperature up higher or lower than intended can speed up the heating/cooling process. This is a misconception - a false mental model. The colleague's computer troubles resulted from a misattribution of causality. He thought that a program was causing his terminal to fail, when the real culprit was a hardware problem. When problems such as these occur, people are apt to blame themselves and become frustrated.
The chapter goes on to discussing the stages of action: perception, interpretation, evaluation, goals, intention to act, sequence of actions, execution of sequence. These stages form an approximate model and a continual feedback loop into the world. The loop can be started at any point, and people don't always behave logically with well-formed goals. These stages serve to aid design by re-emphasizing the principles of good design: visibility, good conceptual model, good mappings, and feedback.