Re: [Usability] instant-apply issue



[cc to desktop-devel added since several people have asked this]

Markus Bertheau <twanger bluetwanger de> writes:
> 
> With gconf you can set preferences from outside. Assume you have the
> prefs dialog up. Now you change some property from outside with
> gconf-editor. Should the widget in the prefs dialog reflect that?
> 

My opinion is fairly strongly that this is a bad idea - I have to
disagree with Jeff and Nils here.

Here are the reasons:

 1) The situation basically won't ever happen in practice.

 2) It makes prefs dialogs far harder to implement, you have to write
    a bunch of code to monitor gconf changes.

 3) It introduces a lot of potential for bizarre infinite loops 
    in the prefs dialog code, if you change the key yourself
    then get a notify then set the widget then change the 
    key yourself, etc. etc.

 4) I don't like it from a UI standpoint, because the chances are much
    higher that the gconf key was suddenly set by some system
    implementation detail or something, than that the user has
    switched to a terminal and started using "gconftool" - so if you
    update prefs widgets on gconf key changes, you are blowing away
    what the user had typed in. i.e. there's potential for losing user
    data. Granted with instant-apply this is less of an issue, but
    e.g. if you apply on focus out of a text entry, you could
    overwrite the text before the focus out, for example.

 5) I don't like it from a UI standpoint, because the user won't 
    understand why the value suddenly changed in the dialog
    all by itself.
 
Overall: the situation will hardly ever arise, and when it does it's a
tossup whether updating the dialog widgets is even nice UI, and doing
this adds a ton of bug-prone code. So my guess is that from a
practical standpoint trying to do this will just be visible to users
in the form of bugs rather than features.

So my recommendation is that you re-initialize the values in the
dialog each time you pop up the dialog, but that you do not 
bother to update prefs widgets when receiving gconf notifies.

Havoc




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]