Arrow Endianness: How GNOME got sorting backwards

Conventions are important, even when it seems like it doesn’t matter one way or the other. Just look at all the people who complain about the nerve of Steve Jobs to place the close-window button on the left.

There’s no reason why the left side is better than the right side. Convention, however, says that you must choose one way and live with it, or else you’ll be forever forced to constantly convert between left-handed and right-handed traditions. Just ask anyone who’s ever had to write low-level networking code. When sending an integer, it doesn’t matter whether the big end or little end goes first, but if you don’t agree with the other party, your message will come out garbled.

So imagine my discomfort when I have to sort files in Nautilus or sort processes in System Monitor.

For comparison:


and Wikipedia:

Why don’t I just look at the files to see if they’re the way I want them? Because the whole point of having that little arrow there is to quickly indicate to me which way things are sorted. I’d rather have no indicator than a confusing indicator, and besides, if you had to look at your window’s title bar every time you wanted to close a window, you would be frustrated too.

If you had files sorted by name is ascending order, you would get the first one first.

Alpha.txt
Beta.txt
Gamma.txt

Everybody else uses ? up arrow, but GNOME represents this sort with a ? down arrow. If you’ve ever written SQL, you’ll know that this alphabetical sort is what you’d get if you said ORDER BY filename ASC. Ascending is ? upwards. Like an elevator.

There are more ways to look at it. If you’re sorting numbers in ascending order, you would get

1
2
3
?

The biggest number is at the bottom. With the ? up arrow, the biggest end is at the bottom. This is like when you learned about the numerical comparison operators in preschool: 1 < 3, 9 > 7, or 5 ? 3 and 2 ? 4.

Score 0 for GNOME, score 2 for everybody else?

Some GNOME defenders point out that using a ? down arrow for ascending sort can make sense if you interpret it as an arrow pointing in the direction in which things are ascending. (e.g. in “1, 2, 3, 4,” the numbers are “going” ? right). The GNOME Human Interface Guidelines, however, don’t even justify their decision. They simply say that the “Natural” order is ? down arrow and the “Reverse” order is ? up arrow. There’s nothing supporting the connection between “Natural” and ? down arrow.

We’re not doomed forever though. This was raised as an issue in the GNOME bug tracker, and people generally support changing the guidelines to follow the general convention. Just give them another year or two or six and they’ll bring GNOME in-line with our expectations for how sorting should be indicated.

The real lesson here is that, when the choice between two things is essentially arbitrary, do some research and consider how everybody else does it. As Danny Cohen wrote (about network endianess),

It may be interesting to notice that the point which Jonathan Swift
tried to convey in Gulliver’s Travels in exactly the opposite of the
point of this note.

Swift’s point is that the difference between breaking the egg at the
little-end and breaking it at the big-end is trivial. Therefore, he
suggests, that everyone does it in his own preferred way.

We agree that the difference between sending eggs with the little- or
the big-end first is trivial, but we insist that everyone must do it in
the same way, to avoid anarchy. Since the difference is trivial we may
choose either way, but a decision must be made.

