33

sparkline

Wednesday, January 5th, 2011

The Super Awesome Music Blog Finder Thingy ™ - exfm labs

An excellent little service: give it your Last.fm username and it finds music blogs you’ll probably like. I’ve found a treasure trove of Huffduffer sources through this.

Thursday, December 16th, 2010

Archive Fever: a love letter to the post real-time web | mattogle.com

Matt encapsulates a lot of what I've been thinking about recently: the real-time web is all well and good, but let's not forsake the enormous potential for fulfilment in archives.

Monday, October 18th, 2010

Linked Data at the Guardian | Open Platform | guardian.co.uk

A great write-up of the latest additions to the Guardian's Open Platform API including a lukewarm assessment of Semantic Web technologies like RDF.

Tuesday, July 27th, 2010

http://www.last.fm/robots.txt

Best. Robots.txt file. Ever.

Monday, July 12th, 2010

What Was I Listening To? - Andy Smith

A cute little mashup: find out what you were listening to according to Last.fm when you were posting to Twitter.

Monday, October 5th, 2009

Small pieces, loosely joined by machine tags

I’ve already described how machine tags on Huffduffer trigger a number of third-party API calls. Tagging something with music:artist=..., book:author=..., film:title=... or any number of similar machine tags will fire off calls to places like Amazon, The New York Times, or Last.fm.

For a while now, I’ve wanted to include Flickr in that list of third-party services but I couldn’t think of an easy way of associating audio files with photos. Then I realised that a mechanism already exists, and it’s another machine tag. Anything on Flickr that’s been tagged with lastfm:event=... will probably be a picture of a musical artist.

So if anything is tagged on Huffduffer with music:artist=..., all I need to do is fire off a call to Last.fm to get a list of that artist’s events using the method artist.getEvents. Once I have the event IDs I can search Flickr for photos that have been machine tagged with those IDs.

There’s just one problem. Last.fm’s API only returns future events for an artist. There’s no method for past events.

Undeterred, I found a RESTful interface that provides the past events of an artist on Last.fm. The format returned isn’t JSON or XML. It’s HTML. It turns out that past events are freely available in the profile for any artist on Last.fm with the identifier last.fm/music/{artist}/+events/{year}. Here, for example, are Salter Cane gigs in 2009: last.fm/music/Salter+Cane/+events/2009.

If only those events were structured in hCalendar! As it is, I have to run through all the links in the document to find the hrefs beginning with the string http://www.last.fm/event/ and then extract the event ID that immediately follows that string.

Once I’ve extracted the event IDs for an artist, I can fire off a search on Flickr using the flickr.photos.search method with a machine_tags parameter (as well as passing the artist name in the text parameter just to be sure).

Here’s an example result in the sidebar on Huffduffer: huffduffer.com/tags/music:artist=Bat+for+Lashes

It’s messy but it works. I guess that’s the dictionary definition of a hack.

Saturday, October 3rd, 2009

Thoughtful

A few weeks back, I saw that Fanfarlo were going to be playing at The Hanbury Ballroom in Brighton this Wednesday. I figured I’d probably end up going to the gig so I marked myself as “maybe attending” on the event page on Last.fm.

Fast forward to last week and I’m browsing through the list of upcoming events in Brighton on Last.fm. I see that The Fiery Furnaces will be playing in The Prince Albert on October 7th. When I click through to the event page, this is what I see:

screenshot of Last.fm

Don’t forget you might be going to Fanfarlo at The Hanbury Club on the same date.

That’s nice. That’s really nice. It’s a small touch but it’s the combination of all those small things that adds up to a pleasant experience. This felt …thoughtful.

Of course, it still doesn’t change the fact that I have to choose between Fanfarlo and The Fiery Furnaces.

Fanfarlo — I’m A Pilot on Huffduffer

The Fiery Furnaces — The End is Near on Huffduffer

Thursday, May 14th, 2009

Where I’m actually living in augmented reality, Jefferson Airplane and what does this mean for photos. « geobloggers

Rev. Dan Catt's augmented reality future is here; it just isn't evenly distributed yet.

Sunday, January 25th, 2009

Machine-tagging Huffduffer some more

After I wrote about the hoops I had to jump through to get Amazon’s API to output JSON (via XSLT), Tom detailed a way of avoiding JSON by using XML-RPC. That’s very kind of him but the truth is that:

  1. I like dealing with JSON and
  2. the XSL transformation is done by Amazon, not me; that wouldn’t be the case if I used XML-RPC.

Anyway, having successfully created a Huffduffer-Amazon bridge using machine tags, I thought I’d do a little more hacking. Instead of restricting the mashup love to Amazon, I figured that Last.fm would be the perfect place to pull in information for anything tagged with the music namespace.

Last.fm has quite a full-featured API and yes, it can output JSON. To start with, I’m using the artist.getInfo method for anything tagged with music:artist=..., music:singer=... or music:band=.... Here are some examples:

I’m pulling a summary of the artist’s bio, a list of similar artists and a picture of the artist in question. For maximum effect, view in Safari, the browser with the finest implementation of .

Nice as Last.fm’s API is, it’s not without its quirks. Like most APIs, the methods are divided into those that require (anything of a sensitive nature) and those that don’t (publicly available information). The method user.getInfo requires authentication. Yet, every piece of information returned by that method is available on the public profile.

