Use case: There is a toggle button a user can click on it. After the user clicked on it, it should show a result, success or failure. It takes some process time to calculate the result. Unless error happens, it should always give success result.

Which of the following is a better user experience after the user clicks the toggle button?

  1. Show success as a temporary result, and if the process errors out later, revert the success result to failure. Should the toggle button be disabled while it is still processing the result? If it is not disabled, the user can keeps clicking the toggle button, what to do in that situation?

  2. Show a loading indicator, and then show the result after the process gives the result. Should the toggle button be disabled while it is still processing the result and the loading indicator is present?

  • 1
    It really depends on what you're calculating and the value that information has to the user. – Steve Jones Jun 2 at 8:22
up vote 4 down vote accepted

Show a loading indicator with a message such as "Processing", "Calculating", or a progress bar, if the wait time is longer than 2 or 3 seconds.

I can think of 2 reasons:

  • Users might not understand or be really upset if they think they have succeeded, and eventually find out they failed.

  • Some platforms actually lengthened artificially the processing time of requests, because users have been trained to associate waiting time and value, and they didn't trust results that appeared too quickly. Interesting discussion about this here: https://www.90percentofeverything.com/2010/12/16/adding-delays-to-increase-perceived-value-does-it-work/ If the delay is too long, it becomes a dark pattern, wasting user time.

Some ideas on how to make users enjoy their wait: https://www.sitepoint.com/make-users-enjoy-waiting/

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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