I'm toying around with creating an XBL binding that handles both of
these cases. Here are some of the benefits:
* Consistent UI (all attachments would look like [W] name.ext /1.2 KB/,
where [W] is the icon).
* Smooth scrolling in the composer attachment pane (listboxes don't let
you do this), good for getting drag-and-drop reordering of
attachments working.
* Better keyboard handling in the reader attachment pane (currently,
there's no keyboard accessibility whatsoever; there are probably half
a dozen bugs open about this and related issues).
* Clean up code; the attachment pane in the reader is a <description>
tag (with selectable="true"), which confused me to no end when I
first saw it.
I'm posting this here before filing a bug on this, since I know there
were plans to diverge the two attachment panes further (adding
checkboxes and such to the reader), so I wanted to get a feel for what
others thought of this. For what it's worth, I think diverging the two
panes is a bad idea, since the two panes do roughly the same thing,
except that you're (more) able to edit attachments in the composer.'
I also know there were some concerns about keyboard/focus issues in the
reader attachment pane, but I'm confident that those can be resolved
(assuming people let me know what the specific issues are! :)).
- Jim
_______________________________________________
tb-planning mailing list
tb-pl...@mozilla.org
https://mail.mozilla.org/listinfo/tb-planning
+--------------------+ | message 1 | | message 2 | | message 3 | | message 4 | | message 5 | | message 6 | | message 7 | +--------------------+Lets assume our user wants to delete message 2,3,5, and 7. So they hold the control/cmd button and begin selecting those messages.
+--------------------+ | message 1 | |=message=2==========| |=message=3==========| | message 4 | |=message=5==========| | message 6 | |=message=7==========| +--------------------+Now they are all selected but if this user at any time stopped holding the control/cmd button during selection or clicks accidentally in another area they can lose that entire selection of messages. User input is gone and there is no way to get that back.
That's my main concern: consistency. The proposed checkbox UI doesn't
appear anywhere else in Thunderbird (or on any major OS that I can
tell). The only place I can think of that does this is Gmail. In fact,
the only desktop app I know of that uses checkboxes in a list is
Lightning, and it uses them to mark completion of a task, so that could
be pretty confusing (of course, we could tell Lightning to change).
That said, I think using checkboxes would be beneficial as an option,
but I don't think we should force people to go against the grain of
their OS if they don't want to. One benefit of making an XBL binding for
both attachment panes is that if we added checkboxes, both of the panes
would be able to make use of them. Whether we add checkboxes now or
later probably doesn't matter, though it'll be easier to add them with
new bindings.
> Now they are all selected but if this user at any time stopped holding the
> control/cmd button during selection or clicks accidentally in another area
> they can lose that entire selection of messages.
The second case shouldn't cause problems unless the first case is true
as well, in which case you're already in trouble. (At least, that's how
it works in the XBL binding I'm proposing.)
One obvious issue is that if you click in the empty space of a list box,
it clears the selection, but I consider that a feature, since the only
other way to deselect everything is to click on an item and then
ctrl-click it again to clear it.
> Part of this problem can be handled with better display
> properties, when a selection is out of focus it could mostly disappear.
This is one problem I am fixing for the attachment pane: since it
currently doesn't allow focus at all, there's no visual difference
between an attachment you just clicked on, and one that's selected but
the focus is elsewhere (e.g the thread pane).
There's currently no functional difference between the two either, so
it's not so bad, but the difference between a blue box and a gray box
(colors may vary by theme, of course) should be at least as clear as an
enabled checkbox vs. a disabled checkbox.
Now that I've finished selfishly defending my favorite version ;), on to
the implementation. It sounds to me like the behavior of checkbox-mode
is just to invert the meaning of the ctrl key. (i.e. click defaults to
"add to selection" rather than "replace selection") and so on. Depending
on your interpretation, ctrl-click in checkbox-mode could act like click
does in regular-mode.
If this is the case, it would be pretty trivial to have both modes
supported in Thunderbird, since it really amounts to 1) taking the
complement of a single boolean, and 2) replacing the selection highlight
with a checkbox.
Faaborg's:
http://blog.mozilla.com/faaborg/2010/04/22/dont-talk-about-users/ and
http://www.uxmag.com/strategy/quantifying-usability
and the referenced
http://spreadsheets.google.com/pub?key=tJxF8zTuLdEj9pUcxnLAemA&output=html
which is implemented in bugzilla, and AFAIK has already proven useful in
helping Firefox UX thinking.
I particularly like the way Alex points out the inherent tensions
between these various principles. (in this case my guess would be
between ux-consistency, ux-error-prevention, ux-discovery, and others =).
--david
I've filed a bug to do some more concrete stuff with this:
<https://bugzilla.mozilla.org/show_bug.cgi?id=630759>. It has a
XULRunner app attached with an in-progress version of the new bindings
for people to test out.