skip main content

Posts Tagged ‘BBC’

Update on BBC QRCode work

posted by Duncan at 8:47 am on September 16th, 2011

I have posted before about work I’ve done around QRCodes, specifically work around the BBC and QRCodes. Recently though due to the fact they are starting to appear everywhere and conversation I had with a guy from Bang goes the Theory, I thought I’d revisit that work.

The news is that I have created an application that let’s people create their own BBC QRCodes. This could be BBC people who need them for marketing etc or anyone else who’d like a neat BBC QRCode like the one below, that happens to represent the app itself.

BBC QRCode App

You can read more about it over on the BBC R&D Blog.

More pushing not pulling

posted by Duncan at 12:58 pm on November 26th, 2010

I’ve just posted a piece on a recent experiment I worked on with the BBC’s Autumnwatch programme.

autumnwatch experiment

It’s an overview of the technologies we used, namely Ejabberd and Strophe.js. Head over to the R&D Blog to find out more.

RadioAunty 2.1 gets 7 day catchup and BBC local radio support

posted by Duncan at 11:48 am on October 20th, 2010

After the excitement of getting liveText into RadioAunty, I thought I’d get my head down and implement the two biggest features I get asked for. These being:

  • Choose from any of the 66 online BBC Radio stations
  • Navigate through the past 7 days ondemand listening

local BBC radioSee more RadioAunty photos

So, this update has taken quite a few train journeys, but I hope you’ll agree with me in thinking the hard work has paid off. I’m really quite pleased with the results. The application now packs quite a punch feature wise, but still fulfils its primary remit of being really simple to operate, hiding any extra functionality from those that just want to listen to the Radio.

As always, if you’re not interested in reading this stuff, your current version will autoupdate, or just head off to http://whomwah.github.com/radioaunty and download it.

Local Radio Support. Currently in RadioAunty, you can only listen to the national stations. There are many more BBC stations available, specifically local ones. You can now go into the preferences, and choose from all the BBC stations, selecting which ones appear in the Listen menu.

local radioSee more RadioAunty photos

The ability to now opt-in to these extra stations is a design choice. The most important thing for me, is that RadioAunty is just a simple radio (the same goes for TellyBox as a television). All these updates I build bring great extra functionality, but my first assumption is that people couldn’t care less, and just want to listen to the radio. Anything I do to make this more complex, just means they won’t use it.

So, now, not only do you have the opportunity to listen to these other stations easily, you also get the current schedule and the ability to play catchup shows too, all within a very simple interface.

7 day catchupSee more RadioAunty photos

7 Day Catchup. Talking of catchup, this brings me on to the other big feature I have added. I really think this one takes RadioAunty to a new level, and why I still believe native radio listening applications, with their ability to spread the UI around desktop, will always be far superior to anything you could do on a website. The ability to simply see all of the available catchup programs for the last 7 days in simple menus. If you can click them, you can play them. So if you’re listening to Radio 1 on Monday and would like to listen to the Essential Mix you missed because you were in bed, you can now simply navigate to the previous Friday, and see the essential mix in the drop down menu.

catchupSee more RadioAunty photos

Also, as you can see above, when you hover on any of these menu items, you also get a brief synopsis and how long there is left to listen.

So, if you like this application and it’s features, please spread the word. I really believe this is a great way to listen or catch up on BBC Radio.

RadioAunty 2.0 released, BBC LiveText and LastFM scrobbling added

posted by Duncan at 10:12 pm on September 23rd, 2010

After talking about XMPP and pubsub in my last post, the I have just pushed said version 2.0 release of RadioAunty. It took a bit longer than I expected, mostly due to me adding the LastFM scrobbling support I alluded to.

lastfm

A few things I should mention about these new features. RadioAunty is written by me, to try interesting things with the BBC’s radio player, that the BBC chooses not to do themselves. This means features may come and go. So the Twitter support is now gone. Due in part to the fact I stopped using the service day-to-day a while back, and didn’t want to re-implement the OAuth stuff.

The new BBC Livetext support is a little bit experimental. Whilst the service is stable, I can’t guarantee it will be available all the time, although I’ve seen no problems to date. This and the fact that it currently will not work if you don’t have direct access to the internet, for example if you are behind a firewall and go through a proxy. If someone fancies adding SOCKS support, that would be wonderful.

The LastFM scrobbling support is also a bit experimental. It’s using the API 2.0 Beta which is still actively being worked on. I created a little Scrobble class to do the work. Do note though, that the app will only scrobble based on the now playing information provided by the liveText service. Every tracked played is not always sent via liveText, so you may well see some tracks not showing up in your Recently Listened Tracks.

Enjoy.

XMPPFramework + PubSub = RadioAunty + LiveText

