#19 The perception of performance
#performancematters #fastweb #jvmtech #jvmperformanceseries

#19 The perception of performance

Do milliseconds and kilobytes make the difference?

In the previous articles on performance we have heard a lot about technical refinements to increase performance. Now we would like to take a slightly different point of view on this topic - from the perspective of user experience and perceptual psychology.

Nowadays, we expect to be able to access digital services immediately, anytime, anywhere. Stocky animations, long response times or static loading screens feel almost unbearable. On the other hand, time goes by in a blink when we watch the trailer of the long-awaited blockbuster, for example. In short: Staring at a loading screen for 20 seconds feels much longer than watching a video which also has a length of 20 seconds. This example already indicates that humans are pretty bad at estimating time spans. In addition, the perception of time depends on many factors, such as age, time of day, stress levels and cultural background.

Hence, when we talk about performance and the perception of speed and time from the user experience perspective, we are less talking about milliseconds or kilobytes. It's not about objective units of computation. It's all about the subjective perception of the user - the so-called "brain time“.

„Make sure that your digital product feels fast“

But why is the perceived time for digital products so important? Speed and performance are essential components of a good user experience. If users perceive a digital product or service as slow and sluggish, they have a negative user experience. Even a slight delay in the page loading of an online shop can lead to a loss of conversions, higher bounce rates or a negative perception of a brand. That's why perceived speed is so important and why we must primarily make sure that the digital product feels fast.

And of course, performance is also about milliseconds and kilobytes. Especially in the case of micro-interactions. Response times of less than 100 milliseconds are essential to ensure that the user does not notice any unpleasant delay. The maximum response time for immediate action is under one second. Delays in this interval are noticeable, but are usually tolerated, since it is usually the response time during a human-to-human conversation.

Why distractions and mental activity enhance performance.

Every event, in our case an action that takes place in a digital project, can be categorized into a passive and an active phase. In a passive phase, such as loading a web page, the user has no control over the pause time. The passive phases are generally negatively connotated. In addition, people tend to perceive passive phases being approximately 36% longer than active phases. Active phases, on the other hand, are characterized by mental activity of the user. A good example is playing a quiz. The time flies by here. And things even get better. Most people do not perceive active waiting as waiting at all.

„People tend to perceive passive actions being approximately 36% longer than active actions“

If technological performance increases can only be realized with very high costs and efforts, one might first try to improve the subjective perception of speed by converting passive phases into active phases. In a nutshell: we need to keep the users mentally busy or distract them.

Can't wait …

The simplest mechanics are loading spinners or progress bars. They distract from the actual passive waiting. Loading spinners have the disadvantage, however, that they neither indicate how much remains to be loaded, nor how much is actually being loaded. How many times did we stare at happily rotating loading spinners while the system had come to a standstill for a long time. A period of uncertainty followed. Progress bars fulfill this kind of expectation management, because the user can estimate how long he has to wait. The combination of progress bars and emotional loading animations that tell, for example, short stories with suitable content, works much better. The best are loading screens that even include interactions.

One outstanding example is the "Practise arena" of the computer game series "FIFA". While the game is loading in the background, and this takes quite a while, the user can already practice goal kicks by playing a mini-game. The distraction is so perfect that most players do not even realize that this is just a loading screen.

No alt text provided for this image

Another popular mechanism to make the loading times of computer games bearable are short textual additional information in addition to a spinner. These texts often contain hints, that might be useful for the next level.

No alt text provided for this image

Back to the web, though: Flight search engines, for example, often show additional information during loading that explains what "complex" processes are running in the background. For example: How many airlines are checked? How many airlines have already been asked? etc. They not only increase the entertainment value, but also enhance acceptance of the unwanted pause. Because apparently the system is very busy to find the cheapest flights. Right?

Video portals like Vimeo or Youtube frequently struggle with time-consuming uploads. For them, the bottleneck is not their own infrastructure but the user's Internet connection. So you can't improve the process from a technical point of view. Nevertheless, they have found a charming way to subjectively shorten the loading time. They let the user enter the metadata for the video during the sometimes very long-lasting upload, thus avoiding the unpleasant feeling of wasted time.

No alt text provided for this image

A glance into the future

