|Anti-Simplification – How to Make Life Harder for Users|
|Simplifying for Usability|
By Gerd Waloszek, SAP AG, SAP User Experience – October 9, 2000
With the advent of the Web, the focus of software applications was shifted to new user groups – untrained users as well as casual users. Both groups have similar problems when trying to handle an unfamiliar application: they don't know how to achieve their goals with the piece of software at hand. In some cases, they can't even figure out what the software itself does.
The answer to this problem is to develop simple applications that are easy to understand and use. But what are the characteristics of simple applications? What does the innocent little word "simple" mean? As it turns out, simple can take on many meanings, something that may even lead to conflicting design goals. Thus, creating simple applications is not all that simple! In a follow-up article, I will discuss the basics of simplification, that is, how you can reduce the complexity of your applications. But let's start our discussion with some really simple applications.
This is a very simple application, but obviously most of the time we want to do something more useful than erase our hard disk.
Perhaps, the next application would be more useful:
This application is indeed more useful, but unfortunately it is only fiction. So let's get serious!
Look at figure 1 – it might be the result of a brainstorming session about what the word "simple" means:
Figure 1: Brainstorming result about the meaning of the word "simple"
We find lots of words in this figure, which might be synonymous with "simple". The bubbles have already been arranged into three clusters, maybe by the leader of the brainstorming session. This result – have a short look at it – is my proposal for what the word "simple" stands for
All the other words are somehow variants of these basic themes. Therefore, let's focus on these three aspects in our short discussion of simple applications!
The basic approach to making applications simple is to reduce their functionality as well as simplify their structure and visual appearance. As this issue is so important, I will dedicate a separate article to it at a later time. Making things simple through reduction is not an easy task in today's complex business environments. Many developers fall into the temptation of squeezing too many functions which "might be uselful" into one application. It is also not very popular in the marketing departments, as the "featuritis" of most of today's software demonstrates.
There are many answers to this question. One reason which advocates for reducing complexity is that humans are equipped with certain abilities, but also with certain limitations in their information processing capabilities. Users think like humans, not like computers or machines. It is important to know and respect these human limitations to avoid overwhelming and frustrating users. As an example, people typically only think of and use what is "available" to them, as the "availability heuristic" tells us. So, functionality often goes unnoticed if it is not clearly presented on the screen, but hidden somewhere in the menu. As a rule of thumb, if a function is not of primary importance to the task at hand, it is a perfect candidate for reduction.
Reduction alone is not a sensible goal for application design. Making an application too simple may mean that it does not achieve its goals and, in the worst case, may be useless, as our examples at the beginning of this article demonstrate. As a developer, you have to balance simplicity with other goals, such as the program's purpose, which is reflected in its functionality. Making an application too complex, on the other hand, may render it unusable. Thus, good application design is the art of striking the right balance between the two extremes of an application being useless and being unusable. This balance is easier to acheive the better the prospective users and their requirements are known.
Users should always understand what is going on in an application with respect to their tasks and the steps required, not with respect to the inner workings of the application. This is the essence of transparency! For example, users should always know the state of their task, what to do next, where to go next, what the consequences of their actions are, and so on. Transparency has several aspects. It relates to the overall structure of an application, as well as to the navigation, procedures and functionality in general.
Learnability is a direct consequence of transparency. Ideally, an application requires neither learning nor relearning, because users understand it immediately. In a less ideal world, transparency should substantially reduce the need for learning and relearning.
Transparency helps users
Effectiveness and efficiency are the primary goals for any software in a business environment. Effectiveness means that your application does what you designed it to do and that users accomplish their goals with your application. Efficiency requires that performance is fast and error-free. Both goals also have to be viewed with respect to the prospective users of your application. Users may vary in their skills and abilities and thus may require different user interface designs.
Customers buy your application in order to computerize their business processes and to make them more efficient. If the employees cannot use your application, this is wasted money for the customer. More often, users manage to use an application, but they work inefficiently. Inefficient software also costs money because users take longer to accomplish their tasks.
Users themselves are frustrated if an application is neither efficient nor effective because the application is seen as an obstacle to accomplishing their tasks. This in turn leads to a vicious circle with respect to costs, efficiency and user satisfaction.
For more information regarding simplification, see the "Simplification Guide," which can be found in the members area of the Construction section of the SAP Design Guild.
As stated earlier, a follow-up article will appear soon to help you to reduce the complexity of your applications.