skip main content

Posts Tagged ‘Radio’

Visualising Radio, pushing, not pulling

posted by Duncan at 10:21 pm on January 12th, 2009

This morning the department I work for at the BBC launched a new visual radio player. You can find out all about the motivation behind the product from my colleague Yasser, over on the Radio Labs blog, but as one of the engineers on the project, I thought I’d give a quick overview of the different technologies we used to create the experience. There will also be a technical overview on the Radio Labs Blog too.

Visualising Radio

So, the big news here is that we are pushing and not pulling. Ordinarily, you would request a webpage using your browser and a some data would be returned. The only way that you would then subsequently see any changes to that data, would be if you requested it again, or if something on that page requested it for you, maybe via polling.

We decided to go the other way, and push information to the page. When the user opens up the Visualising Radio Client, (a dumb, but not stupid Flash application), the first thing it does is create a XMLsocket connection back to a server. This means that we have a path back to that client, and it’s the same for all the others that are connected.

On the server side we have our admin console. This is a Ruby on Rails app (2.2.2) and allows the studio team to prepare content to send to the clients. We also have a bunch of background processes running that prepare our databases, and do various other tasks including sending messages to our message broker.

So, if the Radio team want to push content to all the people connected via the Visualising Radio console, they will activate the specific module they want to show and a chain of events occur. At at a high level, are:

  • A message containing a url to a resource is put on a queue on our ActiveMQ message broker
  • A process watching this queue, see’s the message and parses it
  • A request is made back to the resource url above, which returns some XML
  • This XML is then posted to a server
  • This server then sends this data off to all the clients connected
  • The client parses this XML and displays the information to the user

This all happens very quickly, and is very effective. Especially in the fast paced environment of a radio show.

The trial continues for the rest of the week with Chris Moyles, check it out and see what you think.

We’ve added some iCal views to BBC Programmes

posted by Duncan at 8:41 pm on July 17th, 2008

I thought I’d do a spot of PR on some work we have just pushed out. I have written about it on the BBC Radio labs blog, so I’ll just be brief here.

Basically, we have added a bunch of iCalendar views of the /programmes data. You can for example subscribe to an iCal view of the 6 Music schedule, or episodes on the BBC that are coming up, that belong to the genre Sport/Golf. What this means is, that your calendar of choice would then display this information along with your regular calendar data. So you would know that:

  • 09:00 Go Swimming
  • 12:00 Lunch with Ellen
  • 19:00 Gardeners World – BBC One London
  • 21:00 Tom Robinson – BBC 6 Music

Pop along to the link above and check them out for yourself, I’d be interested to here what you think are good .. or bad about them. Below is a screen-grab of some subscriptions as seen in Google Calendar.

Google Calendar

[UPDATE]: Just want to be clear on the webcal and http parts of the url. If you are using copying and paste to add the iCal link into Google Calendar, Apple’s iCal etc, then the link can start with http just like any other. If on the other hand you are providing the link for someone to click on, if you start it with webcal, and the user is on a machine that understands what that means (Mac and PC if you configure it) it will do the right thing. If you’re not sure, use http://…etc.

BBC Radio facebook app

posted by Duncan at 1:34 pm on June 24th, 2007

[Update]: It’s now running on it’s own EC2 instance using Apache and Mongrel. So far so good.

I’ve been playing with facebook recently and have built my first app. It simply lets you display your favorite BBC Radio channels in your profile with a link to play and information about who’s currently on. Go install it and let me know what you think.

BBC Radio in facebook

It’s a rails app that uses the BBC Web API (beta) to find all the schedule information. In order to push all the updated show info to facebook there is a cronjob running that in-turn runs a rake task in my rails app to look for new data. If it finds any it pushes that data to handles within my facebook app’s namespace and each users profiles fetch data from these handles.

It has been a bit of trial and error along the way due to facebooks API being very new; Their documentation being lacking and incorrect at times, and Oh, their crazy session handling. I’m sure these things will be addressed in the future. They use a push system when it comes to showing stuff in people’s profiles. So in order for me to stop making more and more requested to facebook’s server every time a new user, and networks chosen, I’m using the handler approach of sending data about each network to facebook. The users profile then just collects the network info from facebook when it needs them. This means that hopefully the app won’t die the more people use it (saying that it dies already once, but that was out of my control). It’s actually running on one mongrel instance at the moment until I sort out mongrel clusters and apache proxy forwarding. Not ideal but we’ll see what happens.

