37 · Doing
Tesler's Law
Every system has some complexity that can't be removed. The only question is who has to deal with it.
Evidence: Rule of thumbWhat we do with it
- 01
Take on the complexity in the design and the code, so the person using it doesn't have to.
- 02
Don't simplify so far that people lose control they need.
- 03
Know which complexity belongs to the task itself. That part stays.
- 04
Expect it to creep back. Make a job easier and people start using the product for harder ones.
Examples
Getting it wrong, getting it right.
Don't
An import that fails on any spreadsheet whose columns aren't in the exact expected order.
Do
The importer matches columns by name, guesses the rest, and asks about only the ones it can't place.
The evidence
What the research says.
An engineer's observation from building products at Xerox PARC and Apple, never tested formally. We looked for a study and found none. It holds up in practice, and Bruce Tognazzini's 1998 corollary holds up too: make a task simpler and people take on harder ones.