Maniphest T66675

Tooltip urgently needed for Preferences editor button to avoid user data loss with factory-defaults.
Closed, ResolvedBUG

Assigned To
Campbell Barton (campbellbarton)
Authored By
Gavin Scott (Zoot)
Jul 10 2019, 9:25 PM
Tags
  • BF Blender
Subscribers
Brecht Van Lommel (brecht)
Campbell Barton (campbellbarton)
Erick Tukuniata (erickblender)
Gavin Scott (Zoot)
Harley Acheson (harley)
Ludvik Koutny (rawalanche)
Philipp Oeser (lichtwerk)
William Reynish (billreynish)

Description

System Information
Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: GeForce GTX 1060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 425.25

Blender Version
Broken: version: 2.80 (sub 74), branch: master (modified), commit date: 2019-07-10 15:13, hash: rB3fe0c32fae20

Short description of error
The button that shows in the Preferences editor when factory-defaults are in effect is confusing and needs a tooltip to explain its danger to users. As it stands, if a user presses the button they will lose their existing configuration unless they take un-obvious actions to prevent it.

Exact steps for others to reproduce the error
Start Blender with --factory-startup OR use File->Defaults->Load Factory Settings OR use the Load Factory Settings option from the Preferences editor hamburger menu.
The lower left corner of the Preferences Editor now changes to:


We see a button, with a check-box, and "Skip Auto-Save" which has the not terribly helpful tooltip "Toggle a context value".

If the user presses this button out of confusion or for whatever reason, it simply vanishes and now the default auto-save is re-enabled and unless the user takes the action of going into the hamburger menu and disabling auto-save, or re-loads default settings again, they will have their configuration overwritten when they exit.

The "Skip Auto-Save" button is a double-negative action (you click "Skip Auto-Save" in order to Not-Skip Auto-Save), includes a checkbox which is not actually a checkbox and cannot be toggled back on in any way, etc.

For 2.80, can we possibly slip in a tooltip specifically for the "[X] Skip Auto-Save" button that tells the user what the effect of pushing it will be? Something verbose and explicit like:

Because the factory default settings have been loaded, auto-saving of preferences at exit is temporarily disabled to avoid overwriting your previous settings. This button will remove that protection. WARNING: this may cause overwriting of your previously saved configuration with the values currently in effect unless you disable Auto Save Preferences in the menu to the left before exiting Blender.

Revisions and Commits

rB Blender

Event Timeline

Gavin Scott (Zoot) created this task.Jul 10 2019, 9:25 PM
Philipp Oeser (lichtwerk) assigned this task to Campbell Barton (campbellbarton).Jul 11 2019, 10:38 AM
Philipp Oeser (lichtwerk) lowered the priority of this task from 90 to 50.
Philipp Oeser (lichtwerk) added subscribers: Campbell Barton (campbellbarton), Philipp Oeser (lichtwerk).

@Campbell Barton (campbellbarton) : if you are looking into T66674 anyways [which is high prio], could you consider this?
This is a sensitive thing and has had me loose preferences as well (and only through that loss I learned how to do it right)
Technically it is not a bug, but... will let you decide (will confirm though for the time being if you dont mind...)

Brecht Van Lommel (brecht) raised the priority of this task from 50 to High.Jul 11 2019, 11:27 AM
Brecht Van Lommel (brecht) added a subscriber: Brecht Van Lommel (brecht).

Artists at the studio here were also confused by this and losing preferences, we need a better solution.

Brecht Van Lommel (brecht) added a subscriber: William Reynish (billreynish).Jul 11 2019, 11:27 AM

CC @William Reynish (billreynish).

Andy Goralczyk (eyecandy) added a subscriber: Andy Goralczyk (eyecandy).Jul 11 2019, 1:23 PM

I second this (I was the last person at Blender HQ to complain about this). I had to take screenshots for the release, so I launched Blender with the factory defaults. I saw the "skip autosave" in the preferences so I thought you HAVE to press it in order to skip the auto save. Later I was told that it's actually a checkbox disguised as a button. I spent the next 30 minutes recovering my user prefs...

Apart from the fact that I am not a huge fan of the autosave myself (*when* does it save exactly?) I would suggest to turn it into a persistent checkbox that looks like all the other settings checkboxes in Blender.

Ludvik Koutny (rawalanche) added a subscriber: Ludvik Koutny (rawalanche).EditedJul 11 2019, 1:28 PM

