Improve communication of auto-save behavior by adding dialog box to "Load Factory Preferences/Settings" #68649

Open
opened 2019-08-14 15:37:13 +02:00 by Campbell Barton · 17 comments

Adding this task based on a discussion about improving usability to auto-save preferences when loading factory settings.

Currently when loading factory settings, the preferences don't auto-save, even though loading the factory settings enables the auto-save option.

The rationale here is that we want to allow users to temporarily load factory settings without it overwriting their own preferences.

In this case explicitly saving needs to be done to overwrite their preferences.

This task is not to re-open the design discussion, for some context on the topic see other discussions.

For reference, discussion on this topic:

  • D4863 - Preferences UI patch for Save/Revert/Reset
  • D5236 - Remove option for disabling the override when factory settings are loaded
  • #66675 - Tooltip urgently needed for Preferences editor button to avoid user data loss with factory-defaults.
  • 4a5e046c92 UI: remove button to enable auto-save after load factory preferences

Based on discussion with @JulienKaspar, @dr.sybren & @WilliamReynish - we agree the current logic isn't well communicated to the user,
since loading factory settings puts Blender in a state where auto-save is checked but ignored.

This could be mitigated using a dialog which lets the user know what happens when loading factory settings.

Suggested text:

Loading factory preferences won't automatically save your preferences on exit.
To overwrite your current preferences you must manually save the preferences.

*Adding this task based on a discussion about improving usability to auto-save preferences when loading factory settings.* Currently when loading factory settings, the preferences don't auto-save, even though loading the factory settings enables the auto-save option. The rationale here is that we want to allow users to temporarily load factory settings without it overwriting their own preferences. In this case explicitly saving needs to be done to overwrite their preferences. This task is not to re-open the design discussion, for some context on the topic see other discussions. For reference, discussion on this topic: - [D4863](https://archive.blender.org/developer/D4863) - Preferences UI patch for Save/Revert/Reset - [D5236](https://archive.blender.org/developer/D5236) - Remove option for disabling the override when factory settings are loaded - #66675 - Tooltip urgently needed for Preferences editor button to avoid user data loss with factory-defaults. - 4a5e046c92 UI: remove button to enable auto-save after load factory preferences ---- Based on discussion with @JulienKaspar, @dr.sybren & @WilliamReynish - we agree the current logic isn't well communicated to the user, since loading factory settings puts Blender in a state where auto-save is checked but ignored. This could be mitigated using a dialog which lets the user know what happens when loading factory settings. Suggested text: > Loading factory preferences won't automatically save your preferences on exit. > To overwrite your current preferences you must manually save the preferences.
Author
Owner
Added subscribers: @JulienKaspar, @WilliamReynish, @dr.sybren, @ideasman42

Added subscriber: @jenkm

Added subscriber: @jenkm
  1. Remove "skip_save_on_exit", this is very confusing when the Auto Save option is enabled, but the preferences are not saved automatically. Once the factory settings have been loaded, just explicitly turn off the Auto Save option.

  2. When loading factory settings, display the "Auto-Save" or "Disable Auto-Save (don't save preferences on exit)" checkbox in the confirmation dialog, so the user can directly see what is happening and what settings he has.

 {F7665062, width=530}
  1. Display the "Auto-Save" checkbox in the Preferences so that the user can clearly see that autosave is enabled.
 {F7665063, width=430}
 {F7665064, width=430}
