How To Use Status to Style a List

by Josh Walsh on July 21, 2008

As computer programmers we often get stuck thinking in binary.  Things are either true or false, black or white, on or off, good or bad, pass or fail.  Although computers think this way, the people who use the software typically do not.    We can use our skills as human beings to create a better user experience for our customers.

One particular place I like to take advantage of this is on list pages.   A list page is simply a page, usually with a table on it, full of data that the user can interact with.  It may be a list of pending orders, a list of products, or in my example here, a list of coupon codes that can be used as a discount on orders.

This is a good simple data form.   The columns were chosen carefully to make the data concise and easy to understand.  Lets examine how we can use status to our benefit to make this even more clear.

We have 4 coupons in the list.  The first 2 are active and will remain active forever (or until we manually cancel them).  The 3rd one has an expiration date on the first day of next month, so it will expire shortly.  The last one is already expired.

Using our typically binary mentality, we might wrongfully use status to format our data:

At first glance this looks ok, because it helps us differentiate active coupons from expired coupons.

Pet Peeve: Using red for off/inactive states.  Red is a warning indicator.  It indicates something is wrong, or alerts you that something is about to happen.  The list above is neither of those.  While we were correct to differentiate our active coupons from our expired coupons, our use of red made the problem worse.

The correct answer here is to determine what information is most important to the user and to prioritize it.  Currently our expired coupons are the primary focus, which is backwards.  I like to switch into greyscale for inactive states like this as it subconsciously gets itself out of the viewers eye.

We can take this even a step further and style our warning state as well.  The 3rd item in the list will be expiring soon.  It’s not a problem indicator, so using the red style isn’t appropriate.  Rather, I like to use an alert icon which draws attention to the line without taking much away from the other coupons.

This provides much more value to the customer without cluttering up the interface with more data.  There are many online applications which could benefit greatly from these small details.   Online banking, social networks and medical applications especially need this kind of help.

About the Author

Josh Walsh is a Managing Partner at Designing Interactive. He's also an award winning designer, author and speaker on the topics of User Experience Design, User Interface Design and Usability Research. You can follow him on twitter at: @joshwalsh

Share this with your friends:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Live
  • Posterous
  • Reddit
  • RSS
  • SphereIt
  • StumbleUpon
  • Technorati
  • Tumblr
  • Twitter

{ 6 comments… read them below or add one }

Joe Fiorini July 21, 2008 at 4:19 pm

Hah, I just dealt with that this weekend. We created a list of hotels and had to style them based on vacancy status. Of course, we made the hotels that were full red, which, you’re right, probably should be grayed out instead. Thanks for the insight! Great post!

Nate Klaiber July 21, 2008 at 4:28 pm

I couldn’t agree more. Too many times lists are mindlessly populated. I think sometimes there is a disconnect when a designer feels like they don’t have control of the data in the list. They begin to think in binary, and are unaware of how hooks can be created to allow for styling based on different statuses. I have the same pet peeve with Red, too many people use it as a wrong indicator.

Something else that needs to be taken into play, is dealing with a user who has some sort of potential colorblindness. Simply changing color or tone may not always be immediately evident to them, they may require the use of an icon as well.

I think it’s an overall thought process. Understand how users interact with the list of data, and letting them quickly see/filter things at a glance. I love the way you have visually broken things down.

Dana Kashubeck July 21, 2008 at 4:50 pm

Great article. Being a developer and not a designer, I thought at first the red was fine.

I appreciate the way you’ve explained why red isn’t right here and where red would be right.

I also like Nate’s point about using more than color for cues. This is something I’m really striving to keep in mind as I work on new features for my company’s site: not everyone can see the site as well as I can.

Geof Harries July 21, 2008 at 6:23 pm

Nate brings up a good point regarding accessibility, but I’d still be hesitant to include icons, such as the alert graphic, in a data table. If you end up displaying hundreds of rows, the icons will dominate the viewable area. Personally, I’d experiment with subtle colour changes instead, assuming colorblindness tests will be run on the interface.

Corey Haines July 21, 2008 at 8:09 pm

Great write-up, Josh. Like Dana, I really like the explanation of why red is bad in this case. I love the idea of de-emphasizing information that the user won’t necessarily have a reason to make use of.

Dean Genco September 11, 2008 at 2:13 am

Nice article. Thanks for the useful information.

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post:

Next post: