14

Background: Stack Exchange now lets you paste images from the clipboard into the image upload dialog. Unfortunately, there is no indication that an upload is going on. I am wondering if this is really bad UX or it just affects me.

There are generally some functions in an app that take an unpredictable amount of time. Let's take an upload for example.

Is it OK to omit any indicator of the fact that the upload is indeed in progress? It doesn't matter if it shows how much the upload has proceeded, something like enter link description here which says "Something is going on, please wait. There is no need to keep clicking that button." is fine as well. I'm comparing situations when you press a button and nothing happens until the upload (or whatever) is complete.

Is this a bad UX decision? Have there been any studies on this?

4 Answers 4

15

There's plenty of research about this. Much of it is in the area of perceived performance -- how long it feels like an action takes. Steve Seow has an excellent book titled Designing and Engineering Time: The Psychology of Time Perception in Software.

One of its major results is how we perceive response time:

  • "instantaneous" (0.1 – 0.2 seconds)
  • "immediate" (0.5 – 1 second)
  • "longer" (2-5 seconds or more)

If an action is instantaneous or immediate, then you don't need to show a progress indicator. But if it's over 1s, then you should show a progress indicator. Determinate progress indicators are better than indeterminate progress indicators, but an indeterminate progress indicator is better than nothing. If a user has taken an action but there is nothing to indicate that the system is actually doing something, then the user loses trust in the system.

1
  • These times refer to how long an operation takes to complete in the user's environment not how long an operation is supposed to take based on the specs. As a result, a progress indicator has to built-in and set to appear if any operation takes longer than 1.5 seconds to complete.
    – dnbrv
    Commented Apr 3, 2013 at 4:34
5

Messages about an operation's success, failure, or progress are known as "system status indicators". Jacob Nielsen included them in his 10 usability heuristics as far back as 1995:

Visibility of system status

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

Thus, discarding the progress does indeed hurt the usability of the site.

BEWARE: the Nielsen heuristic should not be taken literally with a toast/flash message for every time an operation succeeds. Changing the state of the control to what a user expects is also considered to be a system status indicator (e.g., flipping a light switch turns the lights on/off or an interface's color change is applied instantly). Overabundance of notifications can be distracting, so please be careful and test with real users to achieve a balance between too much and too little information.

3

Two parameters which you need to take into consideration:

  • One, like dnbrv pointed out, the system status should always be visible. The progress bar reinforces to the user that the system is processing the user input right now and also goes one step ahead by showing an estimate of the time it will take to complete.

  • Two, you also need to consider the user's attention span. http://www.nngroup.com/articles/response-times-3-important-limits/ If the system response is immediate, you can do away with the progress bar (not advised, but you can argue for it).

Normally, no special feedback is necessary during delays of more than 0.1 but less than 1.0 second, but the user does lose the feeling of operating directly on the data.

But if your wait time is more than 1 second, you better show a progress bar.

1

I don't know if there is any particular studies on this point but I don't see any benefits at not giving users some UI feedback for that type of interaction unless you have measured the timeframe after which users start worrying and you can guarantee an upload time inferior to this timeframe 100% of the time. Which is very unlikely for many reasons (server load, connection type, platform, etc).

Usually, in absence of UI feedback users might think that their action hasn't been registered by the application which increase frustration/friction.

Your Answer

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

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