|Human Performance at the Computer – Part 1: Introduction|
|Human Performance at the Computer – Part 2: Making Applications More Responsive|
|Human Performance at the Computer – Part 4: On the Way to Performance-Oriented UI Guidelines|
|The Three Pillars of Human Performance at the Computer – Which One Fits Best?|
|Performance – Merely a Technical Problem?|
|Waiting at the Computer: Busy Indicators and System Feedback – Part 1|
|Waiting at the Computer: Busy Indicators and System Feedback – Part 2|
|Waiting at the Computer: Busy Indicators and System Feedback – Part 3|
|Review ofGUI Bloopers 2.0 (Jeff Johnson)|
|Research-Based Web Design & Usability Guidelines|
In this series of four articles I would like to investigate the topic of human performance at the computer, introduce new insights, and discuss performance-related issues that can be addressed by UI designers – including the concept of perceived performance. In the current article, I would like to focus on perceived performance, take a look at the factors that influence how users perceive the system's and their own performance, and present approaches to improving perceived performance.
The term perceived performance refers to the observation that users tend to judge the performance of a computer system subjectively and often perceive it differently from its objective performance. The (preliminary) Wikipedia definition of perceived performance is as follows, and includes some examples:
When discussing perceived performance, two main aspects are considered. Firstly, if there is a difference between objective performance and its subjective judgment or perception by the user we can ask what causes the difference. I will investigate this aspect in the following section. Secondly, we can ask how we can improve perceived performance. The respective approaches are discussed further down.
When searching the literature, I found many references to instances where users perceived performance to be better after certain changes had been made, even though these changes had made the objective performance (slightly) worse. Such reports must, however, be taken with a grain of salt, because they typically refer to the overall process. For example, the authors may compare different conditions and observe how much time a Web page needs to load completely under each condition. If a Web page loads incrementally, it may indeed take longer to load completely, compared with displaying a blank page first and then showing the page content nearly instantaneously. On the other hand, when a page loads incrementally, users can start work – reading in particular – earlier, can get sooner oriented to a page sooner, and may thus also finish their work earlier – provided that page elements that load later are not needed at the beginning. Here, performance-oriented guidelines might come in and advise UI designers how to arrange the page content so that the respective usage scenario is supported and the users' efficiency improved (see Human Performance at the Computer – Part 4: On the Way to Performance-Oriented UI Guidelines). To give an example, a corresponding rule might state: Display important information first.
As the example of incremental page load demonstrates, human performance at the computer can neither be discussed from a technical nor from a UI design perspective alone, because the interpretation of outcomes may depend on which aspect you focus on. From a technical perspective, it definitely makes sense to compare the complete page loading times under both sets of conditions. However, when looking at the man-computer system as a whole, the task level would provide the right granularity, and the time that is needed to complete a task or task step would be the focus. In my opinion, it would actually be misleading to focus solely on loading times for complete pages, because this would obscure the fact that incremental page load allows users to get oriented sooner and to start work earlier, both of which contribute to faster task completion times.
To understand the differences between objective performance and its subjective perception by the user, we need to explore the factors that have an impact on the users' perception of performance. I searched the literature, found a number of factors, and placed them in a common framework. Some factors relate to the users' perception and knowledge, some to the task at hand and how users perform it, and others to the overall impression of the system.
On the one hand, perceived performance depends on:
Thus, the perception of performance depends on direct observation of the system (perception), expectations from past experiences (memory), and the information that the system provides users with (feedback). In addition, perceived performance also depends on the individual's tolerance of delays (personality; Shneiderman & Plaisant, 2004).
Perceived performance also depends on task-related aspects such as:
Thus, users do not want to be impeded by the system and, of course, they want to accomplish their tasks successfully. They also base their judgment of the system's performance on these criteria.
Furthermore, perceived performance depends on:
Thus, users prefer smooth and consistent system behavior to abrupt and erratic behavior and judge the system's performance accordingly. I will call this factor preliminarily appropriateness.
The list above lends itself to suggestions for improving perceived performance. Further approaches listed below are taken from the literature. Note that many suggestions are listed redundantly because they can be assigned to several aspects. Moreover, a lot of them can also be regarded as methods for improving the responsiveness of a computer system – the two aspects of responsiveness and perceived performance are often hard to keep separate (but we're not in a science class, here...).
One approach to improving perceived performance is to reduce users' waiting times in various ways, for example, by not requiring users to wait until a process has finished, or by discarding processing steps that are no longer needed. Masking waiting times usually results in a shift in the time or priority with which a processing step is handled by the system.
This approach is related to the previous one and focuses on the work aspect instead of on the delay. It is also based on the premise that users often need not wait until a process has finished. The following recommendations refer to two user interface aspects: (1) the presentation of results and (2) the readiness for user input.
The following recommendations refer to the control aspect and are based on the observation that users are more tolerant of waiting times when they are in control.
In many cases, waiting times cannot be reduced or even eliminated, and we need to ask how waiting can be made more tolerable for users.
As already mentioned, the way on which users perform a task also has an impact on how they perceive a system's performance.
Consistency seems to help reduce user stress:
The following tricks help reduce the effect of waiting times on users:
In this article, I present factors that influence how users perceive the performance of a computer system and list approaches to improving perceived performance – some of which might also be regarded as approaches to improving system responsiveness. We meet the paradox that making perceived performance better may actually lead to worse objective performance, although the interpretation of the results may depend on which aspect of performance is being considered. Anyway, there is a reason for accepting small degradations in system performance: Good perceived performance can lead to higher user motivation and thus to better overall performance. In addition, if users can continue their work sooner or abort unwanted processes, this not only increases perceived performance but also their overall performance, although only some so-called "perceived performance" measures have been taken. I do not want to engage in hair-splitting discussions here, however. The primary goal is to improve the performance of the overall man-computer system, irrespective of whether we may regard our methods as ones for improving the system's responsiveness or its perceived performance.
Perceived performance includes the users' tolerance of waiting times. Tolerance can be increased by putting the user in control and also by applying "perceived performance tricks," some of which take the human need for orientation and information into account. One such example, although one might debate whether it should be regarded as a "trick" or not, is to provide timely and appropriate feedback. This topic is, however, beyond the scope of the current article and is therefore discussed at length in a separate series of article (Waiting at the Computer: Busy Indicators and System Feedback – Part 1, 2, 3).