Another way to improve the perceived performance is to instantly show dummy content. Many digital platforms use the skeleton pattern for this. While waiting for the actual content, light grey placeholder boxes are usually displayed at the exact positions where the real content will be placed later. This provides cognitive distraction and reduces transition anxiety. The user can anticipate what to expect next. Additional animations of the dummy content also gives the user reassuring feedback, indicating that the content continues to load in the background. To enhance the positive effect, the animations should be slow and steady.

No alt text provided for this image

Cheating the user with optimism

Besides the numerous possibilities to keep the users busy or distract them, I would like to mention optimistic actions. We shorten the perceived duration of time a process takes by stating that a process has been completed even though the process has not yet been completed. This sounds confusing, but it is actually quite simple. Let's imagine that a user wants to flag an article with a "Like". After clicking the "Like" button, there will be an immediate visual feedback that the "Like" was successful. In fact, the process still continues in the background, and repeats until it is successfully completed. This action is also called an asynchronous action. This makes the interaction feel incredibly fast. If the action was not successful afterwards, the user gets an error message. This kind of "cheat" of course only makes sense if the actions are of rather low importance and we can additionally assume that the action will be executed successfully in most cases. For critical actions such as purchase processes we would rather advise not to use optimistic actions.

Improve performance significantly or not at all

The Weber-Fechner law from the field of psychophysics states that a change is only perceived by the user above a certain threshold value. This threshold is called "just noticeable difference" (JND). This applies to all sensory perceptions - but also to the perception of time.

If you examine time periods of less than 30 seconds - and thus 99% of the time periods occurring in digital services are covered - the temporal performance increase should be at least 18% in order to be recognized by the user as a positive experience at all. It should therefore be carefully considered whether a high technical effort for a minimal performance improvement is even worth it. On the other hand, this also means that if the code slows down by 18% - due to the fact that the service has been enhanced with additional features - the user will not be negatively affected. This is called "regression allowance“.

„The temporal performance increase should be at least 18%“

One thought at the end: If the performance of your own product is similar to that of a competitor's product, you should consider sacrificing some performance in order to make your service more reliable, easier to use or enriched with new features. The user will appreciate the qualitative added value compared to the slight loss of speed.

Accelerated performance can make your product worse

But watch out. Sometimes users already have certain expectations regarding services. Accelerated and high-performance processes can confuse users and reduce their confidence in a service. You can find examples of this in the financial world, where trust and security are important quality features. According to the maxim "quality takes time", it is sometimes advisable to slow down processes intentionally in order not to interfere with users' learned experiences. Users are used to the fact that important services in the real world take their time and are prepared for a certain waiting time. If this waiting time is missing, the user quickly becomes insecure and asks himself whether the service meets his quality requirements. A process that is too performant could therefore be more destructive than a slower process.

Tomorrow is the last article: The speed of use.

To view or add a comment, sign in

More articles by Thomas Feldhaus

  • The speed of use

    At the previous article "The perception of performance" we found out a lot about the human perception of time and speed…

    1 Comment
  • #18 Building a web performance culture.

    Web Performance is not a product feature that can be easily switched on and off, ideally the entire organization…

  • #17 AMP, Performance built-in.

    For 16 episodes we have now bombarded you with tips, tricks and ideas how you can improve the speed of your web app…

  • #16 Webassembly

    WebAssembly or short Wasm is a huge deal as it is enabling deployment of lower level language code on the web for…

  • #15 Image & Video Formats

    In the first years, the Web was a text-based wasteland with only a few image oases available solely through links. This…

    1 Comment
  • #14 PWA/Service Worker

    When thinking about performance, web technologies always had a reputation of being slow and sluggish, especially on…

  • #13 Web Performance Timing APIs

    If you are into web performance you surely stumbled upon very detailed numbers. No matter whether you measure…

  • 12 Javascript defer or async?

    When adding interactivity to our web pages we heavily rely on JavaScript. But adding JavaScript comes with a price.

  • #11 JavaScript Performance

    Nowadays, web applications are heavily interactive and make use of lots of JavaScript. May they be scripts we wrote for…

  • #10 Resource Hints: Preload, Preconnect, Prerender.

    In the page based web there was for a long time no possibility to actively control the loading process as a developer -…

Others also viewed

Explore content categories