I'm developing a web application (I can post a link if you wish), which has a "workspace" with some items on it. Double-clicking an item opens a sidebar where you can set various properties for the item (like label, color, etc). I'm currently implementing a "live preview" for the sidebar. Whenever you change something in the sidebar, the change is immediately reflected on the item.

However accidents also happen and sometimes the user changes something they didn't want to change. So some sort of "undo" functionality is needed. Currently I'm implementing at the whole sidebar level - when the sidebar closes either all is saved permanently or all is reverted to what it was before the sidebar opened.

The sidebar can be closed in numerous ways - there's the familiar "cross" on the upper right, the user can select a different item on the workspace (or deselect all), the user can open a different sidebar (there are others for other purposes), etc.

So the question is, which route is better to take:

  1. The panel has a "Save" button, and that is the only thing which saves the changes. Closing the panel in any other way reverts the changes. (There might also be a "Revert" button, but that basically just closes the panel which auto-reverts anyway)
  2. The panel has a "Revert" button and that is the only thing which reverts the changes. Closing the panel in any other way saves the changes. (There might also be a "Save" button, but that basically just closes the panel which auto-saves anyway).

In other words, what is the more user-friendly way to go if the user closes the panel by accident - save his changes so that no work is lost by accident, or revert his changes, so that no damage is done by accident?


My colleague prompts me to add a third option:

  1. If the user selects "Save" or "Revert" explicitly, do that, otherwise give a prompt when the sidebar is closing.
  • There is a third option as well that extends the #1 - when the changes would be reverted, display an UI that prompts if the user wants to save the changes.
    – Knaģis
    Dec 28, 2016 at 10:28
  • What is the complexity of the panels? Are there complex changes people can make that would be a PIA to have to do over? Dec 28, 2016 at 21:01
  • @bloodyKnuckles - It's hard to say. There are two "description" fields where you could potentially type a lengthy description. And the user can select multiple items and edit them all at once. Depending on how many items in total the user has created, selecting the few items to edit might be a bit tedious too (think of selecting 5 files from a folder that has a 100). But I guess those are not going to be the typical use cases.
    – Vilx-
    Dec 28, 2016 at 22:07
  • My vote is for not losing information. Dec 28, 2016 at 23:50

2 Answers 2


The more user-friendly way is option 2 i.e. save the changes automatically when a user clicks outside of sidebar and give "revert" button to reset all the selected options. The reason is if you give option one then a user will get frustrated and have to recall the options which he/she had selected. If you save automatically then another benefit is when user doing this at the very first time he/she would come to know that how an item would change based on his/her selection. So he/she will go again to filter with another options.

So go with option 2.

  • Seems like this is the popular option. So be it. If the users complain, it will only take me about 4 lines of code to change.
    – Vilx-
    Dec 29, 2016 at 0:14

The third option is best, as it is most "protective" to the user, i.e. sometimes saving will be best but other times reverting will be best, and it's impossible to know which. Specifically:

  • Display both "Save" and "Cancel" buttons in the sidebar. If the user presses one of those, perform the selected action and close the sidebar.
  • If the user performs an action that will close the sidebar (other than pressing "Save" or "Cancel"), then prompt the user to choose to save or revert, with the default option being to save.
  • Providing an explicit save/cancel option will ensure users can feel comfortable and in control. There's nothing more frustrating as a user not knowing if something has or has not saved or worse yet a bad setting has overridden a good setting.
    – scunliffe
    Dec 28, 2016 at 21:00
  • Yes, there will be an explicit save/cancel. And I can skip the prompt if there haven't been any changes. But won't the prompt be annoying?
    – Vilx-
    Dec 28, 2016 at 22:10
  • Yes @vilx, the promo would be annoying because every time when user will select the options from sidebar they would have to attend this prompt so from my view point it would be not good approach. Dec 29, 2016 at 3:04
  • The prompt appears only if the user closes the sidebar without choosing "Save" or "Cancel", in which case we don't know the user's intent, so we have to ask them. If the user always chooses "Save" or "Cancel" to close the sidebar, then they won't get the prompt.
    – Gary Coker
    Dec 29, 2016 at 21:27

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.