29 Responses to “Arrow Endianness: How GNOME got sorting backwards”

  1. Peter writes:

    Although not a Gnome user, I consider their convention to be more inline with my thinking – and have been frustrated with the experience on other platforms in the past.

    The arrow to me says “sort in this direction”. Eg this makes sense to me:
    Letters > A B C D E F G …
    Letters < Z Y X W V U T …

    While the inverse does not:
    Letters Z Y X W V U T …

  2. Vadim P. writes:

    To be honest, it doesn’t frustrate or confuse me at all. This is in fact more intuitive for me, the down arrow represents the whole column.

  3. eric writes:

    Read through to the end of the post. Both sides can come up with rationales for their choice, but it’s more important that everybody agrees on one.

  4. Kissaki writes:

    @Peter:
    “sort in the direction” is not specific enough. Are you sorting ascending or descending? It is clear to you you mean ascending, lower alphabet to higher, but it may not be to others or machines.

    Interpreting the arrow not as direction of sorting (by unspecified) but as lower value to higher value is more specific and you can not mistake it.
    I thus strongly argue for the arrow as most have it, and not how gnome does it.

  5. Krystian C writes:

    I do not think that down pointing triangle or up facing triangle is arbitrary. If the triangle is facing down, the top side of the triangle has visually more area, visually implying that things on top of the list are bigger and near the bottom smaller. You can justify things verbally saying it is pointing in whichever way you want, but visually, down triangle has a stronger connotation with ordering from larger to smaller.

  6. coucout writes:

    I totally agree with your analyse.

  7. Dave H writes:

    > it’s more important that everybody agrees on one.

    As long as they agree on the right one.

  8. Josh writes:

    You make an excellent observation! Their poor justifications are somewhat ridiculous, too.

    “There’s no reason why the left side is better than the right side. Convention, however, says that you must choose one way and live with it…”

    I have to disagree with the above, though. Take cartography and maps for example. For ages, elevation had been represented by gradations from green to red. That was convention, and as convention, it was never challenged. But then someone thought to actually evaluate empirically. It turns out, that convention sucked and maps using hill-shading (the artificial shadows we see today) was far superior. This difference in perception is empirically justified.

    Now, I am not justifying Apple’s use of the left-side close button and I think GNOME is completely wrong here.

    But your post seems to suggest that conventions should go unchallenged and simply be accepted for convention sake. The world is replete with examples, both anecdotal and scientifically justified, to suggest otherwise.

  9. eric writes:

    @Josh No, those are two very different methods of displaying information that both have merits. What if, though, some people used gradations from green to red and some used red to green, and you had to keep adjusting to the cartographer’s whim?

  10. Chris writes:

    Well, if you’re going to agree on one, at least agree on the RIGHT one. 😉

  11. Felipe Contreras writes:

    I don’t agree that everyone must do the same, but I do agree that GNOME got it backwards.

    Moreover, GNOME has a tendency of giving itself too much importance, so my bet is that they will say they are right and everybody else is wrong.

  12. eric writes:

    @Felipe See the end of the post for this issue in the GNOME bug tracker.

  13. Peter writes:

    I always felt that there was something wrong with the ordering in ubuntu (switched from windows) but I could not point at the problem.

  14. Name writes:

    I recently started sharing a RAID configuration between Linux & Windows and to my disappointment, Nautilus ignores characters like underscores at the beginning of file-names, making it sort completely differently from Windows. 🙁

  15. Pxtl writes:

    The problem is that they reused the symbol. Breaking convention is fine as long as you break it in an unambiguous way that makes it clear “this is a new convention”. Reusing the old triangles but switching them around is the wrong way to go about it. If you wanted a symbol for health, you wouldn’t pick a skull regardless of how the skull is involved in the human body.

    Use a volume-knob right-triangle instead of a delta… ? is clearly “biggest at the end” and ?is clearly “biggest at the beginning”. (Unicode doesn’t have a char for a 30 60 90 tri, only a 45 45 90 tri, but pretend it’s one of those)

  16. David Edmundson writes:

    Surely when it comes to talking about “convention” we should see what KDE does. It’s far more important for KDE and Gnome to do the same thing, than Gnome and Windows. (as you could quite conceivably be running KDE apps on gnome/vice versa, but you’re unlikely to a windows app on Gnome.

    KDE does the same as what Gnome does. Therefore by your “convention is important” statement, both are fine. Definitely changing one without the other is horrifically wrong.

  17. Josh writes:

    @Eric This is where evaluation comes into play. Continuous adjustments based on whim (or convention) do no favors to users and make extra work for designers and developers alike.

    If method A is proposed over method B, there needs to be some solid justifications for that choice going beyond “it’s convention!” or the developers’ opinions.

    Any time something claims to be better for users, without ever running any user studies or evaluations, it should immediately become suspect. This is why, although I agree that GNOME’s take on this is unintuitive, there are better arguments against it than it defies convention.

    The bigger picture to address is why the current convention exists. Is it based on a perceptual notion that is inherent in user experience, or simply repetitious use over a long period of time? If the latter, it is good to challenge it and propose alternatives. In either case, it shouldn’t be claimed to be “better” if no actual proof of that exists.

  18. Mark writes:

    I always think of it like this:

    the fat part of the arrow is bigger values,
    the narrow part is smaller values.

  19. lucks writes:

    I have always associated that symbol as a triangle not as an arrow, so the files increase in size or whatever, in the direction triangle does.

    Excellent post, I have always seen that something was wrong with that!

  20. Pxtl writes:

    @Mark, @Lucks…

    If so, I’d change it to a symbol that’s less likely to be confused for an arrow.

    Something like this:

    _
    __
    ___

    Right triangle instead of isosceles, and showing that it’s the shape of the list of items.

  21. Kamil Kisiel writes:

    I actually think the up or down arrow is a terrible symbol to indicate the sort order. As this post indicates, it’s open to interpretation and doesn’t (in my mind) clearly indicate in which way things are being sorted. The double arrow for unsorted columns is even worse.

    Personally I’ve always ignored the icons, other than as an indicator for which column is sorted and which ones are not. I just click the column header till the data looks like it’s in the order I want it to be, without actually ever paying attention to which way the arrow points. Other people who I’ve observed appear to do exactly the same thing.

    Maybe it’s time to come up with a better icon? Pxtl’s suggestion already looks better to my eyes, but probably wouldn’t do for people in a right-to-left locale.

  22. trmsw writes:

    It’s the death of idealism if you ask me.

    Show someone the two triangles / arrows, and ask them which one means inverted. Almost everyone will reply ?: you can be confident that the removals man will understand ? on a cardboard box (understand, maybe not follow…)

    So talk about things being in order or reverse order, and everyone understands: the normal order starts with the first and the reverse order starts with the last. The only room for confusion is how to rank items: eg, how to rank musical notes (is it A -> G or C -> B), or colours (as opposed to the name of colours)?

    Talk about “sorting by”, and suddenly everyone is thinking in terms of arrows and direction, process and going places, taking lifs and counting down. It’s sad because supposedly we had computers to do boring things like sorting, now everyone is thinking like a programmer, and what’s worse, a procedural programmer.

  23. pat writes:

    “Just look at all the people who complain about the nerve of Steve Jobs to place the close-window button on the left. There’s no reason why the left side is better than the right side.”

    On Mac OS versions 1 through 9, there kind of was. The close button was on the far left, and the “safe” buttons (zoom, and later windowshade). Once you got used to it, it was much faster to click the “safe” buttons because you knew there was no chance of hitting the (not easily reversible) close button.

    Of course, by the time OS X Developer Preview 3 came around, they’d forgotten about all that, and decided to put them all on the same side of the window so the right side could be used for “single window mode”, an idea so astonishingly bad they dropped it for the Public Beta, leaving the right half of the titlebar completely empty, until 10.0 when a toolbar toggle was added there.

  24. Steven writes:

    The universal symbols for forward and reverse are ? and ?. There’s no ambiguity of how the arrow direction relates to the “direction of increase”, or the triangle being bigger on one end or the other symbolizing anything. If you want to draw on that meaning, go with the symbols that actually mean that.

  25. trmsw writes:

    I like the Webi icons, an A above a Z next to an arrow pointing downwards, and a Z above an A next to an arrow still pointing downwards. Visually not that appealing but easy to understand since they don’t try to use a single symbol to indicate two separate bits of information (one is whether the table is sorted by this column at all, the other is the sort order).

  26. Harald Korneliussen writes:

    “There’s no reason why the left side is better than the right side.”

    If there is a menu bar attached, as there is in your screenshot, it is a problem. The problem is that you may easily accidentally close the program when you tried to click the file menu.

    I don’t have a mac, but I believe this isn’t an issue there due to the menu bars being on top rather than attached to windows.

  27. Guy writes:

    That’s great trmsw until you get to a language where Z isn’t the last letter.

    I’m joshing of course, but interesting that what started as a binary choice has extended to many solutions.

    And that’s how standards proliferate (see recent xkcd)

  28. teo writes:

    Cook, but please stop calling them “arrows”. They are triangles. Confusing them with arrows is part of why the idiots at Gnome got it wrong. They are triangles, the small end indicates the side where smaller values are and the fat end indicates the side where large values are. Yes, it is a convention but one that has a base in intuitive logic, not a purely arbitrary one that could equally well have been the other way around.

  29. blouis79 writes:

    10 years on, it’s still wrong in Gnome and the published fixes don’t work.

Leave a Reply