of Release 81 is out and it adds UI-side support for configuring multi-threaded (parallel) processing.
The contents of Backup Settings window got squished together a bit and a new
section was added.
Surprisingly enough, the window actually got smaller as a result, but it does look a bit more crowded now.
There's also a couple of important options behind
While we are at it, here is a quick rundown of the design process leading up to the final version.
Two options in the
section define how the program handles the copying of "large" files.
The definition of "large" is based on a file size threshold and the question was if this threshold was important enough to have a place in the UI.
Initially, the idea was to both display and to allow editing it.
This gives too much prominence to an otherwise minor option
it also invites to mess with it. We can do better.
The option is shown as a text, but can be edited by clicking on it.
Furthermore the idea is that it can be edited
. That is, with the edit box just appearing in place and going away once the edit is done.
This required implementing an auto-sizing edit control, built into a
widget. Doable, but hard, and all of this is still for a secondary option.
We take this option out and put it into a separate text. Also stick it at the very end of the text. This allows stretching out the edit box to the max and don't bother with dynamically sizing it:
We can also add a bit of transition to compensate for edit box not aligning with the option value when it is static.
This is not bad. Let's try with a borderless edit box:
Not bad either
the slide is just a couple of pixels now. How about we don't slide it at all?
Looks and feels quite nice, however...
... the issue is with how this contraption behaves in
When using it for the first time, it's very easy to discover that typing something and hitting
stands for "Accept the changes" and hitting
works as "Discard the changes".
But the user clicking outside of the edit box can be ambiguous. Some people will expect this to work as OK, while others will expect it to discard changes. Moreover, one may make more sense than the other depending on the context.
While it's possible to anticipate and to accommodate this sort of nuance, it gets us a bit too far into deep customization territory.
This could've been justified if inline editing were added to the UI arsenal and used a first class element across the entire program. But the way things stand, it will be a random widget used in one obscure corner of the UI.
As such, this option was shelved.
Instead the window uses an
to show the threshold value and related details.
*/ ?> /* ?>