Image created with Midjourney. Image prompt: 2d illustration, minimal style of An engineer at a desk with a large, complex machine on one side and a streamlined, simple machine on the other. Users are interacting with the simpler machine, but are seen tackling more complex tasks
The development of digital products is a delicate balance of functionality and usability. Designers and developers strive to create solutions that are feature-rich yet user-friendly. One concept that offers valuable guidance in this endeavor is Tesler's Law, also known as The Law of Conservation of Complexity.
Developed by Larry Tesler, a computer scientist who spent significant time working for Xerox PARC and Apple, Tesler's Law asserts that for any system, there is a certain amount of complexity which cannot be reduced. The idea is that complexity is conserved and can be shifted around but never eliminated.
While working on user interfaces, Tesler realized that the ease of interaction with an application was just as crucial as the application's functionality itself. He advocated for developers to invest extra effort in reducing application complexity rather than burdening users with it1.
Consider the example of an email client. To make it easier for the end user, an email client might hide the complexities of protocols like SMTP and IMAP. Users don't need to understand these protocols to send or receive emails. The complexity is absorbed by the application, making it more user-friendly.
In the realm of graphic design, applications like Adobe Photoshop have a high degree of complexity to provide powerful functionality. However, for users who need to perform simpler tasks, Adobe offers more user-friendly applications like Adobe Spark, which hides much of Photoshop's complexity.
E-commerce platforms like Shopify provide business owners with the ability to set up an online store without needing to understand the complexities of web development, payment gateways, and security protocols. The platform handles the complexities, allowing the user to focus on running their business.
Understanding Tesler's Law can significantly inform the development of digital products.
The principle underscores the importance of a user-centric approach to design. By absorbing the complexity, we can create products that are easier for users to interact with, thereby improving the overall user experience.
Tesler's Law is not an argument for oversimplification. If an application is too simple, it might not provide the functionality users need. Instead, it's about finding the right balance - reducing unnecessary complexity while ensuring users can still complete their desired tasks.