Text field alignments
Donald Allen
donaldcallen at gmail.com
Wed Feb 25 08:42:17 EST 2009
On Tue, Feb 24, 2009 at 3:20 PM, Derek Atkins <warlord at mit.edu> wrote:
> Don,
>
> Quoting Donald Allen <donaldcallen at gmail.com>:
>
> [snip]
>>
>> Thanks. This is similar to arguments that have been made before and
>> I've indicated how and why I disagree with it (at least for me), so I
>> won't repeat.
>>
>> I really think the best solution is to fix the current non-uniformity
>> of the justification, which I think we can all agree is a mistake,
>> and to add an option that allows the user to choose from
>> left-justified, right-justified, and the centered ellipsis idea
>> proposed earlier. I don't much care what the default is, so long as I
>> can set the option and forget it.
>>
>> The reason I think the option approach is best is that we have
>> different styles of account naming in the Gnucash community and one
>> size doesn't fit all in this case, as I think is clear from this
>> discussion. I don't think your way of doing things is *wrong* in any
>> absolute sense, especially if it works well for you. But it's not
>> suitable for the way I use Gnucash and I'd like to have the option of
>> setting it up the way it works best for me. And there's ample
>> precedent among the already-existing Gnucash options (e.g., I run it
>> with "formal accounting labels" enabled, obviously I prefer it that
>> way, but I don't think it would be hard to find people who would be
>> driven to distraction by that).
>
> Could you perchance provide some examples of some full account
> names in your datafile? In particular, could you provide full
> examples of accounts that you feel would not work in a right
> justification but would work with a left justification? I'm asking
> because honestly I just can't think of any at all.
I will. See below. But first I want to comment on your examples.
>
> For example, I have accounts like:
>
> Assets:Current Assets:LJ&A:Aggressive Growth Portfolio:DFA Intl Small Cap
> Value
> Assets:Current Assets:LJ&A:DFA Intl Small Cap Value
>
> In a left-justified view I see this for both of these accounts:
> Assets:Current Assets:LJ&
So you know you've headed in the right direction, but you can't tell
which one you've got without seeing more of the account name (to the
right). You are not likely to look at this and say "well, this is
fine, I'm done" and perhaps end up with the wrong account.
>
> However in a right-justified view I see:
> A:DFA Intl Small Cap Value
> or
> io:DFA Intl Small Cap Value
Perfectly unambiguous. But suppose your Transfer column were a little
narrower and what you saw was
DFA Intl Small Cap Value
DFA Intl Small Cap Value
for either account. Now the UI has set a trap for you. You might say
"yep, that's the right one", forgetting that you've got another leaf
account with the same name.
>
> I also have accounts like:
>
> Assets:Current Assets:MIT FCU:Checking
> Assets:Current Assets:MIT FCU:Savings
> Assets:Current Assets:NetBank:Checking
> Assets:Current Assets:NetBank:Savings
>
> Left-justified I see:
> Assets:Current Assets:MIT
> or
> Assets:Current Assets:Net
>
> So I know what financial institution but not which account.
> Right justified I see:
> t Assets:MIT FCU:Checking
> or
> t Assets:NetBank:Checking
>
> In all these cases the right-justified name gives me all the info I need
> provided I know (or can assume) the major branch of the tree that I'm using.
Same idea. Whether what you see is unambiguous or not depends on the
column width which probably depends on the display resolution (my X61
is 1024x768 -- when at home, it's DVM'ed to a bigger external display,
but on a train, 1024x768 is all I've got; and there are some other
small machines around now with comparatively low-res displays).
My account names are similar to yours, though sometimes there are not
only leaves of the same name, but the next node up as well, which
makes the problem worse. For example,
Assets:Investments:Stocks:Tax-deferred:Don:Vanguard Individual IRA:Foo
Index Fund
Assets:Investments:Stocks:Tax-deferred:Joan:Vanguard Individual
IRA:Foo Index Fund
>
> So, Don, I'm trying to understand your use case and how left-justification
> would help you in your system?
For people who never use the same names for multiple leaves, this is
not an issue and for them, and right justification works better,
because they are guaranteed that what they see is unambiguous. But for
those who prefer not to clutter account names with redundant
information, e.g.,
Assets:Investments:Stocks:Tax-deferred:Don:Vanguard Individual
IRA:Don's Foo Index Fund
Assets:Investments:Stocks:Tax-deferred:Joan:Vanguard Individual
IRA:Joan's Foo Index Fund
then I think left-justification is less likely to lead to error.
So, given this, I say let's have our cake and eat it, too and make the
justification mode an option. I would think that left- and
right-justification would be easy to provide (both are already in the
code :-). I also think there's some merit to the centered ellipsis
idea, especially if it's easy to do. If you chose not to do it, I
personally would be fine with the left-right choice. And I'd also like
to advocate making that option a function of the transaction display
mode. What I mean by this is that I'd like to be able control the
setting for Basic Ledger and full split-mode (either by virtue of
clicking 'split' or using auto-split or transaction journal)
independently. The reason is that, having thought about this whole
issue a bit more, I'm thinking that there may be method to the current
madness (yes, I'm retracting my "we can all agree that the current
behavior is wrong" statement of yesterday). Why? Because I generally
don't edit transactions in Basic Ledger mode, and my advocacy of
left-justification is mostly for use during the editing process, when
I'm trying to correctly enter a transaction. Once I've decided the
transaction is correct and hit 'enter', then right-justification gives
me more information at a glance (with typical column widths) and I'm
usually glancing in Basic Ledger mode.
This sounds complicated, but the average user would not need to be
concerned with it. The defaults could provide the right-justification
in both Basic Ledger and full-split-mode that everyone seems to favor
and most will not change them.
While we're (I'm) obsessing over this, here's an additional idea. I
note that there's an issue with the account tabs similar to the one
we're discussing. The tabs show only the name of the node displayed in
the register, not its full path from the root, and thus can be
ambiguous. The problem is solved by use of the yellow info popup that
appears when you point to the tab. Use the same technique with columns
containing accounts. Pop up the full account name when the user points
to it, but do so only if the full account name isn't already
displayed. Having this happen when the user randomly moves the mouse
could get annoying really fast, so with this little optimization, the
user can control the probability of it happening by varying the column
width. I would also provide an option that allows the user to
enable/disable, so those that hate it can turn it off.
/Don
>
>> /Don
>
> Thanks!
>
> -derek
>
> --
> Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
> Member, MIT Student Information Processing Board (SIPB)
> URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
> warlord at MIT.EDU PGP key available
>
>
More information about the gnucash-user
mailing list