Today we launched Radio Pop, a social network around BBC radio. Its a project which has been around for over a year now and its great to finally get it out for people to start playing with. Listening to BBC radio through Radio Pop gives you some (hopefully) interesting information and what you’ve been listening to and what your friends have been listening to. When you hear something you really like you can ‘pop’ it – that’s Radio Pop vernacular for bookmark
The Radio Pop site is about displaying your listening, your friends’ listening and everyone’s listening. Your profile displays your recent activity along side your favourite stations and programmes (or brands to be more specific). Here’s my profile:
It also displays what you’re currently listening to so anyone visiting the site can see what you’re up to.
At the moment, we’re not doing all that much with all this listening data but in the future we are looking to provide recommendations and personalisation (no self-respecting web app can be without them!) and perhaps more integration with other BBC services. In fact its a good point to make that Radio Pop would not be the service it is without our excellent BBC programmes catelogue which provides us with schedule data and unique IDs for every programme, series and brand. While we’re not using the data in interesting ways as yet, we set out to make Radio Pop accessible and extensible so you can use your data for your own apps and mash ups.
For example, here’s my profile (including what I’m currently listening to): http://www.radiopop.co.uk/users/fridayforward.xml.
And here’s my recent listening:
Its also available as an RSS feed.
I built an example app using user profile data so you can tell your blog readers what you’re listening to:
Check out the API documentation for more information on our feeds. The blog badge is available from the extras page where you can find an OS X widget which allows you to listen to BBC radio through Radio Pop from the comfort of your desktop.
So that’s Radio Pop. But how does it all work?
Radio Pop is a Ruby on Rails application (because that’s where our experience lies) which runs on nginx with the fair proxy balancer module and memcached caching (because its needs to handle a large number of requests). We support OpenID for login (along side a standard username and password) as well as OAuth for communication between Radio Pop and any clients which post data to it (including the desktop widget). This means we have an input API as well as an output API, should you want to build an on-demand Radio Pop player…
Tracking your listening is done quite simply, through a ‘pulse’ sent every 60 seconds. When you change the station you are listening to or listen over a programme boundary, the pulses are combined into a single ‘listen event’. Once this happens it will appear on the graphs on your profile and in your listening history. When you stop listening (and therefore stop sending pulses) a listen event is created after 5 minutes of inactivity.
I should point out that a lot of the initial development for this version of Radio Pop was done by Mint Digital, who worked from our initial internal prototype. Thomas from Mint also advanced my Rails and nginx knowledge ten-fold. At least.
Please check it out, sign up and start listening.