Developers, developers, developers

Friday, 27 June 2008
by anil
filed under Code
Comments: 30

I’m proud to announce our new public API, which allows any application or device deeper integration with the Last.fm platform than ever before. Our vision is the most comprehensive social music API on the web, and today marks a big step forward in that direction.


Last.fm Spiral by Sha Hwang, built with the Last.fm 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.

If you’ve been working with our existing services, bear in mind scrobbling is also integrated with the new API, so there’s just one session key required to use any Last.fm service now.

If you want to work with Last.fm services or have done so in the past, don’t forget to join our new Last.fm web services group to provide feedback & suggestions as well as discuss your application ideas. From tour planners to batch tag editors, we can’t wait to see what you come up with – you’ve consistently surprised us with imaginative ideas so far and we have no doubt in your ability to get on your feet and make it happen.

Happy hacking: www.last.fm/api

Last.fm freed the video star

Tuesday, 17 June 2008
by chrisr
filed under Announcements
Comments: 35

We brought you free-on-demand music in January. Now it’s time for some free video action. We’ve been working with Universal Music Group to provide their awesome catalogue of music videos to the Last.fm community, and we’re excited to announce that as of today you can now access thousands of videos free-on-demand, ranging from new releases, to back catalogue classics like Nirvana.

We’ll be adding new content over the coming weeks, as well as regularly updating with new videos from UMG as they get released. So expect to see more content appearing and catalogue gaps being filled very soon.

Some links to start exploring:

Last.fm/Presents Lightspeed Champion in NYC

Wednesday, 11 June 2008
by adams
filed under Announcements
Comments: 3

The last time New York saw a 7th of June this hot, the Bowery Ballroom hadn’t yet been built. It was 1925, and Delancey Street on the Lower East Side was bustling with energy: this neighborhood was once the most densely populated place on Earth. 83 years later and the Ballroom is legendary – and tonight no less densely populated, as we launch our first ever Last.fm/Presents US live shows, in partnership with The Bowery Presents and a headliner who first appeared on our Hype Chart last August.

Kicking things off, The Explorers Club slice out guitar solos with the same sincerity they harmonize on every Beach Boys-esque “ooh” and “aah”. During “Don’t Forget The Sun” (as if we could today!) they croon, “I wish this summer sun could last the whole year long”, their voices lulling us like sunstroke’s setting in.

Flowers Forever, a recently-formed side project of Tilly and the Wall’s Derek Pressnall, takes the stage next under eerie purple-green lights and cut-outs of disembodied heads. Though dense and dark, Flowers Forever’s set is shot through with melody, and lifted by lilting vocals that evoke the Omaha scene (think Conor Oberst, Tim Kasher) they emerged from.

Lightspeed Champion follows, and despite an impressive US breakout at SXSW, critical praise for his album Falling Off The Lavender Bridge, and a spot on the Conan O’Brien show the night before, LC’s Dev Hynes displays a refreshingly self-deprecating “who, me?” attitude. He weaves between full band accompaniment (including Keith Murray of We Are Scientists on the opening song), solo guitar, and a stint on the keys, indulging in friendly banter with the audience throughout. When a fan calls out for Dev to comment on the finale of Lost, he sidesteps the request, assuring us we wouldn’t want him to get into it, and breaks out instead into his trademark Star Wars medley.

We captured the Lightspeed Champion performance on video, and you’ll have the opportunity to see it, along with an exclusive interview of Dev, over at Last.fm/Presents soon. Also, stay tuned for the chance to win a signed gig poster.

Thanks to everyone who made it out to the show last Saturday. Our series of US shows continues on Wednesday July 9th with Fleet Foxes and The Dutchess & The Duke at the Bowery Ballroom. See you there!

Last.fm radio – now in a kitchen / bedroom / living room near you!

Tuesday, 10 June 2008
by lizrice
filed under Stuff Other People Made and Announcements
Comments: 29

