Last.FM, and MyLastFM - an open source c# player for Last.FM radio

Summary: Last.FM is cool, but their player desktop application is pretty horrible. MyLastFM is the beautiful player that Last.FM deserves. myLastFM has always been free, but now it's better than ever and open source.

What's Last.FM?

LastFM logo Last.FM is difficult to describe. The best way to understand it is to take 2 minutes, get a free account, and try it out. I've been a fan of Last.FM ever since I stumbled across it while searching for info on a new album last fall1, and saw detailed reports on the musical preferences of individual listeners. It's been compared to other music recommendation engines like Pandora, but I immediately saw something much more interesting: the first useful example of Attention data I've seen. That's a killer combo - I'm into music, I'm very interested in Attention data.

So here's my elevator speech on Last.FM: LastFM is "myware" - spyware used for good.  You sign up for a free account and install the plugin for your favorite music player (iTunes, Windows Media Player, Winamp, etc.). The plugin uploads the name and artist info for each song you play to your personal profile. Then, you wait... Two cool thing happen after a bit:

  1. You get personalized charts that show your favorite songs and artists, both recently and all-time. That alone is worth a few minutes to set it up - a free service that shows you what you're listening to is a cool idea.
  2. After you listen to 100 songs, you get recommendations and a personal radio station based on the music you've been listening to. What's cool is that they figure this out based on other Last.FM listeners who listen to the same sort of music you do rather than trying to figure it out, which I think is a better approach. Sweet goodness, we've got ourselves a collaborative filter. They definitely get the whole long tail thing, too - check out the cool recommendations slider from popular to obscure. If you pay $3 a month, you get a few more radio staions which is kind of cool. Now, lotsa folks would get hung up on the personalized recommendations, but I think insight into your own personal profile is as least as interesting. That's not to say that the recommendations haven't been interesting, but I've been surprised by how interesting it is to see detailed charts on my musical tastes.

But, the personalized radio player that Last.FM offers is lame. Try it if you don't believe me. Last.FM's radio station architecture is pretty cool, though. The official player actually just calls webservices which control an MP3 stream, so you can build separate controller programs which call the webservices and launch default music player application (iTunes, WMP, etc) to play the MP3 stream. I started poking around at the webservices last October, thinking I'd write write my own player. In my searches, I stumbled across myLastFM.

Meet myLastFM

There are actually a few custom Last.FM players out there, but the coolest by far is Eric Willis' myLastFM. Eric wrote this c# winform app back in January 2005 and it quickly developed a devoted following. When I tried it, though, back in October 2005, it hadn't been updated for a while and wasn't up to date with the latest webservices so some of the features weren't working. I got in touch with Eric and helped out on the 0.8 release, which works with the latest standards, and includes a lot of great features like a built in MP3 player, auto login, and support for WMP as an external player. This release is also the first open source release of myLastFM - we put it out on SourceForge (thanks again for the great SourceForge project setup walkthrough, Phil!).

We'd love some help on the project, so let us know if you'd like to get involved. Working on an open source project is probably the best single thing you can do to grow as a developer. What's more fun than working on a music player that always plays your favorite songs?

 Please use the Sourceforge bug tracker to report bugs or problems, not the comments section of this blog post.

1Okay, honestly, I was egosurfing to see if anyone liked a remix I'd done.



  • It looks like a great player, but it doesn't work on displays set to a higher dpi, such as mine.

    My display is set to 120 DPI, and the skin for the app is horribly mismatched from the logical placement of the buttons, making it unusable.

  • I know Eric Willis, lol, I'm suprised to see this project still a live in a new form! Go Eric! lol

  • Ah yes, Andy, the 120DPI issue... I remember that. I only ever got one email about it and that person didn't realize they had their DPI set to 120 and just changed it.

    Nice post, Jon :)

  • thanks for the pointer to the player.

    but i wonder if you have any music i can listen to that isn't apple constrained?

  • @Gulli - I edited your comment and moved your bug on the bug tracker on Sourceforge. I'm not sure right away what this is - it sounds like it could be a network connection / firewall issue, or a problem with the login. Please follow up on the SourceForge bug tracker. I'm going to delete any other bug report / troubleshooting comments on this blog going forward.

    @james - Not sure what you're talking about. There's no Apple angle here. You don't need iTunes to use Last.FM or myLastFM. Both should work with just about any popular music player.

  • I don't know if this works with iTunes radio stations, but it would be great if it did.

    I would love you forever if this was possible.

  • Oh, great! An alternative to the lousy player was my first thought. The second one was: What! It doesn't run on Linux platforms....

    Please, please fix this "bug".

    Greetings Nils

  • That what I want.
    Thanks for your work.

Comments have been disabled for this content.