3 Design Principles for Software Tools Inspired by Everyday Objects

Upon closer inspection, I began to notice the ingenious thinking behind tools or features that initially seemed simple and straightforward. Some concepts resonated with me so much that I strive to incorporate them as much as possible when designing a tool or a service.

The Escalator

The escalator assists users in achieving their goal: moving to a different floor. All the engineering and mechanisms are there to facilitate the task, but even if the mechanism stops working, the user can still use the escalator to reach their goal. The experience would be different, but there’s no need for an entirely different solution.

This concept could be applied, for example, when developing a website or app that can still be used if the user is offline. The user should be able to use the tool for their goal, even if one or some of the prerequisites are missing.

The Paper Dispenser

The second example is the paper dispenser in public restrooms. A user with wet hands isn’t in a position to learn how to use a new tool. They simply want to pull and get a piece of paper. Some dispensers have been built with a “portioning” mechanism. Using the force from the user’s pull, it releases the right amount of paper and makes a cut; the remaining force will break it. The user is unaware of the inner mechanisms and from their perspective, it just works as usual. This ingenious mechanism isn’t there just for fun. It helps to reduce paper waste and consumption. It also allows the use of a single, uncut roll of paper, simplifying refill management.

The advantages of this concept are more subtle. Here we’re trying to offer something that has been around forever, but with better performance. The user isn’t enjoying any new benefit, we’re just providing a better tool to the service provider to cut costs and complexity. The key point is to leverage the user experience to maximize the work done by a habit and not disrupt it at all.

The Canon EOS Program

If you’re not into photography, this section might seem dull.

The ‘Program’ mode of Canon EOS cameras is a step between the ‘Manual’ mode, where you have to decide and set everything, and the ‘Auto’ mode, where the camera sets everything for the most balanced shot. In ‘Program’ mode, you can select a few things and leave others to the camera. Even if you’re a beginner, you can start using the ‘Program’ mode and achieve great results. Moreover, these cameras often have one or two dials you can use with the ‘Program’ mode to make the shot more like what you’re imagining, with the camera’s help to keep it balanced. Even as a beginner, you can get amazing shots without straying too far from the known path. By doing so and by looking at the results and the information the camera provides during and after the shot, the user can venture towards more advanced modes, eventually landing in fully manual mode.

This concept is greatly inspiring. The ‘Program’ mode provides a powerful tool for anyone with little or no training. Knobs and dials are not in the way, but are exactly where you need them. It has built-in training and allows the user to improve and get more from their device.

For me, this has become the cornerstone of the design of any software tool targeted for public use. It might require more effort during the planning phase of development and more time to implement (details are important), but by allowing users to be productive from day one and rewarding them with dopamine, it keeps them in a virtuous cycle. The user is productive and happy, and the tool is a pleasure to use.