I’m a big music fan, but one way and another I don’t really listen to all that much music while I’m sitting at my PC. That’s probably why I’ve always been excited about getting Last.fm onto other devices where you listen to music. Today, our friends over at Logitech are adding official support for Last.fm radio on their family of Squeezebox products, opening up a really easy way to get Last.fm music in any room of the house. Here’s the Squeezebox in my kitchen, playing my radio station next to the toaster. (In my book, music at breakfast time without all that cheery, chatty early-morning DJ patter is a significant step forward for civilization.)

For the time being, we can only bring Last.fm radio to Squeezebox owners in the US, UK and Germany, but we’re working on extending this to other countries (sorry to the rest of you – watch this space!)

Searching with my co-monkey

Thursday, 5 June 2008
by jonty
filed under Code and Announcements
Comments: 10

Some of you may have been following the news around a new Yahoo! service named SearchMonkey, a platform that opens Yahoo! search to external developers.

In layman’s terms, it allows an application developer to inject extra information into specific results, delivering a richer search experience.

This probably makes more sense with a few examples:

  • What if Facebook profile results had the photo of the person in question?
  • What if IMDB results had the movie rating right there in the search result?
  • What if Flickr results had a selection of pictures from the photostream?
  • What if Last.fm results had useful information about the artist in them?

Something like this perhaps?

SearchMonkey launched to the public just a few hours ago, and we’ve been playing with it from the beginning, testing the platform, making suggestions and ultimately producing a SearchMonkey application for you all to use.

The first version of our application deals with artist, album and track pages giving you a useful extract of the biography, links to listen to the artist if we have them available, tags, similar artists and the best picture we can muster for the page in question.

If you’d like to try it out, you can find it over here in the Yahoo! search applications gallery.

So how does it work?

Anyone can develop an application for the SearchMonkey platform that works for any URL. However you need to add individual applications to your Yahoo! search preferences for them to take effect; this opt-in helps ensure that a malicious application developer can’t affect everyone.

When you search on Yahoo! after adding an application, SearchMonkey scans through the list of results testing if the application is set to trigger on their URLs. Once a qualifying URL has been spotted, the app either (a) automatically uses embedded microformats, or (b) uses a dedicated webservice (built by the application developer) to extract information about the page.

Finally, it uses an xslt transformation to translate the extracted data into the DataRSS format which is finally parsed (via a custom PHP class) into a format suitable for the search results. Ace.

It’s been fun working with Yahoo! on this small but useful application. Give it a try and let us know what you think!

Guerrilla user testing in central London

Saturday, 31 May 2008
by mattb
filed under Design and Tips and Tricks
Comments: 25

Our new baby, beta.last.fm, has been out of the office incubator for about a week now, and as we feed and water her, we’re keeping a careful eye on how she’s been getting on in the subscriber enclosure before we release her into the wild.

First up, MASSIVE thanks and ‘nuff respect (as the kids say here in London town) to everyone for their feedback, suggestions and ideas so far.

We’re always experimenting with loads of ways to help make the Last.fm experience more and more awesome: in-page feedback and commenting, the Last.fm Beta Group, Get Satisfaction, chatting to our mums, impassioned debate over ping pong or in the ball pool; the list goes on. One of the most fun ways, though, is getting out there on the street, face-to-face with people, chatting and finding out how we can make stuff better. So, yesterday, I strode into central London with a laptop, some screengrab software and the promise of free coffee and cake.

Grabbing a seat at the nearest café with wifi, I arranged to meet a few people in the area (long-time users who’ve been with us for years; new users still discovering what we do; friends and relatives; random people off the street; anyone with a spare twenty minutes, really) to show them beta.last.fm and watch them having a play with it. Loose, informal user testing — or, to use its technical term, ‘chatting to and watching people try out our new ideas over some free coffee and cake’ — is fascinating, great fun to do, and, combined with our other feedback-recording methods, as I believe Mr. Matthew Ogle, Esq. will discuss, reveals fantastically rich layers of information that really help us improve the Last.fm experience.