So when I wanted to find a Last.fm user’s profile picture—having figured out through when someone on Huffduffer has a Last.fm account—it made far more sense for me to use to parse the microformatted public URL than to use the API method.

Just over two years ago, Drew delivered a superb presentation called In some situations, the answer is definitely “Yes.”

Update: It all ties together, as Julian explains on Twitter:

@adactio ha, I went to Drew’s presentation you mentioned on your blog; it made me add microformats to Last.fm in the first place :D

Monday, December 22nd, 2008

Your Next Favourite Band

One of the runners-up in the Last.fm hackday, this is a simple little service that tells you what band you should be listening to.

Tuesday, December 16th, 2008

Hacking Huffduffer with Last.fm

The took place in London yesterday. Much nerdy fun was had by all and some very cool hacks were produced.

Nigel made a neat USB-powered arduino-driven ambient signifier à la availibot that lights up when one of your friends is listening to music. Matt made Songcolours which takes your recently listened-to music, passes the songs through LyricWiki, extracts words that are colours, passes them through the Google chart API and generates a sentence of cut up lyrics (Hannah’s was the best: love drunk home fuck good night). The winning hack, Staff Wars, is a Last.fm-powered quiz that allows people to battle for control of the office stereo—something that could prove very useful at Clearleft.

I knew I’d never be able to compete with the l33t hax0rs in attendance, so I cobbled together a very quick little hack to enhance Huffduffer. I hacked it together fairly quickly which gave me some time to hang out with Hannah in the tragically hip environs of Shoreditch. My hack has one interesting distinguishing feature: it doesn’t make use of the API. Instead, it uses two simpler technologies: microformats and .

  1. Microformats. User profiles on Last.fm are marked up with . If a URL is provided, the user profile also makes use of the most powerful value of : rel="me". If that URL also links back to the Last.fm profile with rel="me"—even if in a roundabout way—that reciprocal link will be picked by Google’s Social Graph API. I’m already making use of that API on Huffduffer to display links to other profiles under the heading Elsewhere. So if someone provides a URL when they sign up to Huffduffer and they’re linking to their social network profiles, I can find out if they use Last.fm and what their username is. The URL structure of user profiles is consistent: http://www.last.fm/user/USERNAME.
  2. RSS. Last.fm provides users with a list of recommended free MP3s. This list is also provided as RSS. More specifically, the RSS feed is a podcast. After all, a podcast is nothing more than an RSS feed that uses enclosures. The URL structure of these podcasts is consistent: http://ws.audioscrobbler.com/2.0/user/USERNAME/podcast.rss.

So if, thanks to magic of XFN, I can figure out someone’s Last.fm username, it’s a simple matter to pull in their recommended music podcast. I’m pulling in the latest three recommended MP3s and displaying them on Huffduffer user profiles under the heading Last.fm recommends. You can see it in action on my Huffduffer profile or the profiles of any other good social citizens like Richard, Tom or Brian.

This isn’t the first little Huffduffer hack I’ve built on top of the Social Graph API. If a Huffduffer user has a Flickr account, their Flickr profile picture is displayed on their Huffduffer profile. When I get some time, I need to expand this little hack to also check for Twitter profiles and grab the profile picture from there as a fallback.

None of these little enhancements are essential features but I like the idea of rewarding people on Huffduffer for their activity on other sites. Ideally I’d like to have Huffduffer’s recommendation engine being partially driven by relationships on third-party sites. So your user profile might suggest something like, You should listen to this because so-and-so huffduffed it; you know one another on Twitter, Flickr, Last.fm…

Sunday, December 14th, 2008

adactio's Songcolours

Matt's bit of fun from the Last.fm hackday. Hannah's had the best generated lyric juxtaposition, "love drunk home fuck good night."

Monday, December 1st, 2008

Best of 2008 – Last.fm

End of the year charts based on real data: "Based entirely on your scrobbling, this is a real look at what you've been listening to (not just buying). The charts are ranked by total number of listeners."

Wednesday, November 26th, 2008

Hack Day – Group at Last.fm

The first ever Last.fm hack day is taking place in London on December 14th. I'll be there.

Wednesday, July 30th, 2008

Roundabout is London's answer to Silicon Valley | News

The Evening Standard picks up the story of Silicon Roundabout: Last.fm, Dopplr, Schulze and Webb, Moo...

Tuesday, July 15th, 2008

Home – Last.fm

The Last.fm beta redesign is now available for the great unwashed masses to test.

Sunday, July 13th, 2008

Last.fm – the Blog · Last.fm for iPhone and iPod Touch

If, like me, you were going cold turkey on Mobile Scrobbler after updating your jailbroken iPhone/iPod Touch, you can stop sweating now. The official Last.fm app is really, really nice ...and it's free.

Sunday, June 8th, 2008

Next to Last.fm

Remember when I blogged about wanting to be able to scrobble the music that someone else in the same room as me is playing? Well, Brad Dougherty has built it.

Thursday, May 15th, 2008

Build Last.fm: Extend your Last.fm experience

Last.fm have gathered together the best apps built on their API and put them all in one handy browsable spot.

Sunday, May 11th, 2008

soundamus - new and upcoming music releases from the artists you listen to

A handy little service that creates an RSS feed of upcoming music releases based on your Last.fm listening history.