Complexity
The interfaces we use every day are becoming increasingly complicated. How did we get here and what does this mean for our everyday technological lives?
A recurring inconvenience in the daily lives of all people, at least among the ~4.2 billion with internet access, is the difficulty in dealing with digital interfaces on websites and applications.
Not being able to perform a task on your smartphone or computer is a common problem that can have minor or serious consequences. For example, a pilot cannot risk pressing the wrong button during a flight simply because he was distracted. However, when you click a checkbox by mistake during an online purchase, you will at most receive spam.
The complexity of interfaces requires more resources such as attention, memory and knowledge from the operator.
Learning curve
We deal with two-dimensional interfaces on a daily basis, and a determining factor in their ease of use is how difficult it is to learn how to use them. Operating medical examination software requires special training. Every detail of the interface serves (or should) to make the task easier for the person operating it.
A stock market interface, for example, must have all kinds of information that helps the person operating it make the best decision at that moment.
But general-purpose interfaces can also be overly complex. Have you ever tried to change the privacy settings on a social network, for example? It becomes more complicated over time because it tends to receive functionality constantly, changing a familiar area and including new functions that make decision-making more complex.
There is a curious paradox in the world of digital development. The more important a feature is to an organization, the more attention it receives from the teams responsible for it. Thus, it tends to receive more features over time and, invariably, becomes more and more difficult to use.
Think of Microsoft’s Excel, for example. Over the decades, it has gained more and more functions and its learning curve has increased exponentially.
Therefore, learning curve is an essential concept to define the complexity of a product. It represents how much a person needs to know in order to be able to use the interface. Easy-to-use interfaces (think of a door handle) require little learning. Complex interfaces, such as an airplane cockpit, require years of dedication.
The tech industry
Airplane cockpits are good examples of critical interfaces. Designing this type of interface requires a long process that considers not only what controls should be available to the pilot, but also how they can lead to errors that could lead to accidents. There are complex standards and regulations that govern this type of interface, and its development is slow precisely to become a safe interface.
Now, on the other side, we have Silicon Valley companies with move fast and break things motto, popularized by the benefit of developing business models quickly, this work philosophy puts the need to build an intelligible interface in the background. In fact, even ethics loses importance with this work model.
The problem is that this is one of the main reasons why the most used services in everyday life, such as banking apps, social networks and e-commerce, are so bad.
“The new generation of software has made gigantic leaps forward in attractiveness and computational power while simultaneously getting harder for people to use.”
Don Norman [1]
Building quickly and mitigating risks is beneficial from a financial perspective. Well, at least for companies. The main goal of teams responsible for creating and maintaining digital products is to get the consumer user to sign up/buy/subscribe as quickly as possible. To do this, building an easy-to-understand product is important until the moment the visitor becomes a profitable customer. After that, it takes a back seat and complaints usually become the responsibility of the team that serves the customer.
The Product process
This way of working is so ingrained in the corporate culture that there is a standard process for developing new products.
For example, when building digital products, a common practice is to use MVPs. We build quickly, but without much care, to test the product with a small number of customers. The idea is usually to mitigate serious risks to find out if the product is worth the effort.
Here, ease of use is an important point, at least during customer acquisition and retention.
The next step is usually a gradual release, followed by adjustments for an even wider audience. From there, features are gradually added based on team planning, comparison with competitors, and occasionally based on feedback and suggestions from users themselves.
At this point the product already exists and is used by people. It is rare for major changes to be made and even ease of use is optimized occasionally without this translating into less revenue for the company.
This story is repeated in startups and technology companies, every day. The need for return on investment is a fierce motivator for this process to continue indefinitely, adding new features to the product to extract maximum profit from each customer.
And just like that, little by little, every product becomes more complex, difficult to use and frustrating. Concerns about usability are put off until an uncertain future.
Damage reduction
We are still learning how to deal with complexity. The field of human-computer interface is not even 50 years old[2] and, despite the progress in recent decades, there is no simple model to solve this problem.
Given the context in which products are developed, there is also little room for redesigning difficult-to-use interfaces. Even so, some techniques can help to reduce the effects of complexity or, at least, reduce the harm to the end user:
- Within design, there are several principles and methods that make the interface simpler. The Gestalt laws, Nielsen’s Usability Heuristics, the 10 Principles of Good design and the Information architecture are great starting points for turning complex artifacts into simpler objects.
- Patrick Faller, a designer at Google,[3] suggests subtracting, consolidating, redistributing, prioritizing, and clarifying interface components as a strategy for dealing with complexity.
- Luke Wroblewski, in his lecture on mobile devices, suggests several techniques to make smartphone applications easier to use.
- An essential method for reducing complexity is to take advantage of the digital context of a 2D interface, such as computer, tablet, and mobile screens. Digital interfaces are also dynamic, meaning they can change easily. So a progressive presentation can make it easier to understand in exchange for a slower user experience. In other words, by separating several components on a single screen into several distinct screens through progressive presentation or navigation, a digital interface becomes easier to use. Typically, complexity returns when the user relies on memory and unclear shortcuts to perform the task they want. But this solution is important because it takes into account the nature of the project: a changing screen, which is often ignored in websites and applications.
A complex problem
Finally, although there are ways to deal with the complexity of a 2D digital interface, it is important to realize that this is not just a technical problem.
There is a reason why products are built in a hurry. In many services, the organization responsible for them is interested in ensuring that their customers only know the minimum about the service offered. These pitfalls have less to do with human cognitive ability and are directly linked to the need for profitable businesses to develop in the contemporary world.
Harry Brignull has some great points about why technology and design work this way: Digital products are often driven by engagement and designed based on behavioral data collection. In other words, there is a relationship between the contemporary practice of building digital products and the development of dark patterns. His work on Deceptive Design, in fact, contributes greatly to this discussion.
If we are building interfaces that are so difficult to use, are they really necessary? Today, we deal with an exponentially greater amount of information than in previous generations. Making decisions on a daily basis, especially using device interfaces, is exhausting. It also seems to be increasingly complex. Do we really need to live this way?
These questions do not have a clear answer. But there is a common metaphor that draws attention to this discussion: An interface is, in a way, like a dialogue. It is a way of talking to an object. Are we willing to maintain these hasty and confusing dialogues? Or are there better ways of talking to things?