For instance, making changes in Settings feels... flat... I can't tell if something is loading or if my system is hanging or if nothing happened! I really don't like it.
For instance, making changes in Settings feels... flat... I can't tell if something is loading or if my system is hanging or if nothing happened! I really don't like it.
The most intuitive setup, imho, is to apply the change immediately, but also materialize some sort of UNDO button to revert back.
(just have a good undo option)
Windows itself is an offender in that regard - e.g. the setting to select when updates are (and aren't) installed is a modal dialog that itself requires confirmation. And on top of that, it has two time pickers, each of which has separate scrolling columns for hours and minutes, but then you also have to press the "Confirm" button to actually apply changes after you scroll. And if you just click away to get back to the dialog, it 1) doesn't prompt to save changes, and 2) doesn't apply them.
In database terms, do you prefer explicit transactions or autocommit? For things that really matter, I want an explicit commit step.
- Apply changed immediately. - Provide indication that the change was applied (maybe pop a checkmark our for a second or two) - Provide an undo that at least revertes to the state when the dialog was opened, but ideally even be able to recent to snapshots from before previous changes. (So that if you close the dialog then decide you don't like it you can go back).
COMMIT is useful in databases because you have made a "permanent" change and for atomicity reasons. If you make undo effective and there is no concurrent access it is unnecessary.