This is very problematic. Most new users don't even grasp the concept of preferences autosaving being something optional, since in almost all other softwares, preferences are always auto-saved. So many people will think that "Skip auto-save" refers to skipping auto-saving of the .blend files for backup and recovery purposes, and they will most likely proceed to uncheck that checkbox. There's absolutely nothing that implies this UI element is related to preferences, not auto-save feature of autosaving .blend files periodically.

A simple solution would be renaming to "Auto-save preferences", making it a true, regular checkbox, and inverting the action, so that it's ON most of the time, and automatically switches OFF when factory defaults are loaded.

And this checkbox would then be persistent, always visible, always informing users of the current state of preferences autosaving. No longer hidden inside the hamburger menu.

Gavin Scott (Zoot) added a comment.Jul 11 2019, 1:36 PM

A simple improvement might be to remove the internal and confusing "don't save because factory defaults are active" flag, and instead, simply have a line of code after the Load Factory Settings that explicitly turns off Auto Save Preferences.

Then what you get is that auto-save always has to be turned on explicitly if you want it after loading defaults, and what the user is presented with is the Save Preferences button which will do exactly what it says.

It also requires a learning process, but it's hopefully more likely that your preferences don't get stomped than that they do.

Harley Acheson (harley) added a subscriber: Harley Acheson (harley).EditedJul 11 2019, 8:58 PM

As Gavin mentioned, when loading factory settings just turn off the auto-saving of preferences.

But other smaller related issues:

The option to load factory settings is described three ways. The button says "Load Factory Settings", the tooltip says "Load Default Preferences", while the confirmation says "Load Factory Preferences"

"Revert to Saved" is a too terse compared to the other options. Above it is "load factory settings", while below is "save current state". So are we reverting to last saved "state" or last saved "settings"? Neither? Both? It should be explicit.

The menu item "Auto-Save Preferences" is badly worded. It could easily be mistaken to mean the "preferences of the "Auto-Save" feature, rather than "I am the current state of the auto-saving of preferences". Restated, it could be that "Auto-save Preferences" is a place like "Viewport Preferences". "Automatically Save Preferences" is probably better.

The "on exit" is confusing in the tooltip of "Save modified preferences on exit". The exit of what? The program? Just this window? The "modified" text of it also adds confusion and should probably be removed or changed. In most cases people don't care if preferences are saved when unmodified. Do we have to care in this case? If not it should be removed, if yes then it should be made explicit why that is the case. "Automatically Save Preferences on program exit" is probably better.

The "hamburger" icon is obscure down there. I'd prefer a button with TEXT, but even a "gear" icon would be more appropriate.

Campbell Barton (campbellbarton) added a comment.EditedJul 12 2019, 6:23 AM

A simple improvement might be to remove the internal and confusing "don't save because factory defaults are active" flag, and instead, simply have a line of code after the Load Factory Settings that explicitly turns off Auto Save Preferences.

Then what you get is that auto-save always has to be turned on explicitly if you want it after loading defaults, and what the user is presented with is the Save Preferences button which will do exactly what it says.

The issue with this is auto-save *is* enabled by default, so if we make factory-settings different from Blender's default startup configuration, it's quite confusing.


As Gavin mentioned, when loading factory settings just turn off the auto-saving of preferences.

We currently do this, there is just the ability to disable the override.

If we do what you're suggesting, a user may reset to defaults, make time consuming changes to the preferences (keymap, theme etc), then exit - expecting the preferences to auto-save, but loose all their changes.

This option could be removed (they can just save the preferences manually), however in this case, users should be made aware that their changes wont be saved since there will be a check-box with auto-save enabled, it's reasonable they would expect that option be used.

Campbell Barton (campbellbarton) changed the task status from Unknown Status to Resolved by committing rB149999455734: Fix T66675: Auto-Save override button has no tooltip.Jul 12 2019, 7:48 AM
Campbell Barton (campbellbarton) added a commit: rB149999455734: Fix T66675: Auto-Save override button has no tooltip.
Campbell Barton (campbellbarton) added a comment.Jul 12 2019, 8:29 AM

@Harley Acheson (harley) good points re: state/settings/preferences, naming isn't great, we could change this, eg: P1034.

Although this raises the question - why not just call this menu "Preferences", then items inside can be "Save/Revert/Auto-Save".

@William Reynish (billreynish) if you think this can use further changes, a design task could be created.

Campbell Barton (campbellbarton) added a comment.EditedJul 12 2019, 10:23 AM
In T66675#718217, @Andy Goralczyk (eyecandy) wrote:

Apart from the fact that I am not a huge fan of the autosave myself (*when* does it save exactly?)