posted by Duncan at 10:29 pm on September 14th, 2010

[UPDATE] This is now live, oh and I added the scrobbling support.

I’ve been doing a lot of XMPP lately, so I figured I should share some of this stuff with you all. This all ends up with me telling you that I have added LiveText support to my RadioAunty application (Hah! not even the proper iPlayer Radio console has that).

LiveText is the content that appears on your DAB radio, with information about who’s on, what’s currently playing, and what’s coming up in the show.

livetext

So, XMPP. To start with, two books which I can recommend are:

One is great for understanding what the hell XMPP is, and the other for how you can use it on the web. In traditional style, I read both these cover to cover many times, until I finally got it, and felt I could build something interesting. Here’s a brief overview:

XMPP is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.

Over the course of the last few months I’ve been building various internal XMPP based apps, which have been primarily web based. This has come about possibly due to this years buzz word seemingly being Real-Time, but possibly more because –in the case of XMPP– modern browsers have implemented Cross-Origin Resource Sharing, which means cross-origin requests can be done with pure JavaScript. Using a fantasic library like Strophe.js coupled with an XMPP server like Ejabberd, you can easily create fantastic broadcast/subscription web applications.

One of the side effects of using this technology so much, has meant that I’ve grasped enough to make a contributions to open source XMPP projects. One of which being the fantastic XMPPFramework. As you’ll guess by the name, this is an XMPP Framework in Objective-C for Mac and iPhone. My colleague Alan wrote last November that the BBC was starting to make it’s LiveText service available over XMPP PubSub. I really wanted to integrate this with RadioAunty, but the XMPPFramework did not support PubSub or SASL ANONYMOUS. Due to my new found knowledge, I was able to help, and submitted a couple of patches adding this support to this library.

So, I will push out the new version of RadioAunty in the next couple of days. There is a limitation at the moment that the LiveText won’t work if you need to go through a SOCKS proxy. I’m hoping I can fix this, but at the moment I’m not quite sure where to start. The radio will continue to work fine.

Oh, and yes, I realise that the elusive Last.fm scrobble support is possible now. One step at a time.

BBC Now Next Chrome extension update. Now with in-browser notifications

posted by Duncan at 4:17 pm on August 31st, 2010

Back in February, I added reminders to the BBC Now Next Chrome extension I wrote. This was not an ideal implementation, and required a bit work from the user to find out what they’d been notified of, as well going off and watching/listening.

I’ve now fixed that, and implemented in-browser notifications. This is what I would have used, had they been available or had I known, at the time.

notifications

The whole experience is much nicer and much more what you would expect. I’ve removed the old highlighting, and badge numbers, as I don’t think they are require anymore. Just to remind you, the deal with the plugin is thus:

  • You set it up with your favourite BBC Radio or TV stations,
  • At any time you can click an icon that reveals what is on and coming up next on your selected stations.
  • You can click on the little clock next to any of the upcoming shows, which will create a timer based on when the show will start.
  • When the timer is up, a pop-up notification will appear, showing you what is about to start, with a link to watch or listen live.

You can download the extension from the Chrome extensions site:
https://chrome.google.com/extensions/detail/gejphpmnffccdjcjgbelkklbpnigiika

and you can get the source over on Github:
http://github.com/whomwah/BBC-Now-Next-Chrome

Any comments would be appreciated. Do you like it? do you hate it? you know the deal. Oh, and also let me know if it breaks anything. I’ve tried it myself for a while, but you never can be sure.

TellyBox Update 1.8 (Fixed for iPlayer change)

posted by Duncan at 3:38 pm on August 23rd, 2010

A quick post to say that TellyBox has been updated to fix a bug that was stopping and telly being shown (thanks Joe for the heads up). This was caused by iPlayer changing their implementation code (something out of my control). Whilst fixing this bug, I also change the schedule fetching code to use the BBC Programmes JSON feed which makes the app smaller and faster.

BBC Recipe shopping list experiment updated

posted by Duncan at 10:45 pm on August 5th, 2010

[UPDATE] If you check the comments below, the Mobile version of the BBC food site has now implemented check boxes next to the ingredients list. This really is great news! thankyou!

Back in October last year, I wrote a post about creating shopping lists from BBC recipes. Well it’s seems that the BBC Recipe site has been refreshed. It’s awesome. There’s absolutely loads of recipes and the navigation is great, with some really useful urls. The markup of the pages is also vastly improved. They’ve even now got shopping lists! (no, my pleasure) which incidentally, has a broken image, I think you missed 1.4.4 from the url. Oh and more importantly, there is a Mobile version, which looks great.

