Skip to content

Trusting Simplicity, Being Careful Of Complexity

Listen to the audio version of this text.

Printer Meme

Complex systems attract several points of failure. Needlessly adding things also means adding eventual glitches and points of weakness where things can go wrong unexpectedly.

A minimalist approach to development means being able to trust the elements that you are working with.

Some digital tools try to prevent the user from running into snags due to the complexity of the platform by splitting the program into two modes: simple and advanced.

Have a think about this from the perspective of minimalism and being decisive. Does this approach introduce more complexity and does it end up branching the user experience out needlessly?

What if instead, one would prioritize the usage of a single environment for everything?

Here's a concrete example. Think about the evolution of cell phones to modern smartphones. As we did away with physical interfaces with lots of buttons, we didn't simplify the user experience. Instead, it gained depth to the point where phone calls are now only one of many things one can use a phone for these days.

The choices made during development should show up as concrete highlights in the end product's user experience. This does not mean that it is wrong to have advanced and forward-thinking functions in your application or web environment. The idea here is that these complex elements can be built with a minimalist approach where the depth of the feature or function being built does not end up as its weakness.

The goal here is to get our standards of reliability to become a real part of what we are designing. Our trust in our approaches builds the foundation for the trust the user has in our product.