-
Notifications
You must be signed in to change notification settings - Fork 216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: GUI and documentation of Auto-remove #1976
Comments
I like the re-ordering and the clarifications. With the current GUI default, "Smart remove" is unchecked, and the effect of that is that nothing will be deleted (until it is 10 years old if that other option is left checked). Choosing to have backups automatically deleted is done at the same time as choosing what to keep. With this new design, everything is deleted unless some "keep" options are checked and set, which seems a little strange. With this update, an existing configuration that doesn't have "Smart remove" enabled would have to have some arbitrary number of days-to-keep imposed. Since removing backups is a positive action by the application, and not necessarily wanted by some users, I think I would rather keep the option to not automatically delete backups at all. Maybe the words "Smart remove" could be changed to "Remove previous snapshots, but keep...". Disabling the inode/space rules by default seems good to me. |
Or if each "keep" option allowed a "forever" value, that could give even better control over it. |
Thank you for the feedback. You are right and I totally missed that aspect. A modified the mockup and added it to my initial post. |
Below is a more general approach, looking at the competitors (re-inventing the wheel will not make it rounder. :-) ). Retention management is a solved problem, and BiT can copy from the best. Let's have a look at the most popular backup applications listed by LinuxLinks:, skipping over the non-GUI, no retention management, and industry-scale applications. BackRest interface for Restic By count Vorta interface for Borg Duplicity (source) Timeshift (source Duplicati (source
Listing the options from the above: Notes for Duplicati:
So, "keep" is the most popular wording and to be preferred where possible. It is more intuitive than "delete except", because it a) settings do not vary, and b) it is a smaller cognitive load if the switch from original intention ("What do I want to be accessible if needed") to its negative ("What do I have to delete to only have what I want to be accessible if needed") is avoided. A similar "Delete older than" requires an explicit notion that the "keep" settings of all longer periods apply regardless. "Keep N of X-ly period" ist common and easily understood. Don't change it. The period can be made rolling, but that would require an up-front alert for the user, i.e., a brief text on the settings pane (even a tooltip only is not enough, it requires action to reach). Rolling periods could be a possible future enhancement for BiT, unless it is very quick and easy to implement, I'd say.
Seconded, except that "7 days" could be a small enhancement in the future.
Duplicati uses the "U" (unlimited) in the settings for that. A "0" or empty field could also work. In any case this needs an indication right on the settings pane; e.g., a small-text footnote; "keep*...": "*To keep all snapshots, [leave the fields blank|enter'[U|0]']". Also state that "forever" overrides all longer-period settings.
I'm for keeping both but moving inodes to the "Advanced" tab. It's understood only by experts anyway. All defaults should not delete any data.
+1. A button at the bottom "Show dry run (not executing)" that opens a dialog with the terminal output, including the prompt, could do that.
Not needed, sure. But if you create a GUI, do it right. KISS, intuitiveness, and discoverability have been found to be very good leading principles. Make things as easy to find out as possible. |
A lot to think about. Thank you. I linked your comment also in #1977 , which is about modifying the auto-remove behavior in a release after the upcoming release. I like some of the ideas. I don't understand everything. For example the Vorta GUI does not help me to understand. For me it is not self explaining. What does "Hourly 48" means? Keep 48 backups in each hour? Keep all backups for the last 48 hours? If it means "Keep one backup for each 48 hours" I would say the GUI does not say that. The same goes for BackRest. What is the meaning of the numbers? Also TimeShift. "Hourly keep 6". Does it mean to keep 6 backups each hour? So if there are backups for the last 4 hours there would be 24 backups (6x4) kept? |
Thanks, @noyannus, That's a great survey and all worth looking at for ideas. I had in the back of my mind to do the same thing. Good analysis too. I chose Back In Time largely because it's configuration was much better, in my opinion, than all the alternatives that I had looked at, including Timeshift, which comes standard with Linux Mint and which I deliberately moved away from in favor of Back In Time. I think Back In Time's configuration interface is still better than the rest even while it can be improved. Most of those are more ambiguous than Back In Time about retention, e.g. "2 Monthly". On the face of it that could even be mistaken as 2 per month. Oh, I see Christian pointed this out too. Overall, what I like about Back In Time's configuration GUI is that it is very articulate and well organized. I find it easy to understand, navigate, and change. It feels simple enough and yet allows a surprisingly deep amount of customization and control without needing to refer to a manual. I like the "dry run" button idea. Issue #248 is open for that. And I very much agree with those GUI design principles. And contrasted with those other UIs, maybe Back In Time is already clear enough now with its clarifications about retention. |
Here is a new version of the mockup. I like the term "Retention policy". Does anyone see big problems in this mockup? I will start with the user manual. |
This is a good milestone, IMO. There's 'nuff road ahead if one wants to travel further, but for now it is a major improvement. Small random things that came to mind, without particular priority or order: "user manual" in the label could be a direct link to the help in BiT or to a web page. "Later rules override earlier ones..." is correct for the top-down reading sequence, but usually "later" and "earlier" denote the position of points in (or periods of) time on a timeline. Here we have a logical topic, so something like "Rules of longer periods override..." would IMO be more suitable. Also, a more concrete corollary helps understanding, so maybe add "...to always keep the maximum number of snapshots of every rule" or similar. Native speakers, your opinion, please! The "Attention:" feels strange to me, it sounds too much like the stereotypical German in post-world-war movies. Again a point for native speakers to refine. Or simply use an icon ("🛈" or "ℹ️" for example) instead, everybody will understand that, it saves space, and the eye is drawn to it more than to text. "Retention policy" is good; the "keep" in all relevant places makes its meaning clear. Ditto the absence of the confusing "x-ly" wording. (@buthz: I see the point of "hourly" in Vorta etc.. Apparently this is a tricky word for us non-native speakers.) "Remove snapshots older than NN years" conflicts with "Keep the last snapshot of each year for all years" when both "Remove..." and "Retention policy" are active, because "Keep... years" cannot be switched off. How about this:
And now I'll try to get a life. :-) |
For newly created profiles, the two auto-remove rules regarding free inodes and free space are disabled by default. Related to #1976
See meta issue #1945
Problem
The Auto-remove (and its Smart-remove part) feature is not well documented, nor is its presentation in the Auto-remove TAB of the Manage profiles dialog; hence, it is unclear and sometimes misleading for users.
Goals
Details about modifications planed
EDIT:
The text was updated successfully, but these errors were encountered: