I have a button in the UI which does a critical action (restarting of a server) and thus the latter operation could last for few seconds (10 - 15). Thus, I'm doing the following:

  • Freezing the UI so that users can't perform any action with the placement of a "progress" icon.

Is that a good UX practice or should I let the users perform any action while restarting the server ?

  • Does the restarting server provide the users UI? If not, would it be possible for the user to proceed using the system in a read-only status? If so you could let him do basic navigation without writing- or server-access while providing a small progress bar somewhere. And you could stash all inputs during server restart and send the changes to the server later. – uxfelix Nov 14 '13 at 9:58
  • Ever tired restarting your home router whilst on wifi? The page is replaced with a (generously timed) loading bar whilst the reset occurs - so that the user is not left with a PAGE/CONNECTION CANNOT BE FOUND message. This flow seems appropriate to you here. – Fractional Nov 14 '13 at 16:52

Just keep the user's expectation in mind: In this case, the restart seems to be the user's choice. Therefore, he'll expect the server to be unavailable for a while.

To make the current status transparent you should tell:

  1. What's happening right now ("We're restarting your system now.")
  2. How long this should take ("This usually takes 10 to 15 seconds.")

If you're following this, your UX should be fine.

| improve this answer | |

One method that's common for managed networking equipment I've seen is the user tells a system to perform a restart, a message box pops up stating "system restart in 3/5 seconds" with a cancel button to abort the operation (in case the user accidentally picked this selection). The seconds countdown and then the user is forwarded to another screen/page with a message "system restart in progress, this will take approximately 30 seconds" and it counts down. It redirects back to the previous screen or page once the server is back up whether or not the count down is finished.

| improve this answer | |

Freezing the UI and any other intrusion leads to breaking the user flow, which is bad for user performance and satisfaction. So freezing UI brings bad UX.

Server availability is important for getting and saving data. So in many cases users probably don't notice server restart at all.

For users who are performing data getting/saving operations while the server is restarting, you could just display a progress bar with an appropriate message. The progress bar in this case is the appropriate solution, as the time lag (10-15 sec) is not so big.

10 seconds: Limit for users keeping their attention on the task. Anything slower than 10 seconds needs a percent-done indicator as well as a clearly signposted way for the user to interrupt the operation. Assume that users will need to reorient themselves when they return to the UI after a delay of more than 10 seconds. Delays of longer than 10 seconds are only acceptable during natural breaks in the user's work, for example when switching tasks.

from Response Times: 3 Important Limits by J. Nielsen

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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