Larry Tesler, an American computer scientist, was well-known for pioneering human-computer interaction work. During his time at Xerox PARC in the 1970s, he developed key innovations such as cut, copy, and paste functionality and modeless software design. Tesler later joined Apple, contributing to projects like the Apple Lisa and Newton and serving as Chief Scientist. After his time at Apple, he worked at Amazon and Yahoo and co-founded Stagecast Software. Tesler strongly advocates user-friendly interface design, and his work continues to influence modern computing. He passed away in 2020, leaving behind a legacy of innovation.
Good design takes time
Next time someone wonders why a design takes so long, consider this: designing something simple takes more time than creating something complex.
If complex designs were what we aimed to ship, anyone could call themselves a designer.
Managing complexity, not eliminating it
Tesler’s Law, also known as the Law of Conservation of Complexity, tells us that every system has a certain amount of complexity that can’t be eliminated. When a task is inherently complex, that complexity doesn’t disappear—it must either be managed by the product or left to the user.
- When we optimize for user experience, the product handles the complexity.
- When we prioritize speed or ease of development, users end up managing the complexity, often resulting in frustration.
When the product absorbs complexity, designers and developers must find ways to simplify complex tasks. This process often involves hiding, automating, or streamlining processes, making the product feel simpler than it actually is.
Simplicity vs. minimalism
It’s important to distinguish between simplicity and minimalism in product design. Simplicity is about making a product easy to understand and use, while minimalism focuses on reducing a design to its most basic form, often for aesthetic reasons. Managing complexity effectively means a product can offer many features yet remain easy to use. Tesler’s Law emphasizes managing complexity rather than removing features, making advanced functionality approachable for the user. This focus on simplicity over minimalism allows designers to create powerful, feature-rich, and user-friendly products.
Simpler isn’t always better
Not all products should aim for absolute simplicity. Some, like CAD software, professional video editing tools, or advanced analytics platforms, are inherently complex because they need to offer a wide range of capabilities. Oversimplifying these products can hinder the professionals who rely on them. Stripping away features to achieve a simpler interface may make the product less effective at meeting the complex needs of its users. In these cases, the challenge is to make the complexity manageable and intuitive rather than eliminate it.
The goal isn’t to make every interface minimal but user-friendly. A design that seems simple at first glance may lead to frustration if it doesn’t meet the users’ needs. The real challenge is finding the right balance—creating an interface that is as intuitive as possible while retaining the necessary complexity for the product to be effective. Good design isn’t about removing complexity; it’s about managing it to empower users to make the most of the product.
Using progressive disclosure
Progressive disclosure is a key strategy in managing complexity. It involves gradually revealing information or options—showing only the essential details upfront and allowing users to discover more as they need them. This technique helps balance simplicity with functionality, creating a more user-friendly experience.
Designers can use progressive disclosure to show advanced settings, secondary features, or detailed customization options only when the user actively seeks them out. This approach lets users learn the basics first and dive deeper into advanced features at their own pace.
This strategy also recognizes that different users have different needs and levels of expertise. By adjusting the complexity based on the user’s context, progressive disclosure offers a personalized and adaptable experience. It demonstrates that effective design isn’t about eliminating complexity but managing it gracefully to create a seamless and empowering user journey.
Complexity evolves over time
One aspect of Tesler’s Law that’s often overlooked is that system complexity can change over time. As users become more familiar with a product, they can handle more complexity, allowing designers to introduce advanced features. Similarly, as technology evolves, systems might become more complex while still maintaining a simple user experience.
For example, a professional photo editing application might initially present a simplified interface to new users, focusing on basic tools and features. As users become more proficient, they can gradually access more advanced options and fine-grained controls. The complexity of the interface evolves to match the user’s growing needs and expertise.
Designers should continually reevaluate how complexity is distributed as users grow with the product and their needs and capabilities change.
Managing complexity is a crucial part of effective design. While we often aim for simplicity, it’s important to recognize that not all complexity is bad. Some products need a certain level of complexity to function well and meet users’ needs. The key is to strike a balance—making the interface as easy to use as possible while maintaining enough complexity for the product to be powerful and effective. By employing strategies like progressive disclosure, designers can create products that handle complexity well, giving users access to the full power of a well-crafted design.