Recent BBC/OU TV Programmes on Boxee

Many of you will know that the OU co-produces several BBC television programmes, including Coast and The Money Programme, as well as a wide range of one off series.

If you want to keep up-to-date with OU/BBC programmes, you can now watch BBC/OU programmes on their own dedicated DeliTV channel: just bookmark http://pipes.yahoo.com/ouseful/bbcouiplayer to your DeliTV collection:-)

BBC/OU on DeliTV - http://pipes.yahoo.com/ouseful/bbcouiplayer

For details of getting started with DeliTV, see Deli TV – Personally Programmed Social Television Channels on Boxee: Prototype

If you interested in the technical details of how this channel was put together, read on…

What I originally hoped to do was make use of an earlier hack that underpinned Recent OU Programmes on the BBC, via iPlayer (also available on iPhone: iPhone 7 Day OU Programme CatchUp, via BBC iPlayer). Unfortunately the pipework behind those applications has broken (note to self: repair them… – DONE:-) becuase they relied on using a search of the BBC website, a search that now appears to be broken in Yahoo pipes (something to do with a robots.txt exclusion:-(

So it was time for a rethink…

My source of recent OU/BBC programmes is the @open2 twitter feed, which gives the title of the programme and the channel:

So what I needed was to find a way of getting the iPlayer programme IDs for these programmes. My first thought was to take each programme title from the @open2 feed, and search twitter with the name using the from:iplayer_bbcone search limit. But the @player_bbcone feed doesn’t seem to be complete, so I ruled that out…

Digging around the iPlayer site, I found a list of feeds containing content by channel currently on iPlayer (I think? God only knows how this’ll scale if they start to do much longer than 7 day catch-up….?!) – BBC iPlayer feeds

BBC iPlayer feeds - http://www.bbc.co.uk/iplayer/feeds/

[DOH! Something just jumped out at me there… have you seen it yet…? Important post to follow after this one…:-)]

So I created a pipe (BBC TV – Current Programmes on iPlayer) that pulled together the BBC TV feeds, and allowed you to “search” them by title (i.e. search by filtering…;-):

One thing I noticed in one of the @open2 tweets was a capitalisation error, which would fail to match in titles in the filter, so I used a regular expression to remove the effects of capitalisation from the filter stage. (I found the trick from a quick search of the Pipes forums,in a reply by @hapdaniel: replace the grabbed text with the \L prefix (i.e. I used \L$1 as the replacement text to convert everyhting in the $1 string to lower case. \U works for upper (\l replaces applies to the first char, as does \u).)

I could then run the titles from the @open2 feed through the BBC programmes pipe to grab the progamme URIs on iPlayer.

So here’s the pipe. We start by getting the last 50 items from the @open2 updates feed (using ?count=50 to get more than the default number of items from the feed), use a regular expression to parse the tweets to identify the programme titles, remove the duplicate programme title items from the feed using the Unique block, put the time that tweet was sent into a universal/canonical form and then filter by date so we only get tweets from the last 7 days.

We then run each item through the BBC programmes filter described above and return the recent programmes feed:

A couple of tweaks to the DeliTV pipe handle, you know, stuff ;-) and you can now bookmark this pipe – BBC/OU 7 Day TV Catchup (or it’s RSS feed output) to delicious, tagged so that it appears in your DeliTV feed, and you have a channel dedicated to recent BBC/OU TV programmes that have been broadcast on BBC One to Four and that are currently available on iPlayer :-)

Author: Tony Hirst

I'm a Senior Lecturer at The Open University, with an interest in #opendata policy and practice, as well as general web tinkering...