#16212: Improve multiple sort UX
-------------------------------------+-------------------------------------
               Reporter:  idangazit  |          Owner:  nobody
                   Type:  New        |         Status:  new
  feature                            |      Component:  contrib.admin
              Milestone:             |       Severity:  Normal
                Version:  SVN        |       Keywords:
             Resolution:             |      Has patch:  0
           Triage Stage:  Design     |    Needs tests:  0
  decision needed                    |  Easy pickings:  0
    Needs documentation:  0          |
Patch needs improvement:  0          |
                  UI/UX:  1          |
-------------------------------------+-------------------------------------

Comment (by julien):

 I don't want the discussion to go in every direction but I thought I'd
 throw my 2 cents in :)

 In ticket:11868#comment:14, I pointed out an example making use of SHIFT-
 click: http://tablesorter.com/docs/#Examples

 However, I think this is a bad idea, for 2 reasons:

 1. This can only properly work if there is no page refresh, like in that
 tablesorter example. If the page is refreshed after every click, then it
 would actually be very hard to remember to press SHIFT after the page has
 reloaded to select other column headers.
 2. One big difference between web apps and desktop apps is that it is
 extremely rare in web interfaces to use actions like SHIFT-click, COMMAND-
 CLICK, CTRL-click, double-click or right-click. About every mouse action
 on the web is basically a simple left-click, and users have become
 accustomed to that. For that reason, an interface requiring the use of
 SHIFT-click would be unintuitive and would also require adding some sort
 of help text, which would add clutter and cognitive load.

 Also, moving the sorting controls to the sidebar would cause at least 2
 drawbacks:

 1. The controls would be detached from the source of the action. You would
 have to look back and forth between the sidebar and the column headers to
 make sense of the interface and to make adjustments.
 2. We would lose some screen real estate. The sidebar would always be
 displayed, even if there are no filters (currently the sidebar isn't
 displayed if there are no filters, giving more space for the changelist
 result table). The controls would also add clutter on the interface and
 would potentially attract more attention that they really deserve.

 I actually think that the current interface is already pretty good. My
 main issue with it is the lack of visual feedback for the available
 actions and the inability to remove sorting columns other than via the
 popup.

 So, I have attached a patch with a few small changes which, in my opinion,
 improve the interface while avoiding all the drawbacks mentioned above. It
 basically keeps everything the same, except:

 * added hover states and tooltips for headers, cog, position numbers and
 up/down arrows.
 * clicking an arrow toggles the corresponding field's sorting without
 changing the sorting priorities.
 * hovering a position number replaces the number with a red cross which,
 when clicked, removes that field from the sorting.

 The only thing that still can only be done from the popup is "Reset
 sorting", so maybe the popup could be entirely be removed and the cog icon
 could be replaced by some other icon to directly reset the sorting.

 Hopefully this is useful to the discussion. If not, that's cool, I'm not
 too precious about it :p

-- 
Ticket URL: <https://code.djangoproject.com/ticket/16212#comment:5>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to