But, I still think my little experiment has some mileage though. The BBC mobile version of a recipe still doesn’t fundamentally address what happens when I want to cook something. When I go to the supermarket, I want to look at my ingredients list and see:

  1. The ingredients I want to buy. Nothing else. Not that I need to soften the butter, or finely chop the onions. Just the ingredients.
  2. I’d like to know what I’ve bought and what I haven’t. In the same way you tick things off your list when you write it on a piece of paper.

Shopping list

So these 2 things haven’t been addressed yet, and I’m pretty sure they could be quite simply. So until such a time, you can still go to this url on your phone:

Which I have updated to support the new pages.

Oh, and they don’t appear to have a data views of the recipes. Someone correct me if I’m wrong? Again, this seems like it could have been done. Imagine if you had data versions of the recipes pages all interlinked. You could build your own recipe viewing applications, or write apps that would let you curate your own recipe book for friends and family or, oh never mind, just a thought.

RadioAunty 1.16 release

posted by Duncan at 1:42 pm on June 11th, 2010

RadioAunty updated to work with the new iPlayer radio console. Oh and I’m pulling in JSON data instead of XML for the schedules, which has proved much quicker. Not quite sure I like the new now playing text on the console.

RadioAunty 1.16

Not because it’s not useful, but because it’s just not very pretty. With all the text handling power Flash gives you, I’m sure they can do more. Hopefully they’ll fix this.

Building the Mythology Engine

posted by Duncan at 10:06 pm on March 30th, 2010

More than a few weeks ago now, we finished a project called The Mythology Engine. This was a prototype to see if we could build a framework for navigating drama on the BBC. Our first test case was Doctor Who. Mr Ferne has written an excellent post on the subject over on the BBC R&D blog. Rather than repeat what he said there, I advise you to go have a read.

This project was a wonderful experience for me, mainly due to the fact I got to build a lot of it. This post is a bookmark for me, and runs though the technologies we used.

Mythology Engine Prototype

As a prototyping team, we get to make technology decisions that help us build stuff quickly. This affords us a lot of flexibility. So for this project we used a fairly common set of tools paired with bits and pieces to make our lives easier.

Ruby on Rails: This choice was because I have a lot of experience with the framework, and it is an ideal candidate for prototypes. In fact over the years it has been used to build some great internal tools at the BBC. Oh and I know it’s fine for production too incase you were wondering.

MySql database: Again, we have a lot of experience with this, so why change.

Apache WebServer: Familiar, and easy to setup. We run Passenger as well to make Rails deployment a breeze. Because the prototype has streaming media playback, we needed to compile in the ( H264 Streaming Module). This was a fairly simple process with good documentation. I actually think if I did the project again, I would plump for Nginx instead of Apache. Just because it is so lightweight and fast, but Apache worked just fine.

Build for browsers that support CSS3: Here’s an interesting one. So when building the pages, I realised that some of the complex design could be implemented just using CSS3, without the need to chop up images and create complex layouts. This did mean that “browsers” like I.E (at least < 9) and the like would not display the designs as expected. But hey, this is a prototype, so let's just save come complexity and do it the easy way.

As well as the technologies above, we also used Flash for our visualisations and the custom media player. We powered them using an API we built into the main site. We are lucky to have great Flash experts like Mr Bowley to build this stuff, and I even got the chance to dust off my own AS3 skills with one of the visualisations. Oh and finally, we used the jQuery javascript library for any client side trickery.

So, nothing too unusual there, or in the build really. We decided on our data model (which was influenced by the OntoMedia and ideas from the team) and url design up front, and created the database and subsequent models. We initially thought we could populate the database using provided documents (exel etc) but quickly realised this would be inadequate, and needed something quick and easy to allow data entry. Along came Typus. I highly recommend this project. It creates a simple but extendable CMS based on your Rails applications models. You also get user admin for free. We made some change to suit our project (If any of the Typus people are reading, I tried to feed back changes we made but couldn’t get your tests to run). I also wrote some filters for Paperclip so we could get all images sizes and styles from one upload.

Finally we first built an initial basic site. This was to test out initial layouts and get some understanding of how the site felt when we had real data. This layout was then tweaked and polished once we were happy.

So that was a whistle stop tour of how we built the prototype. What we ended up with was a very polished prototype, which we are all rather proud of. Current I only have screenshots to show, but hopefully that will only be temporary.

One final thing to note. We build this with a maximum of 5 people. The majority of the team were cross discipline. This really helps. It means that everyone understands what the other is doing without everyone having to work on the same area of the project. This was especially key on this project, as we built in from scratch in a very short period of time. I have been fortunate enough to work on some recent influential projects within the BBC, and all those projects had around 5 people working on them. 5 is clearly, the magic number.

So that’s a brief overview. Like I say up top, read the proper explanation on the R&D blog.


back to the top