Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I have a tree table that allows the user to group columns arbitrarily. Is it bad UX for me to move the grouped by columns to the front of the table right next to the tree controls? Would it be more ideal to duplicate the columns and place them under a column group with the tree controls and leave the original columns in their positions?

So the scenario is a Tree table start state, the user then "groups by C," and I programmatically behind the scenes move the column up next to the tree controls, is this the Least Surprise?

mockup

download bmml source – Wireframes created with Balsamiq Mockups

If you would be surprised, what would you expect to happen?

share|improve this question
    
What do you mean by "tree table"? Could you perhaps post a mockup? –  cdeszaq Mar 19 '12 at 18:36
1  
Nothing is automatically bad UX, but some things are often bad. And yeah, a mockup/screenshot would be good –  Ben Brocka Mar 19 '12 at 18:40
    
I thought this site had some balsamiq integration for mock ups, how do I access it? –  Justin Dennahower Mar 19 '12 at 19:02
    
@JustinDennahower - In the editing view, click the little Smileyface in the toolbar to add a Balsamiq Mockup. –  cdeszaq Mar 19 '12 at 19:13
3  
@JustinDennahower - There 'ya go. Over 10 rep :) –  cdeszaq Mar 19 '12 at 20:05
show 2 more comments

4 Answers 4

up vote 2 down vote accepted

There's nothing wrong with it and it's actually a good idea - as long as you do it right. Meaning that you provide a clear visual clue that this column is different from the others, a clue like a different background color for the entire column - not just some icon on the header row.

Also, it can only be enough if you just have one level of grouping, i.e. the user can't say "group by name, then by date and then by subject". If you allow several levels of grouping, you need clearer ways of conveying the order. This is how Outlook approaches this:

enter image description here

share|improve this answer
    
I like this,it establishes the relationship pretty well –  Mervin Johnsingh Mar 19 '12 at 21:02
    
Thanks Vitaly. What I decided to do to indicate the group columns was to have a super column header. In flex its called a ColumnGroup. –  Justin Dennahower Mar 19 '12 at 21:10
    
Yes, Outlook displays "group by" like that, but it doesn't change the column order! It would surprise me a lot to have a column jump from one place to another just because I grouped by it. –  Marjan Venema Mar 20 '12 at 8:35
    
Not only does it change the column order, but it removes the column altogether :). When you group by a column, it disappears and its values appear as headings of the new sections of the inbox. But the Outlook model is pretty complicated and it's good for a smart grid with multiple possible grouping levels, simple grids don't need that. –  Vitaly Mijiritsky Mar 20 '12 at 12:19
add comment

It would be good if the columns are maintained minimal and should be able to hint by cursor to be + pointer when user mouseover on columns.

share|improve this answer
    
Hi Basheer welcome to UX.SE! Could you elaborate on your answer and maybe add some references to your position? This answer is a bit short and unsubstantiated at the moment and people are likely to downvote it. –  dnbrv Mar 20 '12 at 12:20
add comment

It would be worth the effort to have this mocked up as an interactive prototype.

Short of that, I would think if the sort control is the table header, then yes, I think that would be disconcerting and unexpected. (as what I cliked suddenly moves to somewhere else) However, if you have a separate control such as a menu that causes the sorting, I think the table could change drastically as you describe and it would be less bad. God is in the details.

share|improve this answer
    
I agree that clicking the column and having it jump would be really confusing. I use a popup with check boxes currently, but should be changed to some sort of an ordered list. –  Justin Dennahower Mar 20 '12 at 15:27
add comment

Interesting question and I would really be interested in seeing how the dynamic rendering of the table columns is done.

That said,if I looked at your implementation,I would surely be surprised since:

  1. The behavior would be unexpected
  2. We normally associate table column headers to be steady and as a point of reference to what the information in the table rows relates to.Though by moving column "C" to "group by" might help make the connection, someone who has not fully established the connection at first hand would have a tougher time understanding that now the data is being grouped by C.
  3. Another point of confusion would be with regards to how C will relate to A and B (the other columns) now that its the primary "grouping column"

This is what would confuse me from just the point of the view of the columns moving around. However another thing you need to consider is the scope for laggy movements which might happen why constantly re-rendering the table (i am assuming you would be re-rendering the table without refreshing the page) but even if you refresh the page for every column reorder, the the refresh might annoy users and also confuse them with regards to what has changed from the previous state

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.