1. Remove "skip_save_on_exit", this is very confusing when the Auto Save option is enabled, but the preferences are not saved automatically. Once the factory settings have been loaded, just explicitly turn off the Auto Save option. 2. When loading factory settings, display the "Auto-Save" or "Disable Auto-Save (don't save preferences on exit)" checkbox in the confirmation dialog, so the user can directly see what is happening and what settings he has. ``` {F7665062, width=530} ``` 3. Display the "Auto-Save" checkbox in the Preferences so that the user can clearly see that autosave is enabled. ``` {F7665063, width=430} {F7665064, width=430}
Member

@jenkm @ideasman42 I think this one could help as well. Since any save option is just kinda missing when auto-save is enabled. It's all hidden in the popup otherwise.

In #68649#753295, @jenkm wrote:
3. Display the "Auto-Save" checkbox in the Preferences so that the user can clearly see that autosave is enabled.

load-factory-auto.png
load-factory-save.png

Other than that I think the dialogue is great.

@jenkm @ideasman42 I think this one could help as well. Since any save option is just kinda missing when auto-save is enabled. It's all hidden in the popup otherwise. > In #68649#753295, @jenkm wrote: > 3. Display the "Auto-Save" checkbox in the Preferences so that the user can clearly see that autosave is enabled. > > ![load-factory-auto.png](https://archive.blender.org/developer/F7665063/load-factory-auto.png) > ![load-factory-save.png](https://archive.blender.org/developer/F7665064/load-factory-save.png) Other than that I think the dialogue is great.

@jenkm Your proposal looks nice, but it's not complete. What would be shown when Auto-Save is turned off by the user? Do you show the checkbox and the save button at the same time? What if the user wants to reset to factory settings, then turn off auto-save, then save the new preferences, what would that look like?

@jenkm Your proposal looks nice, but it's not complete. What would be shown when Auto-Save is turned off by the user? Do you show the checkbox and the save button at the same time? What if the user wants to reset to factory settings, then turn off auto-save, then save the new preferences, what would that look like?

It's the same as it is now, but shows the checkbox instead of the empty space.

By default, Auto Save is enabled:

load-factory-auto.png

Auto Save is turned off by the user:

load-factory-save.png

It's the same as it is now, but shows the checkbox instead of the empty space. By default, Auto Save is enabled: ![load-factory-auto.png](https://archive.blender.org/developer/F7665063/load-factory-auto.png) Auto Save is turned off by the user: ![load-factory-save.png](https://archive.blender.org/developer/F7665064/load-factory-save.png)

change

        if prefs.use_preferences_save and (not bpy.app.use_userpref_skip_save_on_exit):
            pass
        else:

to

        if prefs.use_preferences_save:
            row.prop(prefs, "use_preferences_save", text="Auto-Save Preferences")
        else:

line 45, space_userpref.py

change ``` if prefs.use_preferences_save and (not bpy.app.use_userpref_skip_save_on_exit): pass else: ``` to ``` if prefs.use_preferences_save: row.prop(prefs, "use_preferences_save", text="Auto-Save Preferences") else: ``` line 45, space_userpref.py

And you need to rename the "Auto Save Temporary Files", "Recover > Auto Save…" to "Auto Backup", so as not to confuse.


Oh, and another thing, "Load Factory Settings" vs "Load Factory Preferences".
The difference is only visible when you see them next to each other.

When you see "Load Factory Settings" in the menu, you don't remember that in the Preferences,
the option is called "Load Factory Preferences" and you think it's the same function.

And you need to rename the *"Auto Save Temporary Files"*, *"Recover > Auto Save…"* to **"Auto Backup"**, so as not to confuse. *** Oh, and another thing, "Load Factory Settings" vs "Load Factory Preferences". The difference is only visible when you see them next to each other. When you see "Load Factory Settings" in the menu, you don't remember that in the Preferences, the option is called "Load Factory Preferences" and you think it's the same function.

In #68649#753567, @jenkm wrote:
Auto Save is turned off by the user:

load-factory-save.png

This means they won't be able to turn it on again.

> In #68649#753567, @jenkm wrote: > Auto Save is turned off by the user: > > ![load-factory-save.png](https://archive.blender.org/developer/F7665064/load-factory-save.png) This means they won't be able to turn it on again.

This means they won't be able to turn it on again.

Yes, just like it is now.

Alternatively, it could just be a "Auto Save enabled" label, not a checkbox.
This is only to allow the user to clearly see that the Auto Save feature is enabled.

> This means they won't be able to turn it on again. Yes, just like it is now. Alternatively, it could just be a "Auto Save enabled" label, not a checkbox. This is only to allow the user to clearly see that the Auto Save feature is enabled.

In #68649#753698, @jenkm wrote:

This means they won't be able to turn it on again.

Yes, just like it is now.

No, that's not how it is now. It's a checkbox that's always available:

image.png

> In #68649#753698, @jenkm wrote: >> This means they won't be able to turn it on again. > > Yes, just like it is now. No, that's not how it is now. It's a checkbox that's always available: ![image.png](https://archive.blender.org/developer/F7667053/image.png)

@dr.sybren It's all here, if you mean the menu, I'm not suggesting remove anything, just add a checkbox (or label), see my comment above #68649#753568.

@dr.sybren It's all here, if you mean the menu, I'm not suggesting remove anything, just add a checkbox (or label), see my comment above #68649#753568.

I think having a checkbox that disappears when you un-check it is a bad idea. We've had that before, and it was horribly confusing.

I think having a checkbox that disappears when you un-check it is a bad idea. We've had that before, and it was horribly confusing.

Diff: P1070

auto-save-on-1.png

auto-save-on-2.png

auto-save-on-3.png

auto-save-on-4.png


Mockup of the dialog box:

auto-save-load-factory-dialog.png

**Diff:** [P1070](https://archive.blender.org/developer/P1070.txt) ![auto-save-on-1.png](https://archive.blender.org/developer/F7668749/auto-save-on-1.png) ![auto-save-on-2.png](https://archive.blender.org/developer/F7668750/auto-save-on-2.png) ![auto-save-on-3.png](https://archive.blender.org/developer/F7668751/auto-save-on-3.png) ![auto-save-on-4.png](https://archive.blender.org/developer/F7668752/auto-save-on-4.png) *** Mockup of the dialog box: ![auto-save-load-factory-dialog.png](https://archive.blender.org/developer/F7668855/auto-save-load-factory-dialog.png)

I'd rather we not use exclamation marks like that - and since most apps always auto-save preferences, there's no need to draw that much attention to the fact that Blender works the same.

I'd rather we not use exclamation marks like that - and since most apps always auto-save preferences, there's no need to draw that much attention to the fact that Blender works the same.
Member

I do like the idea to expose the "Autosave = On" as a checkmark when it's enabled.

and since most apps always auto-save preferences, there's no need to draw that much attention to the fact that Blender works the same.

I agree but but Blender didn't work like that so far. It's a new concept for Blender users so it makes sense to highlight it a bit more. Not necessarily shout it out in the interface but at least showing it prominently when it's enabled instead of always hiding it.

In #68649#753567, @jenkm wrote:
It's the same as it is now, but shows the checkbox instead of the empty space.

By default, Auto Save is enabled:

load-factory-auto.png

Auto Save is turned off by the user:

load-factory-save.png

I do like the idea to expose the "Autosave = On" as a checkmark when it's enabled. > and since most apps always auto-save preferences, there's no need to draw that much attention to the fact that Blender works the same. I agree but but Blender didn't work like that so far. It's a new concept for Blender users so it makes sense to highlight it a bit more. Not necessarily shout it out in the interface but at least showing it prominently when it's enabled instead of always hiding it. > In #68649#753567, @jenkm wrote: > It's the same as it is now, but shows the checkbox instead of the empty space. > > By default, Auto Save is enabled: > > ![load-factory-auto.png](https://archive.blender.org/developer/F7665063/load-factory-auto.png) > > Auto Save is turned off by the user: > > ![load-factory-save.png](https://archive.blender.org/developer/F7665064/load-factory-save.png)

most apps always auto-save preferences, there's no need to draw that much attention

These applications are not able to disable autosave, so the user always knows that autosave will take place.

In Blender autosave is an option and as it is important it should be visible.

Or this option (to disable autosave) should not exist as in other applications. In order not to confuse users.

> most apps always auto-save preferences, there's no need to draw that much attention These applications are not able to disable autosave, so the user always knows that autosave will take place. In Blender autosave is an option and as it is important it should be visible. Or this option (to disable autosave) should not exist as in other applications. In order not to confuse users.
Philipp Oeser removed the
Interest
User Interface
label 2023-02-10 09:25:24 +01:00
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
5 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#68649
No description provided.