|
|
|
| Print version | |
Related Links |
|
| What Matters Most? | |
| Your Doctor Says: Usable Applications Are Good for Your Health! | |
Background Links |
|
| SAP Developer Network | |
By Gerd Waloszek, SAP User Experience, SAP AG – 12/19/2007; updated 10/13/2008
Two years ago, in the last editorial for 2005, I asked "What Matters
Most?"
and took a look at the most severe obstacles to usability. In this editorial,
the final one for 2007, I would like to gloss over a related topic, namely
"What influences performance at the computer?" When I look back to
the 2005 editorial, I find that waiting times
and system crashes were the primary factors. On closer inspection, however,
it shows that the performance issue encompasses a great deal more than just
technical factors.
Performance, or efficiency, is definitely a high-priority criterion for the design of user interfaces. However, I would argue that performance is not the primary goal for users, as the following quote from Peter Drucker shows:
Having clarified this point, we can move on to the question: "How can we improve performance?" In order to attack this issue successfully, we have to understand which factors can influence performance. An initial approach to this matter might be:
Thus, computers and humans form an "android" system for which performance has to be considered as a whole. Good technical performance does not necessarily imply that the system as a whole will perform well if other factors are not optimal. On the other hand, a well-designed interaction may be ineffective if the system suffers from long waiting times or crashes repeatedly so that users lose their work. However, this picture is still too simple. Interaction design is tricky because it cannot be isolated from the technical platform on which an application or Web page will run. Often technology and interaction form an unhealthy alliance that is responsible for severe performance issues. In addition, human users introduce further complexities based on how humans process information and perceive their environment. In the following, I will discuss five factors that influence performance. However, in an editorial, I can only gloss over these factors, so please regard this as a first approach to a complex issue.
Technical optimization is important and "goes without saying." As I am a usability person, I do not want to go into detail here – we all know that technical optimization lays the foundation for good performance (including crash-free performance).
A major element in the work of usability people involves streamlining the users' interaction with computer systems. I would like to differentiate between two cases: (1) "pure" interaction design, and (2) cases where interaction design and technology form an unhealthy alliance. I will explain what I mean by this below.
This case is fairly simple to deal with: Usability engineers strive to optimize work processes by asking and observing users, developing scenarios, building prototypes, and creating designs with the users and their tasks in mind. Typically, they work with the "givens," that is, the given technological platform, control libraries, and other constraints. User performance can be hampered by bad design, such as using inappropriate screen controls, making work processes too cumbersome, asking for unnecessary data input, or hiding often-used functionality – the list of possible design errors is long and the object of many design articles and columns.
Far less attention is devoted to the fact that certain technologies build up specific obstacles to good performance. One might argue that, as the respective technology has to be used there is no use in complaining about technological constraints. While this is certainly true, these constraints need not be accepted as "eternals laws." Not only makes it sense to at least remind oneself of these constraints from time to time, but also to look for alternatives. Here are a few examples of such technically-caused "performance killers:"
There is some truth in a statement I once heard from usability gurus, namely that the Web has thrown usability back for decades. Therefore, it is not only important to be aware of the issues, but also to look for better alternatives. The hype surrounding AJAX is partly due to the fact that it allows us to design Web applications whose behavior closely resembles desktop applications. In addition, standards are needed to regulate the interplay between the browser environment and the applications that run in it. Many more items could be added to this list.
The relevant factors for user performance do not end with interaction design. Information design can also have a major impact on performance. Here, I would like to point to the following two design aspects:
In contrast to consumer applications, many business applications have a hierarchical structure, similar to that of a Website. Therefore, users have to navigate between screens. Designers need to make sure that users find the correct paths and do not get lost. Alternatively, designers can opt to use large screens to reduce navigation. The design of single screens affects the overall clarity of the design: It helps users understand what to do on a screen and how to do it. The overall arrangement of fields and other controls should follow the typical work flow of the user in order to avoid unnecessary searching. Information design for screens also comprises the understandability of labels, group headers, and the screen or page title. All in all, good information design can reduce search time and, often, it determines whether users will accomplish their tasks successfully or fail.
While it is often the first issue that users (and customers) debate on, visual design is not so much at the forefront when we talk about performance. Nevertheless, it does have an influence on performance:
can slow users down considerably. Icons that are too small also increase reaction times (Fitts' law) or even lead to errors because users miss them. Missed icons may even lead to unnecessary page refreshes and loss of context in Web applications.
From time to time, certain design epidemics infest the Web. Some years ago, there was a trend toward underlined text. Just recently, a trend to using gray text and microscopic font sizes could be observed. All of these trends have one thing in common: they slow users down.
We would not be human beings if everything worked "objectively." And performance is no exception. There is a difference between objective and perceived – or subjective – performance. Lori Landesman, for example, reported that, surprisingly, people do not rate the loading times of Web pages according to their objective loading time. She wrote:
Landesman found that, while users rated the speed of different Websites consistently, "there was no correlation between these and the perceived speeds reported by our users." One of the factors that made a site appear fast was that "users successfully completed their tasks on a site."
Thus, we have to find out, which factors make applications or Web pages appear fast and interaction seem smooth – and utilize these factors in our designs. A number of factors have already been identified:
Performance at the computer is a complex blend of many factors. Technical optimizations that lead to better performance lay the foundation for all other factors, and are indispensable. However, relying or focusing on these alone, is not enough. Developers and usability professionals need to take the following into account:
As there is often an intricate relationship between these factors, we need a holistic view in order to make greater progress in improving user performance.
As an addition to this editorial, I would like to use the analogy of a car to illustrate examples of technical and the more human-related performance aspects. Furthermore, I would like to illustrate the concept of perceived performance with another story.
Using software without optimizing the technical performance is like having a car without wheels – it does not move at all. However, adding wheels to a car does not necessarily mean, that you'll have a smooth ride, or that you can drive as fast as technically possible. You must also be able to start the engine, get the car moving, and drive safely and comfortably.
My brother once told the story of a driver who had to transfer his colleagues and him to the airport. The driver tried hard to get the car to speed and pressed the accelerator pedal as hard as he could, but he drove in the first gear the whole time. After some time, the engine overheated, and the driver had to pull over and stop the car. Not only was it a miserable ride (too slow) but he also did not reach his goal, the airport.
In case of the driver, we do not know why he did not switch gears. Perhaps he had only driven cars with automatic transmissions. If we transfer this example to the world of software applications, we might find that the other gears were buried somewhere deeply in the menu hierarchy, had illegible or unclear labels, or weren't there at all. Interaction design, information design, and visual design are the "set of screws" for optimizing such performance aspects.
Finally, there is perceived performance, which I would like to illustrate with another story: A long time ago, we took a friend of ours for a ride in our car, a Renault R4. I was driving at a speed of about 110 km/h (nearly 70 mph) – the R4 is not a fast car. Suddenly our friend cried: "Please, slow down, I am terrified by the speed!" Well, it could not be the speed that had terrified her, because she owned a Mercedes Benz and was definitely used to drive at much higher speeds. It was the noise and the vibration of the car that made her feel like she was going more than 200 km/h (120 mph).