From a UX perspective, what would be the best way of handling this scenario:

I'm working on quite a big grid that is populated by the latest saved instance of a report that our clients have supplied us with. Above the grid there is a drop down list so that the clients can chose what revision he wishes to display on the the grid.

Each time the user saves a new revision of the report it the revision with a datetime-stamp (yyyy/MM/dd HH:mm) in our database and the page does a postback that changes the drop down list to now show the latest revision as well as populates the grid with the latest save.

My question to you guys is how you would handle the (un)likely scenario of a user either doing a double click (and as such sending two revisions to the database) or if the user does two saves on the same minute (since we don't take seconds into consideration)?

Should we follow the common route of graying out the save-button until a full new minutes has gone (for the record I think this is idiotic) or post an error message and as such risk confusing / making the user feel stupid?

  • I guess the best user experience is the system ignores double clicks (there are ways to do this), and things happen quick enough that 2 saves in a minute is not a problem.
    – SteveD
    Sep 29, 2016 at 16:30
  • Is it possible to extend that datetime-stamp, down to the seconds or milliseconds level say? Oct 3, 2016 at 10:20

2 Answers 2


When the user clicks the save button disable it immediately. Once the POST back is complete, enable it. This should prevent the accidental double click.

To prevent generating the same report twice within a given minute, consider handling it server side. When a new save request comes in, check if there is already a report generated for the current minute, and if there is, simply return that existing report instead of generating it again.

This way you won't even burden the user with thinking about "what they did wrong", they can simply just carry on.


You can make use of a transition state, usually shown by a 'Processing...' or cogwheel icon. This would probably be better than disabling the button for a full 60 seconds, as the user might think the site has crashed.

However, this solution still does not seem to be at a reasonable level of usability. You might reconsider why the time stamping is limited to minutes only. Does your server actually take 60 seconds to save and display the latest version of the report? If not, are there other operational reasons? If not, consider changing the time-stamping scheme and add seconds to it. You might reduce the 'processing' stage from a minute to just a few seconds.

Note: In the answer by ToddBFisher, he has proposed returning the same report as before if saved within twice within a minute. If this means discarding changes made by the user, I would never recommend it.

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.