23

In our web application we have a number of pages to do with user settings, in different categories. For most of them we have a display page with an edit button/link, which takes them to a form which has a cancel/save exit path.

However, for one category of settings we do something different. For the alerts & notifications settings we show all the alerts they can have, and present the controls to turn them on/off individually right there, as well as change their respective options (eg. email address to use as destination). There is no save button/link, the changes take effect immediately. We did this because the typical scenario is the user will want to tweak just the one alert setting, rather than review and edit the lot as a batch. We also recognised that a "save" button would likely be below the window-fold and thus be missed, and we really didn't want to put a save button against each set of alert settings.

We're a bit worried the user might be puzzled by the lack of a save button.

What are some guidelines and arguments for and against some setting changes having an immediate effect?

1

6 Answers 6

22

You should be consistent. Changing what people expect from your application is confusing and not a good idea.

If you are saving automatically in one section, why not do it in all of them? If there is a good reason to have the save button(s), then why not have them on all the settings pages?

Many applications break up settings pages to logical groupings and then have a save button for each group. I haven't found it visually ugly, and it is clear what to do. Definitely a better option than only at the end of a long list.

6
  • 3
    One addition I would make to that: if you're going to have groups with a save button for each, make sure either each save button saves everything, or saving one group does so without resetting other groups to the default! I've lost a load of config changes in the past due to people implementing this wrong, so I'm keen to spread the good word :)
    – John Y
    Oct 4, 2011 at 8:25
  • @JohnGB same here. We're confounding things further by having the different categories of settings actually being inside different panes of an accordion page. The devs might however implement this as distinct separate pages with an accordion style appearance, rather than have one monster sized page of html.
    – Erics
    Oct 4, 2011 at 8:33
  • @JohnYeates: Good point.
    – JohnGB
    Oct 4, 2011 at 8:38
  • 2
    Your answer would have been more balanced if you talked about the plus points of both auto-saving and not auto-saving. Each has its merits and its uses.
    – Kris
    Sep 22, 2012 at 6:35
  • 1
    @LucaSteeb Simply linking an article doesn't add much in terms of comments. Especially when said article has conclusions that seem at odds with statements made in the article. As a final thought, it seems that the comments on that article by and large disagree with the idea of mixing save and autosave.
    – JohnGB
    Aug 6, 2018 at 7:14
6

Consistency is definitely a must. However, if one group of settings warrant a toggle on/off action rather than actually typing into a set of fields, it may be ok to have these save automatically on each change.

If you are using a toggle style switch it is expected that once you flick it, the action has been saved... Think about turning on or off a light. You could symbolize that it is being save by a short animation or notification after it has been toggled.

You also need to think about what type of users you have. Do they expect things to be saved automatically or do they need the psychological closure of completing the actions by clicking a save button.

It is becoming more of a common practice to use autosave within applications. Google uses autosave for most of their apps but they also use a 'save button' where needed. You could argue that 'web savvy' users would be more used to autosave but 'less web savvy' users may still expect or want to click a button to feel secure that their efforts have been saved.

5

In my opinion, auto-save should be avoided:

  1. When there are validations on the form
  2. The form allows multiple entries

We designed a timesheet module for a client that auto-saved entries. The client loved it but then validations kicked in and turned the table up-side-down. Some of the fields were required to be mandatory dynamically i.e. based on the selection of another field. If the user does not captures mandatory data and navigates away, the system quietly ignored the entry. There was no easy fix and we had to introduce the 'Save' button.

1
  • A good example. Auto-save sounds great but it simply doesn't always make sense. However, would it be worthwhile to add auto-save to other parts of the same application, but leave a save button on the time sheet?
    – Vincent
    Dec 12, 2018 at 20:26
3

For me Auto-save works. This is my scenario and my reasons for implementing it.

Scenario:

  • Our app has long form with lots of data input, some of that free text comments.
  • We have more than 100 users with different quality of connection
  • We have lots of validation rules that depend on multiple fields
  • When the form is complete and valid it goes to next step on a workflow based on rules.

Reasons for AutoSave.

  • We don't want to wait until everything is done to have info on the back end
  • If user loses connection they don't lose data
  • If user has to leave, another user can continue
  • Validation rules are at the server. (executed on saved data.)
  • No need for dirty flag logic (i.e. Do you want to save your changes?)
  • We let them save invalid data, we just don't let them continue on the workflow until everything is complete and valid. (We do have a Submit button, but it is submit to next step, not submit to back end server)
  • Users don't care for cancel button. They are ok if they change anything unwanted, they can change it back, they don't need abort / revert function.
2

Aside from consistency, it should also check for platform from your analytics report. If most of your audience is from a macOS background you may want to consider using auto-save since the behaviour of most applications and dialog boxes on macOS is to automatically save.

For Windows users at least most would still be in the Windows 7 and below frame of mind in which case automatic save isn't the norm for most dialog boxes.

1

In ancient times, documents would have two states: the "saved" state on disk, and the state being edited. I would suggest that's often a good model, even for on-line applications. To avoid having people lose their work if their connection goes down, it may be good to have the server keep an up-to-date copy of the state being edited, but the "saved" state should generally only be updated if someone affirmatively requests that.

When closing a window after some state has been modified, a user should be allowed to abandon changes, apply changes, or keep as draft. If the user opts for the latter, or if the connection is lost, the next time an attempt is made to edit the state the user should be explicitly formed that the system is retrieving a saved draft.

I dislike having some kinds of changes to a form auto-applied and others not; if certain changes must be auto-applied, I would suggest that rather than using [e.g. a checkbox or radio button, one have a "submit"-style buttons for "Turn XXX on" or "Set mode to YYY".

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