The story of PandoraFM

At last Thursday's "Pandora Listener Town Hall" in Omaha, an attendee raised his hand and asked Pandora founder Tim Westergren if his service had any future plans to open up their API (application programming interface) to allow developers to build web apps on top of Pandora and user data. The attendee, Omaha developer Gabe Kangas

Pandora founder Tim Westergren speaks to a crowd of 240 at the Durham Museum’s Stanley and Dorothy Truhlsen Lecture Hall on Thursday, November 11. Photo by Danny Schreiber.

At last Thursday’s “Pandora Listener Town Hall” in Omaha, an attendee raised his hand and asked Pandora founder Tim Westergren if his service had any future plans to open up their API (application programming interface) to allow developers to build web apps on top of Pandora and user data.

The attendee, Omaha developer Gabe Kangas (left, photo from gabekangas.com), said that in Pandora’s first few years he had worked with Pandora CTO Tom Conrad on an app that connects Last.fm with Pandora. The app, PandoraFM, allows Last.fm to keep track of every song a user listens to on Pandora.

When Westergren heard this line from Kangas, his attention perked. “Oh, that was you?” he said. Westergren went on to say that because of legal reasons and in order to protect the data of the Music Genome Project, they won’t be able to open up their API anytime soon.

Westergren did say, however, that he sees Pandora themselves further experimenting with its data in the future. For example, he talked about showing artists a “thumbs up tour,” which would essentially be a list or map with the cities where their music has received the most “thumbs up” from Pandora users. This, Westergren said, could help bands better plan tours. (Jimmy Winter of Omaha-based RockDex provides a similar service to bands and record labels – see rockdex.com – but like other developers, hasn’t been able to include Pandora data in his analytics.)

Screenshot of PandoraFM’s website, pandorafm.real-ity.com.

Following the event, I approached Kangas and told him that I’d like to hear more about PandoraFM in the near future. This past Sunday he sent me the email below which gives the full backstory. Kangas has granted us permission to publish it here:

From Gabe Kangas:

You mentioned wanting to learn a bit about PandoraFM. Normally I’d just say it’s no big deal and there’s nothing to tell, but it’s kind of a cool story.

I had been a big user of Last.fm (last.fm/user/gabek). It allows you to keep track of what music you listen to and then creates charts and recommendations among many other really cool things. You install a little app called a “scrobbler” and it pays attention what’s played in itunes, winamp, iPod/iPhone, etc and report it to Last.fm for processing.

I really enjoyed Pandora when it came out, but the thing I couldn’t stand was the fact that every song I listened to in Pandora wasn’t being tracked in Last.fm. And I liked having an accurate play count 🙂

I started reading the Last.fm forums and other people were saying the same thing, wishing there was a way to tie Pandora track plays into the Last.fm system. So I thought I’d try and tackle the challenge.

I took some time to reverse engineer Pandora.com‘s javascript and found how to access the artist and track names, and then built a backend system that would submit that to Last.fm. I offered what I found to the community so everyone could build their own solution out of it. And that’s when I learned people don’t want to build things, they want to use things.

So I took what I figured out and built the first version of PandoraFM that others could login and use with their Last.fm account. This required me running the hacked Pandora.com code on my own server and embedding the Pandora.com “tuner” on my own page as well.

Though as a side effect of me running my own version of Pandora none of the Pandora.com ads would be displayed. Pandora caught wind of this and I woke up one day to an email from Tom Conrad, the CTO of Pandora.com saying “call me,” and left me his cell phone. I was pretty sure a cease and desist order was coming my way. But it was just the opposite, he understood that I was offering a service that a large number of people wanted and he didn’t want to take that away. He just wanted it to be a bit more official and supported.

So I worked with an engineer at Pandora and the first version of the Pandora.com API was released, at the same time me releasing a new version of PandoraFM supporting it. I threw in new features like tagging a song you listened to on Pandora with your Last.fm account and creating Last.fm stations based on Pandora songs. Since that time over 12 million tracks have been listened to through the PandoraFM interface and it’s been featured on numerous tech blogs (also named one of the “Most Useful Sites of 2006” in the mashup category by PC World magazine).

Since then people have been building their own versions of PandoraFM using the project I open sourced, and even though my old version 3 is ugly and out-dated, it’s still running strong. People keep using it! Though now I send people to use other builds that people have made lastpandora.com/faq) instead of mine.

The end!

Some links:

JOIN THE MOVEMENT!

Sign up to receive daily updates in your inbox.