There is a fixed amount of complexity in any system that cannot be designed away. Larry Tesler, who worked at Xerox PARC and Apple and is credited with inventing cut, copy, and paste, articulated what he called the Law of Conservation of Complexity: for any system, there is a certain amount of complexity that cannot be reduced. It can be moved — from user to system, from one part of the interface to another — but it cannot be eliminated. The designer's job is not to remove complexity but to decide who bears it: the user, the system, or the team building the system.

The Psychology

This is a fundamentally different framing from the more common simplicity-as-goal approach. It acknowledges that the world is complex and that useful software reflects real-world complexity. Submitting a tax return is complex. Booking international travel is complex. Managing a team's project pipeline is complex. An interface that tries to hide all of this complexity from the user does not make the complexity disappear — it transfers it to the system, requiring more sophisticated logic, more inference, and more assumptions about what the user wants. When those assumptions are wrong, the system fails in opaque ways that are harder for users to diagnose and recover from.

In Product Design

The practical tension is between making the interface appear simpler by hiding controls and options, versus making the interface actually simpler by reducing the task's inherent complexity. The former produces what Tesler would call false simplicity: the user faces fewer visible decisions but has less control, more unexpected behaviour, and less ability to course-correct when the system's assumptions are wrong. The latter produces genuine simplicity through better task design, smarter defaults, and system intelligence that earns the trust its reduced user control requires.

How to Apply It

Good applications of Tesler's Law involve an explicit choice about who carries the complexity. Auto-fill for address forms transfers the complexity of address formatting from the user to the browser and backend lookup service — the user's experience is simpler, and the system is smarter. Smart defaults in export dialogs (format pre-selected based on prior usage, destination pre-populated from the last export) transfer configuration complexity to the system's memory. One-click actions in e-commerce (Amazon's patented 1-Click ordering) transfer payment and address management complexity from the checkout flow to the account profile. In each case, the complexity is real and present in the system — it has simply been moved to where it can be handled most efficiently.

Why It Matters

When Tesler's Law is violated by pushing complexity too aggressively onto the system, the result is interfaces that work brilliantly for standard cases and break in surprising ways for edge cases. When it is violated by pushing too much complexity back to the user, the result is interfaces that require expertise to operate and exclude users who are not willing to invest in learning. The art is in calibrating the distribution — which means knowing your users well enough to understand which complexity they can and want to handle themselves, and which they would rather the system absorb.