Page MenuHome

Preferences UI for Save/Revert/Reset
Open, NormalPublic

Description

This is a design task related to the new auto-saving Preferences.

Currently, we have this rather busy and clumsy UI located at the top level in Preferences:

We can make this cleaner but making a few changes:

  1. Move Save on Exit checkbox to the Save & Load section, next to the Save Prompt toggle

  1. Once this is done, we can further clean up the bottom of the Preferences by changing what we see depending on the Save on Exit toggle state, like so:

This should make this part of the UI less intrusive.

Details

Type
Design

Event Timeline

William Reynish (billreynish) triaged this task as Needs Information from User priority.
William Reynish (billreynish) raised the priority of this task from Needs Information from User to Normal.

I like it.

Maybe "Reset" could be "Factory Reset"? Or Revert could be "Undo" if we want to keep it on one line? Right now it's too similar I think, too much chance of mis-clicking.

Yes, it's true that Revert and Reset sound and look very similar

Reset could be renamed to Factory?

Or we could bite the bullet and use two lines, so:

  • Save Preferences
  • Factory Reset

and

  • Revert to Last
  • Factory Reset

@William Reynish (billreynish)
the latter is the least ambiguous (Rev. to Last / Factory Reset)

Yes, I think those two lines would be ok.

While this looks nice, I think it would be good to make it possible to access save (as before), even if its via a menu or some way that doesn't clutter the UI.

  • You might want to start another Blender instance with the preferences of the current session. Forcing the user to quit seems odd.
  • When editing themes it's useful to be able to explicit save/load, otherwise there is no way to write changes you're happy with, before making further changes.
  • Moving "Save on Exit" into the blend file settings isn't very discoverable, although it's a bit odd where it is now too.

Noting issues above, interested to see if regular users run into them, perhaps they don't end up being a problem in practice.

I would prefer to only show the two buttons here. As I see it, we added the auto-saving to make dealing with Preferences *easier* not more complex, to remove the number of things you have to worry about.

If we have all these features and buttons all the time, it's too much to worry about I think. I don't think we have to cater to the case where the user might set certain preference save-states mid-session. I think that becomes too confusing and unpredictable. At that point, if we really want to support that well, we would need a 'preferences presets' system.

I would prefer to only show the two buttons here. As I see it, we added the auto-saving to make dealing with Preferences *easier* not more complex, to remove the number of things you have to worry about.

If we have all these features and buttons all the time, it's too much to worry about I think.

Agree, thats why I suggested to have them exposed in a way that doesn't clutter the UI (a menu for eg).

We can try for a minimal UI, if users are running into cases they need other options, we can always add a menu later.

I agree with Campbell here, an explicit way to save preferences even with autosave is desirable.

  1. For example to prevent losses in the even of a crash; since without gracious exit I assume preferences would never be saved.
  2. Also not to force the user to exit only save preferences, lest we fall in a undesirable workflow similar to currently having to close Blender to force purging unused datablocks.
  3. Make current preferences usable in a second instance without closing to save

Adding it in a menu (like currently under File ?) would be an acceptable compromise I think.

A menu could also work I think. Eg something like:

Idea being that, if you have Save on Exit enabled, usually you don't have to worry about saving, loading, resetting etc. I think it's best to hide the Save button in the menu here, because otherwise it's not clear enough that it saves automatically - the prominent Save button makes it seem like you have to manually save changes.

If Save on Exit is off, we do still need a fast way to save then.

We could have a "Revert to Last" button with a little down arrow menu next to it.

Edit: or having it all in the menu is fine too. The nice thing about buttons greying out now is that you can see if you changed anything, not sure if that's important.

In T64591#678663, @Brecht Van Lommel (brecht) wrote:The nice thing about buttons greying out now is that you can see if you changed anything, not sure if that's important.

It's kinda of important to visualize that imo.. yeah.

It's only important if you have Save on Exit = Off, in which case the Save Preferences button would still be visible, so it's not as issue as far as I can see.

This design scares me. When you "Revert to Last" or "Reset to Factory" it may also change the "Save on Exit" state, and it looks unpredictable and dangerous. So I would prefer to always see this option as it is now, especially if it's enabled by default. Otherwise you have to constantly go to see if it's activated or not.

And I think it's better/easier not to have "Save on Exit" option at all, just decide you want auto or manual saving, it will be less problems for users. It is easier to get used to a single behavior of the program (even if it's inconvenient for some user).

Something like this might keep it simple and have everything together?

I quite like having the "Save on Exit" option available, and I like seeing it on the main part of the Preferences window as it is now, since it's not just a preference but really a meta-preference that affects the whole preference system.

I think I would keep the [Save] button even when Save on Exit is enabled, just because so many times I've been bitten by having a piece of software crash after I spent an hour customizing everything to my liking and then having to start all over again. So I like being able to click the Save button periodically while working on a Theme say, without having to toggle Save on Exit in order to do it or having to exit and restart the program just to effect a save of the configuration work in progress.

I think in general the option and buttons are fairly clear and intuitive and I wouldn't worry too much about giving the user too many options as long as those options are simple and straightforward. As long as we have the various "load factory" things around, there will be the hazard of inadvertently wiping out one's config so having the explicit control is valuable to at least partially mitigate the risk.

Related to that, it might be nice to have an indication in the Preferences editor of the current state of factory settings loading. So if --factory-startup or File->Load Factory Settings is in effect, seeing something like "Factory Settings Loaded" in red text near the [Save] button might be helpful. And/or either always turn off Save on Exit after loading a factory config, or explicitly prompt at exit to ask if they're sure they want to save the factory-derived config. This would probably eliminate the need for the recently added "Load Factory Settings (temporary)" feature as any loading of the default settings would require an explicit action from the user before it could become permanent.