I’m working on project where I’ve got numerical data for each record, so you wouldn’t be surprised probably that I was formatting that data into an HTML table and was going to let users click column headers to sort that data.

But it got me looking for inspiration on how others are designing tabular data and sorting data these days, so I went looking at the 37signals portfolio. What I saw surprised me a bit.

They don’t let you sort anything in their applications.

Also.

There’s no tables. Anywhere.

Except…

They use tables for layout in places :)

The purist designers out there probably are amused by that. I just found it thought provoking.

Digging into it a bit, I looked at Sortfolio. Surely there’d be sorting going on there. :)

But as I look at Sortfolio, you are allowed to filter by city and budget but the sort appears to be predetermined by them and a little random. Premier listings at the top, sorted randomly amongst themselves. Non-premier on the bottom. No ability for the user to sort anything by themselves.

Interesting. Oh what about Highrise where there’s numerical data in things like Deals. Do they let you sort that, or sort notes by time?

No. Here’s Deals in Highrise.

No tables. No user sorting. If you view source though you’ll see a table.

<table class=“deals” id=“pending_deals”></table>

But Deals appear to be sorted in a way predetermined by 37signals. And if you want to find certain records you have a bunch of ways you can filter the data: date, category, and owner.

One more place to look: Basecamp. They have to let you sort messages right? Email clients are sortable after all, and Basecamp replaces email for a bunch of teams. Surely someone might want to sort those messages by something.

Nope.

They choose some “Most Active” messages for you at the top, and everything else is chronological. You can filter by category but no sorting.

Very very interesting.

So who cares? Well this exploration helped in a couple ways. It made me question the reasons I was thinking about putting data in tables and letting users sort stuff.

I realized I was just being lazy and cargo cultish.

“I have data. Seems like it would go in a spreadsheet. So let’s use a table. And of course it should have sortable columns because that’s what spreadsheets have”.

All this got me thinking about if I’m truly designing a solution to a problem if all I’m doing is replicating the features of a spreadsheet in a web app. Why wouldn’t a user just use a spreadsheet then?

I realized there actually is a best way to have the data sorted in my case, and it probably doesn’t make much sense when solving my users’ problems to sort it any other way.

I also have started questioning all this data I’m presenting. Each cell of data turns out doesn’t seem all that important. There’s about one number, maybe two that stick out as being problem solvers. The rest are maybe “interesting”. Maybe they have some importance for understanding the other numbers. But if you had 2 seconds to glance at the data, there’s a single number for each record you want to see, not 6 columns equally treated in a table.

This doesn’t all mean, sorting is bad, or tables are bad. But when you think of a technique and data structure that is so common and give yourself a constraint like “don’t use tables or let people sort stuff” you start to question a lot of the poorly made assumptions you might have been making.