[Bf-committers] Handling of user data.

Julian Eisel julian at blender.org
Tue May 17 13:27:26 CEST 2022


Hi,

Some general input.

1. Regarding the priority of addressing this:
Agreed about the need to make this a high priority. Unfortunately such core
design issues (there are plenty of them) are often overlooked in development
planning. There is just too much other stuff that’s also important.

2. Regarding possible design solutions:
I don’t want to go into a design discussion here, but since this always comes
up, I want to point out that a dialog prompt isn’t a solution to me. A big
issue is, it’s too easy to dismiss them: one wrong click and your data is still
lost — and there’s no way to undo this. The more dialog prompts we use in
Blender, the more we make users get into the habit of just “clicking them
away”, even in the wrong moments. These are well recognized issues in UI design
(e.g. see [1] & [2]). Additionally, we already have the “Save file on quit”
dialog (which I think is a good thing), I have a hard time imagining how we
could combine that with an “unused data” dialog without making things confusing
and unpleasant. The dialog box design also doesn’t cover the case of auto-save:
Would we just always keep unused data in these?
Honestly, this feels like one of the cases where dialog boxes are just lazy
design. We need a proper design to manage unused data in Blender. There are
some ideas for this.

[1] https://alistapart.com/article/neveruseawarning/
[2] https://www.nngroup.com/articles/error-prevention/

———————————————————————————————————————————
Julian Eisel - julian at blender.org - www.blender.org
Software Developer
Buikslotermeerplein 161, 1025 ET Amsterdam, the Netherlands
————————————————————————————————————————————

> On 17. May 2022, at 04:20, Dan McGrath via Bf-committers <bf-committers at blender.org> wrote:
> 
> Hi,
> 
> Perhaps you could add a count of things to be tossed out during quit in the
> save dialog, such as "If you quit, you will lose XXX number of fake user
> objects!".
> 
> Or maybe, similar to how you warn about unsafe python scripts during start,
> you could give users a one time "WARNING! Fake users will be lost on quit
> or crash!" when they create the first fake user object.
> 
> Neither are great for forgetful users, but it sounds like some indications
> could go a long way here, compared to rewriting the garbage collection
> system.
> 
> On Mon, May 16, 2022 at 4:59 PM Zack Brown via Bf-committers <
> bf-committers at blender.org> wrote:
> 
>> Hi again,
>> 
>> I feel like I have a better understanding of the debate now. On the one
>> hand, we want to protect user data; and on the other hand, we have a
>> garbage collector that eliminates data that the user in theory doesn't care
>> about. And in the grey zone, we have data that the user *does* care about,
>> but that gets garbage collected anyway. And the problem is, how to prevent
>> the user from losing data they want to keep, while avoiding keeping data
>> the user doesn't want to keep.
>> 
>> It seems like one primary suggestion is to simply throw out the garbage
>> collector -- no more garbage collector, no more problem. If the user
>> doesn't want a piece of data in their file, they would delete it by hand.
>> The counter-argument being that the garbage collector is actually really
>> great and helps us keep our blend files clean and useful.
>> 
>> Another primary suggestion seems to be issuing a warning if the user tries
>> to quit blender with data that will be garbage collected. The counter
>> argument being that it would be complicated and bizarre to present the user
>> with a potentially dizzying array of data and options for that data before
>> they could quit the software.
>> 
>> It's a fascinating problem, in a piece of software that seems to specialize
>> in presenting the most unbelievably brilliant solutions for apparently
>> unsolvable problems, like how to render 3D images in glorious detail in
>> real time. Obviously impossible. Yet there it is!
>> 
>> Here's a suggestion from a  non-expert who knows nuttin about nuttin: Don't
>> kill the garbage collector, and don't warn on exit. Instead, why not give
>> all orphaned data their own prominent collection in the outliner? Maybe
>> something called "Garbage Data". With a nice set of tooltips that appear
>> when the user hovers over the various relevant bits. Things that say
>> something like "Data in this collection has no user and will be deleted
>> when you exit blender. To prevent deletion, follow the instructions at
>> http://usefuldocs.blender.org/garbage_data.php to give the data a 'fake
>> user'."
>> 
>> But I'm sure you guys will figure out something 100x better than that idea.
>> Can't wait to see it!
>> 
>> Be well,
>> Zack
>> 
>> 
>> 
>> 
>> 
>> On Mon, May 16, 2022 at 6:40 PM Jacob Merrill via Bf-committers <
>> bf-committers at blender.org> wrote:
>> 
>>> What about popping up the outliner / orphan data window in quit, and
>>> showing exclamation icon somewhere if there is a orphan
>>> 
>>> On Mon, May 16, 2022, 9:15 AM Harley Acheson via Bf-committers <
>>> bf-committers at blender.org> wrote:
>>> 
>>>> I’d love to have someone flesh out this “warning on quit” idea,
>> because I
>>>> can’t imagine it actually
>>>> working in practice.  Mostly because of confusion on what “saving”
>> really
>>>> means. Users should
>>>> rightfully only consider that “saving their data” does exactly that,
>> not
>>>> that some of their data might
>>>> differ and have to be “saved” in different ways.
>>>> 
>>>> As its simplest, imagine that you have no unsaved changes in your file
>>> (you
>>>> just did a File/Save)
>>>> yet there is orphaned data at the time you select “Quit”.  What exactly
>>>> does the warning say?
>>>> “You have unlinked data that will be lost”?  How do you communicate to
>>> the
>>>> user what they should
>>>> do now?  Is there a way to offer to do it for them somehow, or is this
>>>> warning going to just have an
>>>> “Ignore” and “Cancel” button? Text that says “please mark anything you
>>> want
>>>> to keep by marking
>>>> the data with ‘fake user’”? That will not help a typical person being
>>>> caught out by this
>>>> 
>>>> Now imagine there are both unsaved changes and orphan data at the point
>>> of
>>>> “quit”.  We now
>>>> have to warn about unsaved changes that can be “saved” and there are
>>> other
>>>> things that should
>>>> be “saved” in a different way before you “save” so that they are
>> actually
>>>> “saved”. So we have a
>>>> button to cancel, one to save the unsaved changes while ignoring orphan
>>>> data, and what else
>>>> is on the dialog?
>>>> 
>>>> I'm not sure there is sufficient lipstick that can be put on this pig.
>>>> 
>>>> Harley
>>>> _______________________________________________
>>>> Bf-committers mailing list
>>>> Bf-committers at blender.org
>>>> List details, subscription details or unsubscribe:
>>>> https://lists.blender.org/mailman/listinfo/bf-committers
>>>> 
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> List details, subscription details or unsubscribe:
>>> https://lists.blender.org/mailman/listinfo/bf-committers
>>> 
>> 
>> 
>> --
>> Zack Brown
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> List details, subscription details or unsubscribe:
>> https://lists.blender.org/mailman/listinfo/bf-committers
>> 
> 
> 
> -- 
> Cheers,
> Danny
> 
> ----------------------------------------------------------
> Danny McGrath - danmcgrath.ca at gmail.com
> GPG key: EDF6 AFF5 2086 F93A 1F59 36A5 44B6 26F3 6968 71CA
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> List details, subscription details or unsubscribe:
> https://lists.blender.org/mailman/listinfo/bf-committers



More information about the Bf-committers mailing list