[Donald A. Norman, “The Design of Everyday Things,” Chapter 3] Knowledge in the Head + Mental Models CS 4640 Programming Languages for Web Applications [Donald A. Norman, “The Design of Everyday Things,” Chapter 3]
Where is Our Knowledge? Some knowledge for using a UI is in our heads We use software correctly by merging our knowledge with external influences: Information in the world – what we see We often do not need to be precise Good UIs constrain our use with syntax – electronic connections, radio buttons, elevator buttons Our culture constrains us – volume and headphones
1. Information in the World Whose face is on a $20 bill? $50? We do not need a map to go somewhere we are familiar with But we might not be able to give directions And what if we can’t read street signs? I often forget my classroom numbers after the first week, so use information in he world to find them How do you remember your 50+ passwords? I remember to bring my pointer to class by putting it with my notes when I prepare for class
Information in the Head Information in the World Information that we memorize Our own name Our address World Information that we see or look up Time Courses offered next semester We often move information from one place to another Our class schedule The room number for CS 4640
Two Types of Knowledge Declarative knowledge: knowledge “of” Facts and rules: class starts at 2pm, double click the .pptx file icon to open it Easy to write down and teach Usually requires memorization Procedural knowledge: knowledge “how” Allows somebody to accomplish a task How to get to class by 2pm How to find the icon and double click Much harder to teach and learn Taught by demonstration and learned through practice Requires deeper understanding
2. Precision is Not Needed People are not good at being precise The 1 dollar coin was almost the same size as a quarter Remembering 10-digit phone numbers is hard .. So my phone has a contact list and voice activation The French and Indian war occurred about 20 years before the US revolutionary war .. but which year? We learn to be precise in our field only after years of learning and practice A good UI must not require precision It should help the user find precision when required
3. Syntactic Constraints Spelling is hard .. but made easier by patterns What consonants can precede an “h”? “ch”, “gh”, “ph”, “rh”, “sh”, “th”, “wh” Singers, musicians, dancers, and martial artists don’t memorize as much as recreate based on patterns that “make sense” The syntax of a UI must make syntactic constraints clear In PowerPoint, if I highlight text, lots of actions are immediately enabled
Mapping Syntax to Semantics This arrangement has a natural mapping … fewer mistakes How can we remember which control maps to which burner ? Mistakes are encouraged
4. Mental Models Mental: users’ perception of reality Example distributed file system: files Implementation: how a machine, virtual or otherwise, is actually built Example: network protocols Manifest: how the machine represents the implementation to the user Example: local disk
Example: Driving a Car When we push the gas pedal, the car goes faster Mental: pushing makes it go faster Implementation: more gas to the engine, more pressure, pistons go faster, tires go faster … When we turn the wheel, the car turns Mental: turning the wheel turns the tires Implementation: turning the wheel turns something else (with help of a motor for power steering), which causes something else to turn, which puts the tires into a different angle
UIs and Mental Models Telephones: I want to call mom, not 1-434-xxx-xxxx Compile: I want to run my program, not compile, link, run File manager: dragging a file from window to window is Move on the same disk Copy from USB thumb drive to disk Calendars: paper calendars require paging, online calendars can scroll
Interfaces should conform to the user’s mental model UIs and Mental Models Predicting storms Does the prediction “30% chance of rain” mean It will rain in 3 of 10 locations in the area Less rain than if 50% chance, but more than if 10% On 3 days out of 10 with these “weather conditions,” it has rained in the past Dice If I roll a 6 five times in a row, what is the probability that my next roll will be a 6? Interfaces should conform to the user’s mental model
Summary Engineers are very comfortable thinking in terms of the implementation model Users are not!