Preferences UI for Save/Revert/Reset #64591

Closed
opened 2019-05-14 10:57:14 +02:00 by William Reynish · 25 comments

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:
Screenshot 2019-05-14 at 10.53.16.png

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
    Screenshot 2019-05-14 at 10.56.11.png
  2. 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:

{F7035893, size=full}

This should make this part of the UI less intrusive.

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: ![Screenshot 2019-05-14 at 10.53.16.png](https://archive.blender.org/developer/F7035882/Screenshot_2019-05-14_at_10.53.16.png) 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 ![Screenshot 2019-05-14 at 10.56.11.png](https://archive.blender.org/developer/F7035898/Screenshot_2019-05-14_at_10.56.11.png) 2. 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: {[F7035893](https://archive.blender.org/developer/F7035893/Screenshot_2019-05-14_at_10.41.05.png), size=full} This should make this part of the UI less intrusive.
William Reynish self-assigned this 2019-05-14 10:57:14 +02:00

Added subscribers: @WilliamReynish, @Regnas, @ErickNyanduKabongo, @Ghostil, @sebastian_k, @StanislavOvcharov, @DuarteRamos, @ideasman42

Added subscribers: @WilliamReynish, @Regnas, @ErickNyanduKabongo, @Ghostil, @sebastian_k, @StanislavOvcharov, @DuarteRamos, @ideasman42

Added subscriber: @brecht

Added subscriber: @brecht

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.

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?
Screenshot 2019-05-14 at 11.19.08.png

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

  • Save Preferences
  • Factory Reset

and

  • Revert to Last
  • Factory Reset
Yes, it's true that Revert and Reset sound and look very similar Reset could be renamed to Factory? ![Screenshot 2019-05-14 at 11.19.08.png](https://archive.blender.org/developer/F7035961/Screenshot_2019-05-14_at_11.19.08.png) Or we could bite the bullet and use two lines, so: - Save Preferences - Factory Reset and - Revert to Last - Factory Reset
Member

Added subscriber: @jendrzych

Added subscriber: @jendrzych
Member

@WilliamReynish
the latter is the least ambiguous (Rev. to Last / Factory Reset)

@WilliamReynish the latter is the least ambiguous (Rev. to Last / Factory Reset)

Yes, I think those two lines would be ok.

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.

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.

Removed subscriber: @sebastian_k

Removed subscriber: @sebastian_k

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. 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.

In #64591#678641, @WilliamReynish wrote:
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.

> In #64591#678641, @WilliamReynish wrote: > 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.

  • For example to prevent losses in the even of a crash; since without gracious exit I assume preferences would never be saved.
  • 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.

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.

I agree with Campbell here, an explicit way to save preferences even with autosave is desirable. - For example to prevent losses in the even of a crash; since without gracious exit I assume preferences would never be saved. - 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. # 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:

{F7036198, size=full}

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.

A menu could also work I think. Eg something like: {[F7036198](https://archive.blender.org/developer/F7036198/Screenshot_2019-05-14_at_13.33.08.png), size=full} 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.

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 #64591#678663, @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.

> In #64591#678663, @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.

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.

Added subscriber: @jenkm

Added subscriber: @jenkm

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).

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).
Member

Added subscriber: @Harley

Added subscriber: @Harley
Member

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

PrefSettings.png

Something like this might keep it simple and have everything together? ![PrefSettings.png](https://archive.blender.org/developer/F7036545/PrefSettings.png)

Added subscriber: @GavinScott

Added subscriber: @GavinScott

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.

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.

@WilliamReynish I'm guessing it's a resolved.

@WilliamReynish I'm guessing it's a resolved.

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'

Yes indeed

Yes indeed
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
10 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#64591
No description provided.