last.fm is great, and it gets better every single day. Part of its appeal is voyeurism. I love being able to see what my friends are listening to, but that usually requires going to the “What are my friends listening to?” page, which is still too much effort; I’m not that curious. But still, if somebody I know starts listening to something, I’d like to be alerted with a totally passive system.
There are, of course, RSS feeds for all kinds of things from last.fm. But there is no feed consisting of all your friends’ recent tracks, which is surprising because it’s such an intuitive idea. So implementing the ones that are available is ostensibly possible, but nevertheless tricky. I mean, logging into Bloglines or Google’s new reader still requires an active request for this information. And while there are some web services that will merge multiple feeds into a single one for you, I don’t like relying on a third party like that, one that may go down any day and that might insert advertisements into my feed.
It seems to me that there should be a very, very small program that sits in your system tray, checking multiple feeds regularly, then popping up a native Windows balloon with a link to the “article” every time there’s an update. This would be ideal for watching your last.fm friends. There are programs that do this, but they’re all full applications that only have this as an auxiliary feature. I can’t afford the memory.
So, finally, I found infoRSS. It’s a Firefox extension that adds a little ticker to the statusbar. Initially I wasn’t hopeful, as its default presentation is ugly and therefore indicative of poor programming:
The writer of this extension isn’t a native speaker of English, and there’s very little help available anyway. I spent a long time studying its many confusing features, confident that it could be made to do what I want. The result (shown at the top of this post) isn’t perfect, but is better than I had expected or hoped. There’s a nice little Audioscrobbler logo on the left; each entry is marked with the user’s avatar, which is far more efficient than if their name were displayed; and the listening status of everyone is constantly on display for me. Here’s how to do this:
First, in the options for the extension, click on the “Advanced” tab. Under “Default values,” check “# of news” and constrain it to 1 so that you only get the most recent item (I’m not sure that this is effectual, but in case it is, it would be helpful). Check “# of char/news” and constrain it to 20 or 30 (depending on how many friends you add later, things could get pretty cluttered). Check “Refresh Time” and change it to 2 minutes (last.fm will ban your IP if you make requests on a feed more than once per minute).
Now go to the “Main menu” section, still in Advanced. Make sure “Synchronize main icon with current group” is on, and “Flashing icon” is off (trust me, it’s really annoying).
Go to the “Basic” tab. Here’s where you’ll add feeds. First get rid of all the presets. Select them from the drop-down menu at the top of the window and click the “Remove” button at the lower-right. Now click the “New group” button and name it last.fm. In the “Icon” box, enter http://static.last.fm/matt/favicon.ico and click “Test.” Now, to add individual users’ feeds, click “New feed” and enter this URL: http://ws.audioscrobbler.com/1.0/user/USERNAME/recenttracks.rss. Replace “USERNAME” with the person’s username of course. In the “Icon” box, paste the URL for their last.fm avatar. Repeat for each user you want to add.
There’s more.
In the “General” section, turn off all the options under “General” (leave “InfoRSS activity” on), and set “Tooltip on headlines” to “Full headline.”
In the “Headlines area” section, “Location” dictates where the ticker will go (I prefer bottom). Turn off “Scrolling headlines”; the “Fade in/out” feature seems nice, but it’s buggy. I’m not sure what the “Cycling feed/group” options are for. Also, uncheck all the boxes in the bottom section.
Okay, in the “Headlines style” section, make those first three options On, Off, Off. The next three should be “Automatic,” “Auto,” “Default.” Also change the settings in the bottom box to “Auto” and “Default,” and uncheck “Italic” and “Bold.”
Go back to the “Feed/Group” section, and select the last.fm group from the drop-down. Click the check box next to the words “Check all” to add all the feeds to this group, and click the “Make current” button to set the last.fm group to be displayed.
Now, the most important step: click on the “Filter” tab. Under “Filter policy,” choose “Use active filters from both.” Set “Match” to “All.” Check the box next to the first criterion, and change it to “Headline # Equals 1.” This ensures that it only shows the most recent track for each person. Click the plus sign to add another criterion, and make the new one “Published date Less than 30 minutes.” This ensures that tracks are only shown if they’ve been played in the last half hour (or however many minutes you want). This must be the last thing you do before you finalize changes by clicking “OK.” If you change any other options after this, the criteria will be mangled by a bug in the program, and you will be forced to remove all the criteria, click “OK,” and go back into options again to reset the criteria.
That should do it. The Audioscrobbler icon at the far left will turn into a user’s avatar when it checks their feed. If for any reason you can’t get this to work for you, let me know.