[Top][All Lists]

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

Re[2]: [lmi] InputSequence questions

From: Vadim Zeitlin
Subject: Re[2]: [lmi] InputSequence questions
Date: Wed, 24 Mar 2010 15:12:58 +0100


 I obviously don't know subject domain much so I'm sorry in advance if I'm
saying something that doesn't make sense but I'd still like to comment on a
couple of UI points:

On Wed, 24 Mar 2010 14:48:26 +0100 Vaclav Slavik <address@hidden> wrote:

VS> You suggest in #104480 to use value, from-duration, to-duration columns.
VS> I'd get rid of the from-duration one and only show the data like this:

 I think it might be useful to show the from-duration column but as a
static text computed by the program, not a text control, just as you
suggest at the end of your message. I initially thought to have it as a
user-modifiable control too, but we'd need to update the to-duration in the
previous row automatically somehow and it doesn't look obvious how to do it
without annoying the user at least sometimes so it's probably not a good

VS>       Value  |  When
VS>     [     ]     [-----------------------]   [-Remove]
VS>     [     ]     [-----------------------]   [-Remove]
VS>     ...
VS>     [     ]     until maturity              
VS>                                             [+Add]

 Don't you plan to have a text control with the representation of this as
an input sequence somewhere? IOW I always thought that the current way of
entering the input sequences would be preserved but that we'd add a new,
more user-friendly, alternative. I.e. I actually envisioned something like

        Sequence: [-----------------] [v]

i.e. a text control with an arrow (or maybe ellipsis) to the right of it
which would open the composite control shown above (either in a drop down,
if space is at a premium, or by expanding a previously hidden collapsible

 Anyhow, I don't know if LMI has a significant set of "power users" but IME
some people do like to enter (even complicated) expressions directly
instead of using such UI helpers. And it has a couple of other advantages,
notably the ability to copy and paste the sequence. So I'd think twice
before removing the possibility to enter an input sequence directly.
Granted, it would make implementation somewhat more difficult as we'd need
to update the controls when the text changes and (but this is easy) update
the text when the controls change but this doesn't seem insurmountable.

VS> this would look like this:
VS>       Value  |  When
VS>     [    0]     [until year      ] [5     ]      [-Remove]
VS>     [ 1000]     [until retirement]               [-Remove]
VS>     [    0]     [until age       ] [70    ]      [-Remove]
VS>     [  123]     [until age       ] [72    ]      [-Remove]
VS>     [    0]     until maturity              
VS>                                                  [+Add]
VS> Noteworthy properties of this design:
VS> * It reads as text. Hopefully it's clear that it begins at the beginning
VS>   and that every line continues where the previous one ended. We can --
VS>   and probably should -- add "and then" static text after every row
VS>   (before [-Remove]) to emphasize this, if the read-only "until
VS>   maturity" is not enough of a hint.

 I think showing the interval start could help with this too.

VS> * In the first part of "When", you choose duration_mode; then, if it
VS>   makes sense for it, a numeric entry field appears.
VS> * There's the problem with "until" that you mentioned yourself; it's not
VS>   clear whether the interval is closed or open. I hope that this can be
VS>   fixed by better wording alone (any ideas?).

 Might "up to" be more clear?

VS> * [-Remove] and [+Add] buttons make it easy to do big changes without
VS>   making a mess of the UI. It's still possible to clean the sequence
VS>   completely easily (4 clicks in the same place in the above example).

 Another advantage for having a "master" text control with the sequence
representation is that clearing it could be done by just erasing all of its

VS>   [+Add] adds a new row to the end of editable rows, i.e. just above
VS>   the last line, "until maturity".
VS> * The ability to enter invalid data (overlapping intervals, incomplete
VS>   sequences) is much reduced.

 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.

VS> * For completeness, here's the list of "When" phrases needed (modulo
VS>   Greg's justified critique of the phrasing):
VS>      "until retirement"
VS>              (no text field)
VS>      "until year %i"
VS>      "until age %i"
VS>              (numeric text field)
VS>      "for the next %i years"
VS>              (I'd much prefer phrasing that doesn't require putting
VS>              text input field in the middle of the phrase here, for
VS>              obvious reasons)
VS>   Note that "until maturity" is not needed, it's always the implicit
VS>   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              

? 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              


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

 For me the last version looks much more clear.

 The only other important point is about the text control with the full
sequence representation. Greg will know better, of course, but I think
removing a way to enter/delete/copy/paste sequences directly would be a


reply via email to

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