(Python_backup tool) Adding User Control Over the Auto-Sync Feature
Overview
The automatic macro sync feature we integrated just the day before was convenient, but not every user actually wanted syncing to happen automatically all the time. Some users told us they'd rather "sync manually, only when needed," so we acted on that feedback and let users turn auto-run on and off themselves.
Key Implementation Points
1. Splitting the auto-sync trigger condition into finer parts
Previously, as long as a sync path and filename were entered, auto-sync would run unconditionally whenever the app started. We changed this so it only runs when both conditions are met: "a path/filename has been entered" AND "the auto-sync checkbox is turned on."
2. A manual sync button with a choice popup
Separately from the checkbox, we added a "Sync once now" button. Clicking it brings up a confirmation dialog asking "Would you like to sync automatically going forward as well?" — and the subsequent behavior depends on the user's choice.
Manual sync button clicked:
Show confirmation: "Sync automatically from now on?"
-> Yes: turn on the auto-sync checkbox + save settings + sync once immediately
-> No: keep current settings + only sync once immediately
3. Instant settings persistence
We made checkbox state changes get written to the settings file immediately, so users don't need to press a separate "Save" button — the chosen setting simply carries over the next time the app runs.
Retrospective
- Adding a convenience feature (automation) reminded us that "always running automatically" isn't the best choice for everyone. Letting users choose between automatic and manual themselves ended up reducing complaints overall.
- By having a single confirmation dialog handle both "just run it this once" and "set up automatic runs going forward" at the same time, we were able to give users enough control without having to build a whole new settings screen.