Tesler’s law
Tesler’s law, also known as the law of conservation of complexity, holds that every application has an inherent amount of complexity that cannot be removed, only moved. The complexity that belongs to the problem itself — the essential complexity — has to be dealt with somewhere, either by the developer in the code or by the user at the interface.
The law is named for Larry Tesler, who formulated it while working at Xerox PARC in the mid-1980s. Tesler’s contention was that the developer should absorb that complexity rather than push it onto the user. A million users each losing a minute a day to a rough interface is a worse outcome than an engineer spending a week to spare them. The application becomes harder to build so that it stays easy to use.
The trade-off is not one-sided. Bruce Tognazzini observed that users tend to expand their ambitions to fill the complexity an application removes. Simplify a tool and the people using it reach for harder tasks, so the felt complexity returns even when the measured complexity has fallen. Conservation, in this sense, operates on both sides of the interface.
Tesler’s law is sometimes called the waterbed theory of complexity. Push the complexity down in one place and it surfaces elsewhere. It is the human–computer interaction counterpart of the more general point that essential complexity cannot be designed away, only relocated between layers, people, and time.
See also
References
- Saffer, Dan (2010). Designing for Interaction: Creating Innovative Applications and Devices. New Riders.
- Yablonski, Jon (2020). Laws of UX: Using Psychology to Design Better Products & Services. O’Reilly Media.