Lee Kelleher

Last.fm Web Services

Posted on . Estimated read time: 3 minutes (369 words)

Last.fm Last weekend, the good folk at Last.fm revealed version 2.0 of their public API:

The new API introduces a user authentication protocol which for the first time allows applications to create user sessions, bringing both read and write services to web apps, desktop apps and mobile devices.

Take our new tagging API’s. Developers can both pull and apply tags to music content from any application on any platform now. The same goes for sharing – developers can build Last.fm sharing support into any app.

There are also new search, playlist, event and geo API’s being rolled out today, with lots more stuff planned in the coming weeks and months.

At first glance, I noticed that there were a couple of key features (to me) were missing – namely the “Get Similar Tracks” – the Last.fm staff reminded me that they are planning to roll out more features in the coming weeks and months! OK, okay… I’ll be more patient!

The new API feels and works like the Flickr API; with very similar convensions of the method/call names and authentication/token process.  This isn’t a bad thing – just that I feel they should be leading the crowd, rather than following it.  (The beta version of the upcoming Last.fm site is being critisised for being a “facebook clone”!)

Regardless of my negative comments, I’m actually a fan of the new API – being more structured and scalable.  I’m considering writing a .NET wrapper library (C#) for it too!  As I’ve got plans for a small iTunes/Last.fm playlist app, that would require it; (all open-source, of course).

Since the new API follows similar Flickr API convensions, it seems to make sense that I could/should base my Last.fm .NET wrapper on it’s Flickr counter-part…. Flickr.NET API.  The library is developed in a decent way – deserializing XML objects into the appropriate classes.  It feels a lot nicer to develop with, rather than messing around with XPath node selections!

Not sure when I’ll get the time to develop the library, as my contract work is as busy as ever!! Hopefully things will calm down in a couple of weeks!