I can see why the likes of flickr and lastfm have not created crazy apps yet. In fact I don’t see how they can currently. Without posting info about every user up to facebook every few minutes their apps are gonna struggle to be useful.

Gaydar radio rules, ok?

posted by Duncan at 9:05 pm on June 22nd, 2006

I bought a digital radio about 6 months ago now and it’s been a revalation. Not because you can get *danger work plug alert* loads of great stations from the BBC, but because you can also pick up Gaydar radio.

Me and the Girlfriend share different chores around the house and when it comes to food, the rule tends to be that she cooks. The reason being, I could and would burn water, and she’s a fabulous cook and enjoys it. My part of the deal is to leave the kitchen like a new pin.

This works really well and also gives me a chance to listen to the radio in the kitchen. Now I don’t know about you but the last thing I want to listen to when I’m doing the dishes in some Radio 4 chat show or Radio 2 Country program. I want something cheesey to sing along to and that’s where Gaydar comes in.

I don’t know about during the day__I imagine it’s the same old daytime commercial crap__but in the evening it’s cheesy dance music all night long. Fantastic! Doing the dishes will never be the same again.

BBC Listen Live OSX Widget

posted by Duncan at 1:04 pm on July 4th, 2005

[UPDATE] Hurrah, just got back from stage one of my holidays and I’ve just found out that we’re on the Apple site now.

After what seems like an age, we have managed to get the BBC Listen Live Widget live. This is a Dashboard Widget requiring MAC OSX Tiger and the Real Player Plugin.

I finished it around 2 months ago and had been close to bursting as I saw the stream of other radio player type widgets appearing every week. With a big help from Tom who provided the graphics and decided the feel of the player, we have a great little utility thats sits in the background and allows you to listen to BBC national radio stations on your desktop computer as if it had a built-in radio.

BBC Listen Live Widget

You can download it here: BBC Listen Live Widget and I guess via Apple’s site if they decide to stick it up there. We would also appreciate any feedback, as this will allow us to go forward and improve it in the future.

Odeo, Itunes and podcasting

posted by Duncan at 2:43 pm on July 2nd, 2005

So I have been I had been using Odeo for a good few weeks and still like it a lot. I love the idea, but I guess on a personal level I actually liked the whole interface and web experience more. It is so well thought out and clean. It’s a joy to use and proves how cool web applications can be.

There’s obviously a lot of DHTML (I’m trying to stop using the A the word), which gives it that very functional pretty layer. I also love the touches of Flash, only where needed. This is something I talked to people a lot back in the early Flash 5 days when I was much more into using the medium. Back then it was trying to get across that making Flash intros is bad as is making a predominantly text based site Flash only.

Getting back to Pod-casting, I have also just downloaded the new version of itunes (4.9) and have been trying the Pod-casting functionality in that. I have to say I am preferring the itunes way right now just because it is all integrated and therefore much simpler to manage. They still have some work to do though. Like my friend Jamie was telling me, it would be good it you could choose to just keep the last X downloads of a subscription. You can only do this globally at the moment. This would be useful because sometimes I want to keep every download in the case of Mixes, but in other cases I just want the latest to be kept in the case of things like latest film reviews.

One of the little things I like about Odeo is that they produce an RSS feed of the items you are subscribed to and have not downloaded. I have this in the right hand side of whomwah homepage and it is useful for me to see when I need to go back to Odeo and download the latest stuff. I know I could just keep the odeo app running all the time but I try to keep the amount of apps I have running down to the important ones.

BBC Radio Player V2 launches

posted by Duncan at 6:38 pm on January 30th, 2005

I see that we launched a new version of the BBC Radio Player as expected while I was away. To use it, go to or and click the ‘Launch BBC Radio Player’ button to see/hear it. Nice job all.

::Press Release:: This week, the BBC re-launches its internet Radio Player to make almost every BBC Radio programme available live and on-demand for seven days after broadcast, creating a massive, ever-changing library of music, talk shows, dramas and documentaries.
Latest figures show more than 10 million hours of BBC radio is consumed online per month and, from 25 January, the new Radio Player will offer 500 extra hours of programming and offer a range of new features.

back to the top