Interface Revamp for CDDB Lookup Helper

Friday, 2006-01-13; 03:41:00



Since I've been doing a bunch of "featured entries" regarding interfaces in my applications, I thought I'd give an update on CDDB Lookup Helper (more on that awful name later). When we last left off, I was trying to make the approval window as small as possible while also making the album art images as large as possible (as well as the other info displayed). I was struggling to reconcile the two competing pushes, and the interface was suffering because of that. So I rethought how I was doing things, and came up with another way that I think is much more acceptable.

The reason why I was trying to make the window as small as possible was because I didn't want the window to obscure that much of the screen. Since the window was always visible and always on top of everything, it had to be as small as possible to minimize the annoyance. But what if you could minimize the annoyance in a different way, one which would allow much more freedom in allowing more space for the art and info? Here's what I came up with:

Instead of the approval window looking like this (which is where things were left off):

CDDB Lookup Helper Interface Variation C With Lyrics

... the approval window now looks like this:

CDDB Lookup Helper Widget-Style Interface

(The white pixels in the corners of the screenshot are artifacts of Snapz Pro X's capture method. They don't exist in the actual window.)

It's supposed to look widget-y. That's not a coincidence: I'll probably make a true Dashboard widget for CDDB Lookup Helper, because what CDDBLH does is precisely what you would want on your Dashboard. Also, note that you can see that the window is ever-so-slightly transparent, so my desktop picture is shining through a little bit -- that's not the window background.

So, from the previous window, which was 317x195 pixels in size, the new window weighs in at 420x390 pixels. It's significantly larger, which means it allows much more space for the album art. The old window allowed for a total of 117x117 pixels devoted to the album art: the proposed album art took up all of that space except a 40x40 square which was obscured by the existing album art pulled from your iTunes library. In contrast, the new interface allows for 150x150 pixels devoted to both the existing and proposed album art. This allows for much better visibility. Also, the new interface allows for slightly larger fonts, which is also a good thing.

What keeps the annoyance to a minimum in this new interface is that the window silently fades away after a period of inactivity. (I've found that ten seconds is a bit too long, so five seconds is probably going to end up being the default inactivity period.) When you haven't pressed any buttons or dragged the window at all for five seconds, the window fades away (and when I say it "fades away", I literally mean it fades away) and stops bothering you. It automatically comes back if you click on CDDBLH's dock icon, or if the currently playing song changes.

Also, if you were wondering, I am going to make a set of images so that the window will be black text on a white background -- I just think the white text on black background looks really cool. (In fact, the color of the text will probably be arbitrary. For now, the background and the borders are static images, but I'll see if I can fix that for the purposes of being able to change those colors as well.)

Needless to say, I'm much more happy with this interface. It allows me much more freedom in creating the interface while keeping the screen real-estate hostile takeover to a minimum. (It's also taught me some things in Cocoa programming -- for instance, CDDBLH has to be multithreaded in order for everything to work satisfactorily: if it wasn't, every time the track info tried to refresh, the fade-out or the dragging of the window would be momentarily interrupted, and it would be quite annoying. Since the window doesn't have a normal titlebar, I have some custom code that allows you to drag the window by any arbitrary part of it, which is why refreshing could interfere with a dragging operation.)

What'cha think? Better? Worse? Suggestions? I'm interested.

Oh, about the horribly complicated name: what about "TuneTagger"? Is that a good name? (I'll take suggestions on this part as well.)

(Incidentally, "Your Legs Grow" by Nada Surf is a ridiculously awesome song. In fact, I recommend the entire The Weight is a Gift album. It's available on the iTMS, as well.)


Technological Supernova   Software Development   Older   Newer   Post a Comment