Thursday, June 18, 2009

The Multi-threaded Cabinet

Last week, I had some trouble with my desk cabinet at work. I seemed to have inadvertently locked my top drawer. After fiddling around with the cabinet a bit, the drawer had magically opened. This behavior left me puzzled and it wasn't until today that I figured it out. The cabinet is multi-threaded!

The cabinet is small, black with two drawers. Open either drawer alone and everything's fine. Now, try to open both of them at the same time. Race condition!

It turns out if you have one drawer open, you can't open the other drawer! It's locked, literally :P

I can't fathom what merited this particular design choice. Did the designer think something catastrophic would happen if I had both my drawers open at the same time? Nonetheless, it certainly isn't an intuitive feature, nor easily discoverable. But my mind is just a bit more at ease now that I've solved this particular conundrum. :)


Wednesday, June 17, 2009

Pandora Pause Indicator

A few months ago for a 6.813 assignment, I'd suggested Pandora as an example of a good user interface. But I'd noted that one thing that annoyed me was that it was hard to tell whether the player was playing or paused. There was a single play/pause button with one function highlighted in orange. Take a look at this snapshot from the old version of the UI and try to guess if the player is playing or paused:

Does the highlighted function showed the current state or the action that would happen if you pressed the button? (Highlight to reveal answer: current state) I'd always mix this up.

Now, it's true that most of the time, the auditory feedback of hearing the song play would tell you which state the player is in. But when your internet connection is flaky and you're trying to figure out whether Pandora doesn't have a connection or is just paused, the lack of state visibility was very annoying.

I later noticed that there was a hidden indicator in the form of a dynamic url change. When you click pause, the url is appended with a #/paused.

This of course isn't too visible, so I'm glad that Pandora just updated their interface to have a very visible pause indicator: a big black paused icon shows up on top of the song's icon. An incredible improvement in visibility -- well done, Pandora! :)

As an added bonus, the big paused indicator does double-duty as a button. It can be clicked to resume playback.

It is worth noting however that Pandora continues to show the current state (paused) rather than the action that will happen if you press the button (play). Contrast this to Hulu whose video player also displays a big black button when paused, except it displays the action (play).