TV on the radio

Not the most original title for a blog post but hey. As Yasser posted on the Radio Labs blog, this morning we launched a new visual radio player running alongside the Chris Moyles show this week and Annie and Nick on Sunday. This is the first stage trial in a new project and we are keen to find out what the audience thinks of it.

Visual radio player

The pop-up player presents a webcam feed of the studio so you can see Chris and the team as well as hear them alongside which we display images, now playing track information and incoming SMS messages. In addition to this you will also see barcharts and swingometers representing a public vote or poll.

I joined the project to develop the front-end which is an AS3 flash application built in Flex Builder 3. The components are made up of individual SWFs loaded as necessary and the client is driven through messages sent over the same infrastructure which powers the live text widgets on network pages and the Radio 1 tag cloud.

Early comments on the Radio Labs post and elsewhere have been really encouraging.

Radio Pop: social radio listening from BBC Radio Labs

Radio Pop homepage

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:

Radio Pop profile

It also displays what you’re currently listening to so anyone visiting the site can see what you’re up to.

Radio Pop listening 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):
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.

Radio Pop desktop widget

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.

Radio and videogames: nobody does it like GTA

Check out some of the radio stations you’ll be listening to in Grand Theft Auto IV. I just hope they bring back :-)

Roll on April 29th!

Scrobble your BBC Radio listening

Last year I wrote a Yahoo Widget which allows you to listen to BBC Radio and scrobble the tracks to your profile.

BBC Radio scrobbler

The profiles for Radio 1, Radio 2, 6 Music and 1 Xtra are now public (they were originally created under pseudonyms), so I thought I should update my widget and also write a version for OS X Dashboard. So I did.

You can read more about them on the BBC Radio Labs blog which accompanies our new Radio Labs site.

Or you can download them here:

Download for OS X
Download for Yahoo! Widgets (version 4.5 or higher required)

These are still in beta (and may never be otherwise) so please let me know if/when you find any glaring bugs!

Radio Pop, Olinda prototypes… its all connected

A few months ago, BBC Audio & Music interactive commissioned a project investigating future forms of physical radio devices. The successful company was Shulze & Webb and now they have finished the feasibility study of their proposal, Matt has posted some information on the project.

The prototype, codenamed Olinda, is essentially a very simple, very social radio; simple in interaction, modular in design. Through the inclusion of a hardware API and additional module, S&W propose to allow users to connect with their friends as they listen to the radio.

You tap pulse buzz

To fully achieve this, Olinda requires a web site to connect friends and devices. This is where a once-separate prototype comes in. Radio Pop.

Radio Pop

Radio Pop is the result of our latest six week semi-rapid prototyping project in the R&D team. At its core is a database which stores radio listening, upon which we can build various views. By introducing friends lists, schedule information and the ability to simply bookmark, or ‘pop’, a particular point in time, Radio Pop generates a great deal of information about listening habits. We purposefully kept the database very simple and specified an input and output API so that the repository could be accessed using web and desktop widgets as well as through the Radio Pop web site.

This is only my second Ruby on Rails application (my first will be going live in a couple of weeks for a trial, more on that very soon) and as such it is a little slow. However, the flash graphs we created demonstrate the sort of information a service like this could provide, both historical and live, as demonstrated by my Radio Pop live blog badge:

It is this ability to get live listening information which makes Radio Pop a perfect extension of the Olinda prototype (and vice versa). Olinda will provide a very simple way of listening to what your friends are listening to using Radio Pop as the method of communication. While you listen (using Olinda, through a desktop widgets or through Radio Player), a pulse event is sent to Radio Pop every minute, discretely tracking your activity.

Tristan has much more about the background to Radio Pop and our thinking around it.

BBC Radio Player + Yahoo! widget

UPDATE: I’ve updated the Yahoo! Widget and built one for OS X. Read all about it.

We all love But you can’t update your profile with songs as you listen to the radio.. until now. We have built a Yahoo! Widget which does just that. Sign in to your account and choose a BBC Radio station – Radio 1, Radio 2, 6 Music or 1Xtra – and the widget will display the current track along with some similar / recommended artists. The current track will be uploaded to your profile automatically (but you can always opt-out), or you can manually add each track.

BBC Radio widget

This is still an experiment / prototype / beta so I can’t guarantee that it will behave itself or that the service will continue, but please have a play and let me know what you think.

As the widget requires communication with multiple sources asynchronously I created an Ajax class which allocates an XMLHttpRequest object for each request and releases it once the call has returned. Feel free to unwrap the widget and dissect the code…

BBC Radio Player + Yahoo! widget

Telling you what you’re telling us… in tags

Midnight last night represents quite a landmark for myself and Tristan in the BBC Radio & Music interactive R&D team. The launch of Radio 1‘s new web site also saw the first piece of content written by our good selves.

Radio 1 incoming text tag cloud

The content in question is the tag cloud representing incoming SMS text messages to Radio 1. We process each message and collate a database of all non-offensive and non-common words. The top 15 words are displayed every minute and represent the last ten minutes of incoming texts. Tristan first built a prototype a few months back using Processing, running as a Java applet. The live client is written in Flash and was adapted from the livetext client which is part of most BBC radio homepages.

The layout of the tag cloud is meant to be random and non-overlapping as some words link to other Radio 1 pages. This was not something I was able to achieve using a fancy algorithm. In the end I created three ‘battleships’ layout patterns in which the words can sit anywhere within their allocated box. The four words with the highest frequency are given the largest spaces on the screen and are allowed to fill them, while the remainder are randomly positioned in their boxes and scaled proportional to their relative frequency. In the end the most important thing I learned is that throughout the layout procedure, words must be placed at random if there is the opportunity to do so.

It will be interesting to see how people react to it, because the tag cloud could display the (probable) answer to a competition or it could display some contentious opinions or simply an unfortunate group of words.

Talking rabbit tells you what’s on

Daden’s Nabaztag talking schedule bunny is a bizarre use of the BBC programme data I worked on but I think its really very cool and I want one. It makes building the API all the more worth while to see people using it in weird and wonderful new ways we could never have envisaged.

Annotatable Audio project

I have been part of a very exciting project in BBC Radio & Music interactive. The project was lead by Tom Coates and the team was made up of myself, Tristan Ferne, Helen Crowe, Paul Clifford and Bronwyn Van Der Merwe. The project is best summed up by Tom at plasticbag.

I am resposible for the Flash interface part of the project and am very pleased with the feedback it has got from fellow Flash developers and the wider web community. I learned a great deal in the short amount of time I spent developing the app and there isn’t a significant amount of work which needs to be done before it is a fully usable interface. Helen’s JavaScript skills allowed us to use Flash only where necessary and provides communication from the database, through Flash, to the page. As a team we recognised the power of Flash but also that it should not be over-used.

  • No recently listened tracks.