Saturday, February 24, 2018

Latency - No. 1

Latency Definition. Latency is the amount of time a message takes to traverse a system. In a computer network, it is an expression of how much time it takes for a packet of data to get from one designated point to another. It is sometimes measured as the time required for a packet to be returned to its sender. (reference: link)

Everybody working with computer systems is facing latency problems.

The time the computer needs to start in the morning - Windows welcoming the user for several seconds.

The time the washing machine takes to be ready to start the program when switched on.

Do you know that feeling? - The TV system asking you "Please Wait...", then "System downloading software upgrade...", "System updating...", "System rebooting...", ... your impatience levels are raising, until you finally get a TV image just to notice that the weather report you wanted to watch is over and you are supposed to consume some publicity instead.

Who guarantees that the reading of your newest smart watch is not compromised by latencies in the management of its computing resources?

Latency, now even when starting up your car, the coffee machine, the vacuum cleaner, ...

One of my favourites is when pushing the power on button on the remote control of my TV screen. The time it takes until the TV shows a visible reaction is so long, that usually I happen to press the button a second time which makes the TV to switch off again. There is no way of seeing wether the first push is doing the job or not!

Another example are SW applications with long response times. Leading to the user clicking around and inducing more and more actions to the system leading to even worse response.
The worst is if typing on a keyboard and the characters showing up on the screen are substantially delayed.

How much latency are we willing to accept?

On one hand we believe that digitisation is improving productivity, reducing inefficiencies, making us more productive and effective. On the other hand we are facing more and more time of enforced delays at steps of our working processes where we have many needs as users, but absolutely no need of waiting.

“For example, Amazon calculated that a page load slowdown of just one second could cost it $1.6 billion in sales each year.” (reference: link)

Already in the very beginning of broader prevalence of computer systems impact of response times on human performance have been performed. There are many studies on the subject being performed in the 1970ies and 1980ies (see: link). These studies have been focusing on response of command entry on keyboards, and response of database requests.

Now, with more and more digital technologies entering our daily life. What are impacts of response and latency times in our life processes?

Is it truly offering added value if my washing machine has a digital control unit which takes 10 seconds to start up compared to the electromechanical version 10 years ago which was instantly ready? - The time prognosis on completion of the washing program is still inaccurate by +/-10 minutes both in the digital and in the electromechanical world.

Having a backward camera on the car which activates when switching to the rear gear is definitely a major improvement compared to the cumbersome navigation by turning your head in non-anatomical positions and looking through small mirrors on the side of the car. But it only helps if switching on the backward camera does not take longer than a couple of tenths of a second.

Or DAB radio. Yes, it is beneficial to have good quality or no signal at all. No tweaking of signals with difficult to manipulate buttons. But, what is the benefit of having to wait several seconds when switching radio channels. In the analog world this was instantaneous with mostly acceptable instantaneous sound quality.

There are many examples where we are limiting ourselves by accepting latency times in the context of technological advancement.
Why are we doing so?
Is it because we are most likely driven by technological fascination and not necessarily by user experience.
Also, the willingness to accept latencies as reality is often too high because end users are not in the position to change anything. And adaptability of users to the current situation of response is quite high.

Nevertheless - for me focus on efficient response and low latency times is one of the most important aspects when designing user experience.
We should always ask ourselves what it we would have to accept in alternative solutions. If these alternatives are old analog or mechanical solutions. We should challenge if accepting longer response times than the mechanical solution can truly be part of a beneficial solution.
If we want to sell the digital solution as a major benefit in efficiency gain for a previous process. Then the tolerance on waiting times should not be too big.

An easy rule of thumb could be something like:

If the system's response times are longer than the reading, inspecting, and thinking times of the user, then it is definitely adding pain to the user experience.
If the response times are longer than the time required by the user between two manipulations then this is definitely not adding value but becoming a stress factor.

No comments:

Post a Comment