Law of conservation of complexity

The law of conservation of complexity, also known as Tesler's Law, or Waterbed Theory, is an adage in human–computer interaction stating that every application has an inherent amount of complexity that cannot be removed or hidden. Instead, it must be dealt with, either in product development or in user interaction.

This poses the question of who should be exposed to the complexity. For example, should a software developer add complexity to the software code to make the interaction simpler for the user or should the user deal with a complex interface so that the software code can be simple?

Background
While working for Xerox PARC in the mid-1980s, Larry Tesler realized that the way users interact with applications was just as important as the application itself. The book Designing for Interaction by Dan Saffer includes an interview with Larry Tesler that describes the law of conservation of complexity. The interview is popular among user experience and interaction designers.

Larry Tesler argues that, in most cases, an engineer should spend an extra week reducing the complexity of an application vis-à-vis making millions of users spend an extra minute using the program because of the extra complexity. However, Bruce Tognazzini proposes that people resist reductions to the amount of complexity in their lives. Thus, when an application is simplified, users begin attempting more complex tasks.

Applications
Possible applications of Tesler's Law:
 * Programming
 * Vehicles
 * Home appliances
 * Workplace equipment