User Experience Asked by Michael Schmidt on December 12, 2021
I’m designing a CRM (Web-based. Optimized for desktop use. Clients are using Chrome on Windows) which has a lot of forms in order to edit everything.
Currently, when you save a form, the Save button transforms into a loading-gif and is disabled (more clicks won’t do anything) and if successful back to the save button with a success message.
It should be mentioned that the user edits detail-information inside the form. So the same form can be edited multiple times consecutively.
Normally, the user doesn’t has to wait more than 1 second until the form is processed and saved. But what if it takes longer?
Currently the user is able to navigate away before the form is saved, if the processing takes a long time. The saving-process is asynchronous, so it still will be saved. But if an error occurs, and the user is on a whole different page, the error message won’t be displayed.
So should I stop the user from navigating away while the form is still processed?
If yes, how? Overlay over the navigation? Over the whole screen? Info-Message that if navigating away, he won’t be notified if there is an error?
If I shouldn’t stop the user, how should I inform him, if the save-process was successfull or failed?
I agree with Nick that you can’t really stop the user from going away from the page. If the saving takes more than a second or 2, most users will start getting impatient, either closing the webpage or press the back button. An interface I saw on Wix which I feel that you can copy is to have a pop up dialogue that warns users that navigating away from the page may bug the field, asking if they would like to proceed. Thought that this design is good to copy to solve your issue here. Just sharing a screenshot from Wix to illustrate what I meant.
Answered by Eric Chia on December 12, 2021
okay so this can be done based on response when you call POST/PUT on form submit you can do a loader icon and based on the response of the request take either action
this is doable in javascript/angular/vue.
Hopr this heps
Answered by Rohit Poduval on December 12, 2021
You can't really stop the user from going away, he will manage to close it, forget it, go away, bug it, no matter how much instructions you give him, he and new users will always fall to the same behavior, simply because humans don't like to wait, at all. I gave up on this loading-lock behaviors a long time ago, instead now, I work with Promises.
Yes, just like Javascript Promises, I give a promise to the user that something will be resolved in the future, a similar behavior can be found on Microsoft Azure:
But that's because most my use cases revolve around long-running or complex tasks that actually require a long future.
Doing the same on regular systems that run near-realtime CRUD operations will definitely be a case of premature optimization.
Most options you have will involve interaction locks.
Processing, do NOT close the software.
Hold on, we are working on your request.
Try to keep full-screen loadings friendly, this way, your user will be greeted with a nice feedback that will lower his chances of frustration, you can even create complex(yet, gorgeous) indicators that will reduce even further the user anxiety, like this:
Answered by Nick LeBlanc on December 12, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP