11

Note, I've seen: How fast is too fast?, and What to do when loading is TOO fast? so I want to clarify the non-duplicity: I'm not asking about the animations, but more or less about the application in general. There are no animations for this apart from the uncontrollable browser reactions, so there's nothing to be modified on that end.


I've begun building a product that (one day, maybe 20 years from now) I plan to market and sell and attempt to commercialize. This is a web application, I'm trying to keep the details a secret so I'll just note that it's a packable software application, that an end-user could purchase and install.

A key selling point of this application is that I built it to be fast, and I mean really fast. There's a point where loading on a web browser has no delay, as in, the page has reloaded or forwarded before the mouse click is raised. It's fast. I only noticed this being a problem today as I was doing some testing, and I sat here for about 30 seconds wondering if it did what I asked, only to find out that it had been done with that the whole time.

Now being a developer, I've noticed that 98% of the web applications I use (Stack Exchange included) have a latency (some being very small, 100ms or so), you noticed that something took some time. This is not always a bad thing. The user has the opportunity to see the application transition from one page to the next, and they notice the change. If it's fast enough, the user may not notice, at least in my experience. Usually I wouldn't worry about this, as I would assume that over the internet loading will become noticeable and such, but the problem with this application is that I'm already loading over the internet, and it's still god-awfully fast.

So, to my question: is it necessary to artificially slow down an application so that there is a noticeable latency, even if it's tiny, or is this a non-issue? I'm particularly interested in any research into this that might help influence the decision.

3
  • 1
    One note... you said that sometimes the new content loads before mouseup. This implies you are taking action on mousedown vs waiting for the actual click (down and up on the element without leaving /swiping). While this is sometimes fine users will find it frustrating if it takes action when they don't intend it to. On desktop when using a touchpad and mobile using a touch screen, the swipe gesture to scroll will trigger a mousedown/touchdown type event if you don't wait a tiny bit and check for directional change and abort you may find that unintentional actions get triggered regularly.
    – scunliffe
    Aug 19, 2017 at 12:31
  • @scunliffe That was referring to the browser refresh action - I actually meant to say it was the keyboard key instead of the mouse: on Chrome on Windows, pressing F5 begins a refresh on key down, and on Safari on OS X pressing Command + R begins a refresh on key down. Aug 19, 2017 at 13:38
  • You could show a 'toast' message (non-modal temporary message that doesn't take focus, and hides itself after a short time), so that the application is not slowed down at all, but it is clear that the action was done. Feb 16, 2022 at 20:39

1 Answer 1

14
+100

If the system responds so quickly to a user-initiated action that there's no indication that the application has completed a task, this can be detrimental to the user experience.

The usability heuristic "visibility of system status" states:

The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.

If actions happen too fast, and the user is not provided feedback on the results of their actions, the system has violated this heuristic.

The Labor Illusion

In 2011, a Harvard study found that:

...when websites engage in operational transparency by signaling that they are exerting effort, people can actually prefer websites with longer waits to those that return instantaneous results—even when those results are identical.

They called this the labor illusion. There are numerous examples of well-known companies doing it. Among others, Facebook has deliberately slowed their security checkup so that users feel safe, and Wells Fargo deliberately slowed their retinal scanners so that people realized something had happened.

Given that we don't know what your application is doing, it's hard to say whether or not introducing artificial wait times is a good idea. But based on the fact that as the developer you knew that the application should have done something but still waited for 30 seconds for a response, I'd say you have an issue. In the very least, ensure that the user is made aware that their action has had some effect (through a visible change in the interface, an artificial delay, or some other mechanism).

Additional Resources

There's a good discussion on about a similar topic here. The NN Group also have interesting articles about when the UI is too fast, and change blindness (when users don't see what designers expect them to).

5
  • 1
    Interesting, this is exactly what I was expecting would be the case but its awesome that you actually have links to back it up (especially from large corporations and universities that do this). Very good answer! :) I think (to avoid wasting users' time on truly long requests) I'll build this into the application to make sure that each request takes a minimum specific amount of time, if it takes less than that delay it up to that time, if it takes more then no delay at all. This should keep performance up without sacrificing compute cycles. Aug 16, 2017 at 11:30
  • @EBrown Glad to help. Just wanted to clarify: Harvard ran the study I referenced but I do not know if they (or other universities) use the labor illusion themselves on their sites.
    – Jonathan
    Aug 16, 2017 at 14:56
  • @Jonathan Aye, I should have reworded that, I meant to imply "especially from university research and large corporations doing this". :) Aug 16, 2017 at 14:57
  • I always read Nielsen's heuristic to mean that the screen designs need to reflect the system status. There needs to be something visually noticeable on the follow-up screen to show that things have changed. I wouldn't count on temporary events like latency and screen transitions to convey that information. Labor Illusion is an interesting concept, but some sites (e.g., travel sites) seem to think that a longer wait implies more trust. ("Come on! Just show me my search results!") Aug 18, 2017 at 13:23
  • 1
    @KenMohnkern Agreed, "there needs to be something visually noticeable on the follow-up screen to show that things have changed." In some cases, the follow-up screen is the same screen (e.g., clicking Save), so there needs to be a indication that the system status has change (e.g. adding a label like "All changes saved."). I really wanted to respond though because your comment on travel sites made me laugh out loud! :)
    – Jonathan
    Aug 18, 2017 at 17:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.