Right now, back at HQ, we’re working flat out (though, at the time of writing, it is Friday, so we’ll be having a few down the Arthur too), mashing all this feedback and observation together to help us tweak, polish and rethink our ideas and plans as we move forward to a public release of beta.last.fm as soon as possible.

Once again, thanks, and big up to everyone for the feedback so far. We’re listening to everything, and working directly with your help, so keep keep keep it coming.

PS fidothe, alexmuller, molluskii, camilondon, brooner, and clacaby – pleasure to chat to you today.

Python + Hadoop = Flying Circus Elephant

Thursday, 29 May 2008
by klaas
filed under Code
Comments: 19


As a research intern here at Last.fm, dealing with huge datasets has become my daily bread. Having a herd of yellow elephants at my disposal makes this a lot easier, but the conventional way of writing Hadoop programs can be rather cumbersome. It generally involves lots of typing, compiling, building, and moving files around, which is especially annoying for the “write once, run never again” programs that are often required for research purposes. After fixing one too many stupid bugs caused by this copy/paste-encouraging work flow, I finally decided to look for an alternative.

The sluggishness of the conventional Hadoop work flow is mainly caused by the fact that Java is a very verbose and compiled programming language. Hence, finding a solution basically boils down to replacing Java. Since simplicity and programmer productivity were my main goals, it didn’t take me too long to decide that I wanted to use Python instead. The approach described here is the most convenient way of writing Hadoop programs in Python that I could find on the web, but it still wasn’t pythonic enough for my taste. The mapper and the reducer shouldn’t have to reside in separate files, and having to write boilerplate code should be avoided as much as possible. To get rid of these issues, I wrote a simple Python module called Dumbo. The word count example can be written as follows using this module:

def mapper(key,value):
   for word in value.split(): yield word,1
def reducer(key,values):
   yield key,sum(values)
if __name__ == "__main__":
   import dumbo
   dumbo.run(mapper,reducer)

Compare this to the 60 lines of code required to do exactly the same thing in Java! On a UNIX machine, this program can be run locally by executing the command

python wordcount.py map < wc_input.txt | sort | \
python wordcount.py red > wc_output.txt

and running it on a Hadoop cluster is as simple as typing

python -m dumbo wordcount.py \
-hadoop /path/to/hadoop \
-input wc_input.txt -output wc_output

To put some icing on the cake, Dumbo also offers a few handy extras. You’ll have to read the documentation or even the code to discover them all, but one worth mentioning is that you can implement combiner-like functionality by passing a third parameter to “dumbo.run”. For instance, the amount of network traffic can be reduced substantially in the example above by adding “reducer” as a third parameter to “dumbo.run”.

Obviously, the combination of Hadoop Streaming and Dumbo is not a one-size-fits-all solution. Java code is still faster and provides the programmer more flexibility and control. Even with several liters of the finest Belgian beer, there is no way I could convince Johan or Martin to port their heavy regularly-running Hadoop programs to Python. In many cases, however, it makes perfect sense to trade some speed and flexibility for programmer productivity. It definitely allows me to get more work done in less time.

Import Loved Tracks Into Facebook

Tuesday, 27 May 2008
by Toby
filed under Tips and Tricks and Announcements
Comments: 32

Last.fm and Facebook have teamed up to give you a super easy way to get your Last.fm loved tracks into your Facebook feeds. Starting today, you can click “Import” on your Facebook Mini-Feed (the one on your FB profile page) and enter your Last.fm username, then… actually that’s all you have to do :) From that point on, all tracks that you love on Last.fm or in the Last.fm client software will show up in your Facebook feeds.

We’re looking at eventually exposing more Last.fm actions into the feed, but thought this was a great way to start. See below for screenshot goodness.


Enter your user name




Facebook finds your account




Loved tracks show up in your feed

Building the Next Last.fm

Wednesday, 21 May 2008
by flaneur
filed under Announcements
Comments: 122

