Code Monkey vs. Asynchronous Lists

I guess the theory is that a list that starts displaying its results immediately will allow the user to get to what they’re looking for quicker. The problem is that most of the time this couldn’t be farther from the truth.

Steam's "Add a Game List"

Steam's "Add a Game list" dialog

When you open this, you already know what you’re looking for. The list is sorted alphabetically, so you start to scroll down to the letter the game starts with. However the list only serves to frustrate because it doesn’t actually load alphabetically, so when you find the letter you’re surprised to find that your game isn’t listed. You’re not given any indication that the list is still loading, so is the game just not going to be listed? Or has the dialog simply not gotten around to loading it yet?

The fun continues when the game finally shows up. Now that you see the game listed you go to select it so you can move on, no need for the list to finish loading, right? Just as you go to click on the item you were looking for, it moves clear out of view since something was just added many items up somewhere you don’t see or care about. Thus begins a game of cat and mouse trying to find and select your game before it moves out of view again. You could just give up in frustration and just wait for the list to load, but since the only indication you have is less reliable than listening for popcorn to finish popping, it’s equally frustrating as the cat and mouse.

Worse still, this design tricks users into trying to find what they’re looking immediately for because there’s items in the list to look through. Our interactions with computers are very action-reaction oriented, we issue a command and wait for the computer to respond. With this list, the computer starts to respond immediately, so we’re prompted to issue our next command prematurely and no one likes being premature.

This experience is the same for the .NET tab of the Add Reference dialog for Visual Studio 2010, as well as that of the “Programs and Features” list of Windows Vista and 7. Someone, please tell me how this is preferable to simply waiting a second or two and then finding your item in a nice alphabetically sorted list. It usually takes no more time, and is significantly less frustrating. At the very least, provide some form of loading indicator so the user knows for sure when the least is complete. Otherwise you’re only pissing off your users and earning your place in my Hall of Shame.

Code Monkey vs. Introductions

I’m constantly told, once I complete some rant, that I should write it down and share it with the world. I’ve tried this before many a time and eventually ran out of things to say. Almost every time, I’ve written one of these introductions saying that I’ve tried this before too. I suppose this would classify me as insane, but it’s not like I’ve ever been accused of being sane in the first place.

I suspect I have a bit of a reputation of a harsh critic, or perhaps of a bitchy whiner, I’m not really sure which. Hopefully I will come across as the former, as that’s primarily my purpose here. I intend to do reviews of games, software, and tech in general. Expect spoilers when it comes to games, or movies if I go there. We’ll see how it goes.