“The genius of a construction lies in its simplicity. Anyone can build complicated.” – Sergei P. Korolyov

Complexity of digital products.
Usability is the be-all and end-all in software development from a user-friendly interface.
The world is becoming more and more complex and so are the data and possibilities available to us, but which we have to deal with in a digital age. However, it is easy for people to feel small and overwhelmed. The development of digital products also resembles an evolution. With the expansion of functions, however, complexity increases at the same time. This can lead to a situation where the user is overwhelmed by the multitude of options and no longer knows which way to go. Every additional option in a system forces the user to choose one of them depending on the goal he wants to achieve.

User-friendly interface favors the users’ well-being.
But it is not only the multitude of options that can lead to frustration and thus dissatisfaction on the part of the user. The way in which the options are presented can also play a strong role. If important functions cannot be found or are very difficult to find, this can also lead to uncertainty on the part of the user. Irrespective of whether this is caused by the multitude of functions or by misunderstandings in the presentation, the user inevitably asks the question: “Which is the right option?” and even worse, “Have I chosen the right option? Well-being is affected. The capacity of each person to process information is limited. So even a user of a system can only concentrate on a certain number of available functions. If the user interface is not clearly designed for the intended purpose, this (negative) user experience can also be reflected in the attitude towards the system used, which in turn can even lead to rejection of the system.

Usability despite extensive functions?
How do we now deal with this conflict, on the one hand creating increasingly powerful and thus also more complex systems, but at the same time keeping the interfaces accessible and operable and providing the user with a simple and manageable system that inspires him?
The art is to transfer complexity into simplicity. This sounds obvious and simple at first, but how can we achieve this? In the following, a few possibilities will be presented, some of which are also described in this way in “Simplicity – The Ten Laws of Simplicity” by John Meada:

Reduction
The most logical consequence is a reduction of the multitude of functions. Antoine de Saint-Exupéry already said: “Perfection is not achieved when there is nothing more to add, but when there is nothing more to leave out”. This statement may also sound plausible, but it must be critically examined and considered, especially in the context of the product to be simplified. 
The following questions arise: “Which functions are relevant?”, “How simple can you make something?”, “How much complexity is actually needed? In order to answer these questions, it is necessary to know the tasks and goals of the user in detail. Only then can one decide which functions can actually be omitted, as they confuse the user, and which ones are still necessary. Omitting too many options can create further complexity. For example, if you imagine a remote control with only one or two buttons, it may seem extremely simple at first glance, but it would also mean that it could make it more difficult to go through the individual programs or select a particular program. In terms of reduction, it is important to have as little functionality as possible, but still as much as necessary. For each function the user should be able to see the sense of it.

Hide
The user usually has a very specific task that he wants to complete with the support of the system. For this one task usually only a few functions from the whole system are necessary. Therefore it makes sense to offer him only the relevant functions at that moment. All remaining functions can be hidden in several levels by clever organisation. This method can be seen very well in the development of smartphones. With classic mobile phones, most functions were directly accessible via keys. Today’s smartphones have much more functionality and complexity. However, these are hidden on several levels: a physical layer with few keys, the operating system with a few apps and each app with its own functionality. This makes today’s smartphones more accessible and simple, but also much more powerful, as the user is initially only confronted with the functions that are relevant at that moment. 

Lead
A simple surface should follow a clear line. The user usually has a way of how he wants to reach his goal in mind. The interface should reflect this or provide a clear path. Every option given to the user is like a fork in the road, where the user has to make a choice. Thus, the user should only be presented with the really relevant options that fit the task. One way to achieve this is to use so-called wizards, known from installing a product, for example, which guide the user through the task and display only the relevant options at each step. Again, it is important to know your users, because an advanced and experienced user might need less guidance and can handle more and more complex functionalities than a less experienced user.  Along with the possibility of “hiding”, which was already described above, options for less experienced users may remain hidden for the time being in order not to confuse them unnecessarily.

No matter which of the options or combination of options is used, the user and his goal should always be in focus and any decision to reduce, hide or guide should be based on this. Only in this way can the goal of transforming complexity into simplicity and thus creating a positive user experience for the user actually be achieved.

Have fun. Enjoy coding.
Your INNO coding team.