When any preference is edited (although keymap editing currently isn't supported).

I would suggest to turn it into a persistent checkbox that looks like all the other settings checkboxes in Blender.

Auto-Save is a persistent checkbox in the "hamburger" menu, I think the issue is that the ability to re-enable auto-save after loading factory settings is quite confusing.

D5236 changes behavior so loading factory settings never auto-saves afterwards, adding text that notifies the users of this.

Harley Acheson (harley) added a comment.Jul 12 2019, 5:30 PM
In T66675#718772, @Campbell Barton (campbellbarton) wrote:

why not just call this menu "Preferences", then items inside can be "Save/Revert/Auto-Save".

I'm assuming that it would look confusing to have an active element called "Preferences" inside a window called "Preferences", but maybe it wouldn't be so bad in practice.

a design task could be created.

I'm always on board for design tasks! ;-)

In my ideal world we would directly expose (just) a "save" button and an "Auto-Save" checkmark. This would require changing the name of the "Save & Load" section to avoid confusion:

And the idea of loading "factory settings" and "revert to saved" would both change. Instead we'd regard these two things as just two in a group of "Preferences Sets". Those sets could then include multiple items. A set created for new users with new theme and left-click select, one for old-school users with a different theme and right-select. Maybe one for people migrating from specific software. Maybe a "Blender 101" version designed to be easier and more discoverable (like having the toolbars pulled out to expose the names). We could have one for people with vision difficulties that not only selects a high-contrast theme but also increases resolution scale, line width, etc. And these would all be selected in the top section of Prefs, so it would greet users right away as the "Basic" settings, versus all the "Advanced" settings below.

Together, I can't any issues with "auto-save". Although not shown correctly in my mockup (LOL) we would enable and disable the "save" button with the setting of the auto-save checkmark. So it would all be very obvious what the current state is when you load or revert to a different preference set and that setting changes.

Andy Goralczyk (eyecandy) removed a subscriber: Andy Goralczyk (eyecandy).Jul 12 2019, 5:48 PM
Gavin Scott (Zoot) added a comment.Jul 12 2019, 6:59 PM
In T66675#718711, @Campbell Barton (campbellbarton) wrote:

If we do what you're suggesting, a user may reset to defaults, make time consuming changes to the preferences (keymap, theme etc), then exit - expecting the preferences to auto-save, but lose all their changes.

I agree that there will be the risk of either losing all your NEW changes or losing all your OLD changes until you understand how it works. If we have to make a choice, I think it's less bad to potentially lose the hour of work you *just did* because it's fresh in your mind and you'll be irritated but hopefully learn a valuable lesson as you do it all again :) If we cause you to lose all your OLD settings, that may be accumulated config and keymap changes done over an extended time which the user may not even remember and which thus will be much harder to recover from.

I think the change Campbell just made is a good step in the right direction. The checkbox is still a little confusing and I would personally switch the sense and instead of showing "[X] Skip Auto-Save" I would make it "[ ] Enable Auto-Save" and have the tooltip make it clear that this applies only to the current running instance of Blender and is showing because factory settings are in effect.

Harley Acheson (harley) added a comment.Jul 12 2019, 7:19 PM

@Campbell Barton (campbellbarton) : Sorry for the noise, but have to make a comment about the new tooltip text of the "skip" button. It is confusing in a number of different ways. It now says:

"The current session has "Factory Preferences" loaded which disables automatically saving. Disable this to auto-save the preferences."

The subject to which the "which" refers can only be read as the "Factory Preferences". So you learn from the first sentence that the loading of "Factory Preferences" disables automatically saving. And that is clearly wrong and not what you intended.

And what is actually happening cannot be properly described as "disabling" automatic saving. We are just temporarily ignoring that setting, not disabling it.

Something like the following might be clearer and closer to your intention:

"The automatic saving of preferences has been temporarily disabled for this session. Clear this checkbox to re-enable it now"

Erick Tukuniata (erickblender) added a subscriber: Erick Tukuniata (erickblender).Jul 16 2019, 7:28 PM

In BA there is a good example of what put as default please consider https://blenderartists.org/t/newbie-question/1169293

Campbell Barton (campbellbarton) mentioned this in rB4a5e046c923f: UI: remove button to enable auto-save after load factory preferences.Jul 17 2019, 1:39 AM
Campbell Barton (campbellbarton) added a comment.EditedJul 17 2019, 3:57 AM

This checkbox has now been removed rB4a5e046c923f4858981c429dd710cdc38ac83ece.

Unless they're small adjustments, further suggestions should be made in a design task.