[Top][All Lists]

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

Re: Re[2]: [lmi] InputSequence questions

From: Vaclav Slavik
Subject: Re: Re[2]: [lmi] InputSequence questions
Date: Wed, 24 Mar 2010 17:04:04 +0100

On Wed, 2010-03-24 at 15:12 +0100, Vadim Zeitlin wrote:
>  Don't you plan to have a text control with the representation of this as
>  an input sequence somewhere? 

You must have missed this part of

        Feel free to do this first. Even without changing the census
        this part would be useful in the tabbed input dialog. The "input
        sequence" notation (whether it's in a cell inside a grid control or a
        textcontrol on a tabbed dialog) is powerful and compact, but arcane;
        even power users who like it keep a printed copy of the corresponding
        user-manual page handy. If we could provided a little pushbutton
        (perhaps with only an ellipsis as its text content) next to each
        textcontrol representing an input sequence, many users would use it
        to pop up this subdialog instead of ever typing in the textcontrol.

My mistake for not spelling the context explicitly. So: this thread
discusses the popup window only. The text controls for direct input will
stay as they are (except for the added "..." button). It's necessary to
do it that way, in fact: in both the dialog and the (future) grid, there
is precious little space for the entry field.

For the record, I considered a combobox-style popup too, but dismissed
it. Such popups only work well if the popup window is very easy to
control (e.g. select an item in the list or pick a date in calendar
control), but any more complicated editing -- as is the case here -- in
my experience quickly turns annoying.

>  It would be nice if a new row could be added automatically when you
> complete the previous one. IME (and I use such dialogs quite often in
> Mahogany myself) having to press "Add" when it's "obvious" that you need
> another row is often aggravating.

Yes. The only thing even more aggravating is when you have to delete an
unnecessary row auto-added by "smart" app. And because the last row will
always be there, this would be *guaranteed* to happen at least once. I
think having to click Add explicitly is better here -- especially when
combined with your other idea about Add.

We could also allow empty rows (such as this annoying auto-added one)
and filter them out, but I think it would be confusing and people would
keep removing them manually.

What I think we should do is to ensure that the [+Add] button is
positioned in such way that you can enter any sequence using the
keyboard only, in a natural way. For example: type the value, press Tab,
choose "until age", press Tab, type the age, press Tab to go to the +Add
button, press Enter to add a new row, press Tab to go to it. Or, for the
initial state, type the value, Tab to go to +Add, pres Enter, focus go
to "when" choice. IOW, the layout would be more like

         [ 1000]     until retirement            [-Remove]
         [     ]     until maturity              

Another idea: keep the last row's "until maturity" editable, too, but
enforce it. That is: initial state would be 

         [     ]     [until maturity         ]             [+Add]

As soon as the user changes the When value, a new row is added (because
if until!=maturity, then another row is certainly needed), with "until
maturity" default:

         [   42]     [until age              ]  [       ]  [-Remove]
         [     ]     [until maturity         ]             [+Add]

"Until maturity" would only be available in the last row (and grayed out
in others, instead of just omitting it, to emphasize it's only valid on
the last row).

>  This is nice as it prevents the user from entering something invalid
> completely AFAICS. Do I understand correctly that the control starts in
> this state:
>           Value  |  When
>         [     ]     until maturity              
>                                                 [+Add]


> ? And that "until maturity is used as the default value for a new row, e.g.
> after modifying the first row and clicking "Add" (or, again, automatically,
> if possible) it'd become
>           Value  |  When
>         [ 1000]     until retirement            [-Remove]
>         [     ]     until maturity              
>                                                 [+Add]

I didn't think of it, but I think it does make sense. If you are going
to enter a new non-trivial sequence, then it stands to reason that you
start by typing its initial value, not the last one.

> VS> A variation of the same could include from-duration too, as read-only
> VS> text repeated from previous row, to improve understanding:
> VS> 
> VS> 
> VS>     [    0]  from inception   [until year      ] [5     ]
> VS>     [ 1000]  from year 5      [until retirement]         
> VS>   
> VS> What do you think?
>  For me the last version looks much more clear.

OTOH, it adds visual noise to the dialog: both static (duplicated
information; too much information) and dynamic (UI changes in places you
don't directly interact with at the moment).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]