Off By One

Ordered

by Chris on Dec.16, 2007, under General Thoughts

It’s fitting that the quote on my homepage’s title bar, as I started to post this, was “Against stupidity the very gods themselves contend in vain”.

People who know me know well that I’m a geek, and as such I have many of the canonical traits that define ‘geek’. I’m oriented towards strict, quantitative judgments and I prefer things that fit neatly into categories.

I’d like to show you two lists, as seen on a site called Coding Horror:

Traditional Alphanum
z1.doc
z10.doc
z100.doc
z101.doc
z102.doc
z11.doc
z12.doc
z13.doc
z14.doc
z15.doc
z16.doc
z17.doc
z18.doc
z19.doc
z2.doc
z20.doc
z3.doc
z4.doc
z5.doc
z6.doc
z7.doc
z8.doc
z9.doc
  z1.doc
z2.doc
z3.doc
z4.doc
z5.doc
z6.doc
z7.doc
z8.doc
z9.doc
z10.doc
z11.doc
z12.doc
z13.doc
z14.doc
z15.doc
z16.doc
z17.doc
z18.doc
z19.doc
z20.doc
z100.doc
z101.doc
z102.doc

Now, I ask you: Which of those two seems like a better approach to the problem of sorting lists?

Here’s the thing, now that you’ve answered the question. The comments on the post that advocated the same sorting approach that I’m sure you picked were… distressing to me as a software developer who is concerned with human factors and real-world usability. Comments like this:

Leading zeros are your friends.

z100 should always go BEFORE z2, the same way that table goes before tar.

Also, anyone naming their files *name*-*number* and not putting in the extra digits should not order by name, but by date.

And I take offense at Kate Rhodes’ comments. It’s yet another case of stupid users.

This attitude is the very worst of my profession, and to everyone that has ever seen a list sorted like column ‘A’, above, I apologize on behalf of the nerds that did the work, who to this day probably still think that you’re wrong.

:, , , , ,
6 comments for this entry:
  1. Simon

    To be fair, there seemed to be a lot of replies to that post that also advocated some sense of reason… But yes, that particular one was among the worst.

  2. Chris

    I’ll admit, though, that I’m not inclined to ‘be fair’ when it comes to that class of institutionalized asshattery. In my job I am at least dealing with people who might be considered developers, if the consider-er is being charitable, so I can get away with being a bit less user-oriented than some, but even for me that sort of response is grating and offensive.

  3. charling

    I’ve always been annoyed with the column A sorting. I’ve always been annoyed with people who make things inaccessible to other people so they feel superior in some sort of way. You don’t have to point out the idiots unless you are an idiot yourself.

  4. Chris

    I’m not sure that’s true; I think it’s more the case that—in this situation—the people being ‘pointed out’, users who expect column-B sorting, are not idiots at all, but in fact expect the correct behaviour instead of the easy-to-program behaviour, which is the case for column-A. The idiots are all on one side of the fence, retroactively justifying a poor algorithm by trying to redefine ‘correct’ for the purpose of this question.

  5. Simon

    Is there a reasonable context in which column A sorting would be better to use? In terms of usership, I suppose.

  6. Chris

    You want it in circumstances where what you are sorting are not words. Data tends to have more structured form, and the column-A sort is much faster at runtime, being that the bit-comparison operations taking place can be done at a very low level.

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!