Adhering to Global Controls and Patterns

June 11, 2008

Software should follow common patterns–not just visual design patterns, but interaction patterns as well. For example, in Windows ctrl+c should always map to copy selection, no matter the software one is using.

Foobar2000 is a much beloved music software package, offering a flexible, highly customizable interface for advanced users (and the best response time of any music player out there).

However, sometimes it confounds. For example, I often create playlists on the fly. I would expect “delete” to remove a highlighted item from my playlist.

A highlighted song in Foobar2000

Instead it does nothing — which is better than deleting the item from my hard drive (which would be beyond bad usability) — but is still bad for two reasons:

  1. It breaks with the global pattern
  2. Because it does nothing, it leaves us hanging (hit it again! hit it again! Huh? what? Confused!)

Windows Media Player does a better job, conforming to expected behavior. If only it were as fast.