What are the best practices for ordering columns in a table?

I'm currently putting together a table with about twelve columns which are going to contain a range of data from dates, times, short strings, numbers and icons. The data is going to be related to different sources and it can only be sorted one way. I was thinking about grouping the data into related sources and having the sorted column as the first column.

Is there any research around about what's best?

  • This is sending warning bells to me. The fact that you have 12 columns is a little worrying and the fact that you can only sort on only one data type is not sounding good. What are the data sources? Why can the sort be one way only? which attribute is the sorting attribute?
    – colmcq
    Commented Aug 18, 2011 at 15:19
  • So it's a table containing realtime delivery data and the the items are sorted by delivery time (only today's deliveries are being shown). The purpose of the table and the screen is to ensure deliveries are being made on time. It's unlikely that there will be a reason to sort any other way.
    – Fraser
    Commented Aug 18, 2011 at 15:30
  • what are the other attributes in the table? Do users absolutely have to see all of them? I would have thought if the objective is to compare times all you would need is object ID anticipated delivery time, actual delivery time....
    – colmcq
    Commented Aug 18, 2011 at 15:56

1 Answer 1


I am not aware of any research. However observing the applications I know, 12 columns is a bit on the high side (even my email has about 8 - I am referring to email as an example but the principles appear in other apps as well.)

Icons and images go to the far left and right ends

The first main textcolumn is usually the identifying column, the one that is most important. This does not need be the column it is sorted on, mail for example is usually sorted so it shows recent first, but the main identifiers are sender and subject and the actual date is less important.

Consider combining columns by (for example) concatting names or combining status types to icons (the way the read/unread-message icon is combined with a reply or forward overlay).

Oh, and of course check with your users what they need (and test perhaps a few different setups.)

  • Thanks for the response Inca. With regards to working with the end user we are working very closely with them. It's actually an internal app which makes it so easy to do. The columns have actually been decided on by them so we have little way of movement.
    – Fraser
    Commented Aug 19, 2011 at 7:47
  • this is interesting. During research you find users want 'a lot' but they are unaware of the implications this might have on design. In your case the 12 columns are going to make for quite a miserable experience and only testing will let users see that maybe 12 columns aint such a good idea after all.
    – colmcq
    Commented Aug 19, 2011 at 8:34
  • I agree, testing will no doubt focus their attention onto a select few columns. This is something I'm looking to prototype anyway so that we can assess the columns, workflow, interactions etc.
    – Fraser
    Commented Aug 19, 2011 at 10:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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