Card Sorting Your Way to an Improved User Experience

The Internet really brings some great benefits in further making information that normally wouldn’t be easy to find more accessible to the masses. The phrase “information in power” is often quoted, and just as with power, with great information comes great responsibility to those users who might need to find something amongst that information. Card sorting is a common practice in information organization that has been used in the web by information architects and designers since the mid 90’s.

All of us have our own way of looking at multiple items and categorizing them into groups, often times however the people we might be categorizing them for would have sorted them a far different way. This is where card sorting plays it’s role, it offers us a peek at how the users of a website might categorize (and thus search for) information on an ecommerce or large-scale information rich website.

It’s really simple to get started; a card sorting session doesn’t need to be overly technical by any means and is very cheap to execute. A Sharpie or pen and a stack of index cards are all the supplies you will need. Then there are the participants… if you have a physical store, ask some of your repeat customers. If it’s a company or organization, ask your clients or members. The key rule is, if you are a stakeholder in the website you aren’t allowed to do any sorting. Just watch and listen.

Using the index cards, write the names of the items you are trying to sort on the cards. Use only one item per card. For example, if I am making a cooking website perhaps I want to sort recipes, so my first card might read, “Lasagna”. Then for each additional recipe I would continue to write the name of a recipe down on it’s own individual card.

card-sorting-web.jpg

TWO TYPES OF CARD SORTING EXERCISES
With your cards ready to go there are two primary ways a participant might work with the cards:

Open Sorting is a session in which there are no pre-established groupings. It is up to the participants themselves to determine the groups of items and the names they would call the groups. If you can, this is by far the best way that you will understand how a user of your website will be looking for information. You will be able to gather far better results if you ask them to sort the items without restriction.

Closed Sorting is a little less helpful in my personal opinion as you have already created pre-established groups for the participant to sort their items into. For example, on my fictitious cooking website I might have told the participant to sort them into groups of “Italian”, “Mexican”, “Desserts”, and “Other”. To really mix things up I could add groups of “Pasta”, “Pastry”, and “Poultry” to give them some options that might give me a further understanding on how people might use my cooking website. Most designers and architects, myself included, do not encourage closed sorting because of the general restrictions on the results gathered.

The procedure is really just that simple. Take your stack of index cards and ask your participant to sort the items on the cards, as they feel most comfortable. There are no rules, or wrong answers. Don’t give clues of, “well that item has pasta in it, are you sure you want to put it there?” Just hand them the cards, and get out of their way. When the sorting is over feel free to ask questions to better understand their approach so you might best understand your website users behavior when looking through your products or information.

Remember also that your results will vary. You might find in some cases that your various participants are very consistent in their organizational style, while other times you might find that they vary widely. Don’t get discouraged, and realize that this is just a tool to help you understand your users, it is not a silver bullet to perfect organizational design and it may not apply as well to all websites being developed. No one is grading you here, so take your time and have fun with it.

Advertisement

Silencing Rails Logs for Security

For those of you that are already familiar with the Rails framework you already know that the Rails logs are completely invaluable when it comes to debugging and troubleshooting issues.  However, just as with any form of transaction logs they introduce a major security issue.

Just think about some of that information that you might be storing in your database… credit card numbers?, social security numbers?, or what about passwords?  Imagine someone getting a hold of those logs and seeing all the session parameters being passed into the database.  Inserting the credit card numbers into an order, selecting the user information based on a username and password combination.  See the point I’m making here?  Let’s look at a quick example of what you’ll see in your logs:

Parameters: {“model”=>{“username”=>”John”, “password”=>”hax0r”}…

Not good.

Thankfully Rails makes it simple to filter this important material from your logs.  Just open up the model that you want to filter and add a single line just below the class definition:

class Model < ActiveRecord::Base
filter_parameter_logging :password

end

In this case I just filtered “password”, but you could filter whatever else you wanted to for that model, separating each parameter with a comma, like such:

filter_parameter_logging :password, :confirm_password, :ssn, :creditcard_number, :etc

It’s that’s simple.  So keep those Rails logs secure and filter out the stuff that others don’t need to know.

Simulating a Table Using an Unordered List

NOTE: It should be said that semantically correct HTML should always be used in favor of <div> craziness. This is meant more as a proof of concept.

Your first question immediately might be, “why would I want to simulate a table with a list, why not just use a table?” With the raise in popularity of AJAX sortable list elements, using list items to represent a multiple column data table can allow for easy sorting of various more “tabley” information. So let’s get started.

First let’s look at our HTML:

Now the CSS:

Ok – I’ve left something out for space. I also implement the clearfix solution as given at: http://www.positioniseverything.net/easyclearing.html

I’ll keep this post short, because I’m expecting that you can figure out everything that was done by the HTML and CSS. Hope it helps someone somewhere to do something cool.

Result:

WordPress Top Growing Blogs – Twice in 8 Days

I want to thank all of my readers for their readership and loyalty.  It was because of you that for the second time Innovative Thought have been marked as one of the days top growing blogs on WordPress.  The first time we were #84, and this time we are #3!  Thank you all again!

Coming soon.  I’m currently writing a post on simulating tabling using unordered lists to created sortable drag and drop data tables.  Look for it in about a day or so.

Stay tuned!  I’m only getting started.

Fedora 7 on Fusion

Tonight I decided I was going to install the new distro of the Fedora Project (7). I spent the even downloading the entire 2Gb distribution. After the initial excitement I felt from it’s download completion I started up Parallels, setup the virtual machine – press start… Fedora booted from the CD, started the installation, I selected my language… and then… can’t find media driver? What the hell? How are you reading the data right now? After some web searching I found this to be a common issue in Parallels. My option? Download the distro from repository over HTTP or FTP! Yeah screw that! I just spent the night downloading it – I’m not doing it again.

So what to do…?

Remembering what I heard about VMware Fusion, I downloaded the beta. Installed the product. Set up the virtual machine. And off it goes. I didn’t even have to select my language. Fusion seems far more friendly to Linux distros in addition to Windows. So far the installation of Fedora is running completely smooth I’m about 30% done of the package installation and I’m looking forward to my first run at Fedora.

Reading today of the announcement of Parallels 3.0 – I am curious to learn what there “Linux tools” add-on is in the product. I guess time will tell.