Preventing User Error
http://stfleming.github.io/icl-eie1-ucis-preventing-user-error/
Human error? No, bad design.
_"a common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools"_
-- Douglas Adams
- **Air Force:** It was pilot error -- the pilot failed to take corrective action
- **Inspector General:** That's because the pilot was probably unconscious
- **Air Force:** So you agree, the pilot failed to correct the problem
### Outline
* classification of errors
* state machines
* some terrible calculators
### Outline
* **classification of errors**
* state machines
* some terrible calculators
### Errors
* Slips - action performed is not the same as the one intended
* Mistakes - wrong goal or plan was formed
Calculator 1: a calculator
Calculator 2: a calculator with signifiers
Calculator 3: a calculator with an unconventional layout
Calculator 4: another calculator with an unconventional layout
Calculator 5: yet another calculator with an unconventional layout
Calculator 6: more unconventional layouts?
### capture-slips
* conforming to conventions is important
* avoid having procedures follow the same opening sequence
Calculator 7: the friendly advice calculator
Calculator 8: the polite friendly advice calculator
State Machines for design
### Calculator state machine
* numbers (**num**)
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
* operators (**op**)
- +, -, *, /
* clear command (**c**)
* equal operator (**=**)
Calculator 9: a calculator with an interactive state machine
Calculator 10: the mode calculator
Calculator 11: the mode calculator state machine
Calculator 12: the mode switch calculator
description-similarity slips
Calculator 13: the calculator with different buttons
Calculator 14: the calculator with a more distinct clear button
Calculator 15: the calculator with a more distinct clear button and more
Memory Lapses: making the internal state visible
Constraints: forcing function
Calculator 16: a calculator with constraints based on the internal state
Calculator 17: a calculator where internal state is even more explicit
Calculator 18: the undo calculator
### Conclusion
* Errors
- slips
- mistakes
* Slips
- Capture Slips (**conventions**, **different sequences**)
- Description Slips (**different buttons**)
- Mode Slips (**avoid**, **reduce friction**)
- Memory lapses (**interruptions**, **reduce steps**)
* State Machines