Since 2002, Last.fm’s determined team of music lovers has been on a mission to make online music easier, better and more discoverable.

We’re still working as hard as ever halfway through 2008, laying the foundations for a next-generation Last.fm. We’ve modernised the Audioscrobbler engine that powers the site, and have been exploring new ideas aligned with the different ways music on the internet works today.


(From the Flickr set Building Last.fm)

Calling all subscribers

This is where you come in. One of our goals is to make all the world’s music available to everyone, and a more accessible service is a big part of that. But we certainly can’t create it without your help and input.

So, rough edges and all, we want all you subscribers — Last.fm’s ambassadors, if you will — to have first crack at the newest version of Last.fm. And we’d love to hear not just what you think, but what the less initiated Last.fm users around you think too.

What’s new? A whole lot, but here are few highlights:

The library. Your entire Last.fm music profile made visible, down to every last artist and track. Add to it by scrobbling or with the click of a button. Browse it, play it, and get new music recommendations based on it.

Real-time charts. Yes, finally! Every track you scrobble gets added to all of your charts. Instantly. No more waiting for Sunday and praying to the chart gods…

Plus… Activity feeds, all-new visual styles, an improved music player, sharing, podcasts, and more.

We’re only getting started, but feel free to have a play, give us your feedback, and help spot bugs.

We’ll be expanding the beta and opening it up to more users in the coming weeks. In the meantime, subscribers can find out how to access the beta site now at the Last.fm Beta Group.

Welcome to our Playground

Tuesday, 13 May 2008
by elias
filed under Announcements
Comments: 61

We’re finally launching playground.last.fm!

One of the best things I discovered after joining Last.fm was the playground – a hidden website where my colleagues showcased their weekend projects. The projects ranged from computing interesting stats or alternative recommendations to complex visualizations. However, many of the projects never made it onto the main site. Sometimes it was not clear where the project would fit, and sometimes it would have required some additional work to make it scalable or compatible with different browsers.

Anyway, to cut a long story short: we’ve finally decided to launch a public version of our playground site. We’re starting with 3 demonstrations which Klaas put together for us: multi tag search, artist name variations, and a weekly chart of the most frequent top 10 tracks.

All these demonstrations currently have an expiry date that will depend on the feedback we get. You can send us an email (however, we can’t promise to reply to every email) or discuss your views with others in the forums.

By the way, the image we use on playground was taken on the Last.fm roof top with balls from our ballpit (our design team sits right next to the ballpit, so that might have been a source of inspiration). Special thanks to Afonso, Marcela, Seb (who can be seen in the image), and Eva for battling the wind on our roof!

Multi Tag Search

This one is my personal favourite of the current demonstrations. It enables searching tracks and artists by one or more tags. The results can be sorted/filtered by popularity, free downloads, or up-and-coming. Here are some examples:

It’s also interesting to compare different lists to each other. For example, to see how “alternative” changed over time: 60s, 70s, 80s, 90s, 00s.

Artist Name Variations

This demonstration gives some insight into the data we’ve been gathering from our fingerprinting efforts. Any questions regarding that data can be answered by Erik, who has a brief interjection below. The demo shows common name variations we find in ID3 tags. For example, here are some of the common variations for Guns N’ Roses.

Speaking of Artist Names…

The metadata project is only just getting underway, but we’ve already collected half a million votes. This has proven super-valuable to highlight cases where our data is incorrect (such as EastWest Rockers), where no one seems to agree (is it AN CAFE, ANTIC CAFE, Antique Cafe, or the original Japanese アンティック-珈琲店-), and even a few Zen koans (how DO you spell Original Cast ?). Stay tuned for more, as this is just the first step!

Most Frequent Top 10 Tracks

This demonstration is basically a weekly chart of popular tracks. We’ve been following the chart for some time now, and it’s very different from the official weekly chart. For example, Radiohead tracks do not show up as often.

This most frequent top 10 chart is computed by counting how often a track occurs in a scrobblers top 10 tracks every week.