skip main content

rQRCode 0.3.3 released. Bug Fixes

posted by Duncan at 6:37 pm on February 5th, 2011

Quick post to say I pushed a 0.3.3 release of rQRCode which fixes a few bugs that have been causing people pain. If you’ve never seen the library, you can check it out over at the site. Otherwise it’s just:

gem install rqrcode

2011 is already turning out to be amazing

posted by Duncan at 9:55 am on January 7th, 2011

The end of 2010 saw the birth of a son, Hugh. He is beautiful, and will surely mean that I don’t get as much time for side projects as I normally would. It’s not like a write on this blog every week, but posts will likely be even more sparse.


As for 2011, I will be going with the flow. As usual, I’m planning on learning many new skills. I’ve been experimenting with Blender all over Christmas, rekindling my love for 3d modelling and animation. I also quite fancy learning how to plaster.

One thing I would also really like to see in 2011, is people blogging again. I used to love reading posts from people I really respect in the industry, and being pointed in directions I would not ordinarily go in. I think Twitter and it’s 140 character limit has hidden all these wonderfully clever people in a sea of chit-chat. Come on people, start teaching us again.

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 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.


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.


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.


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 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.


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:

and you can get the source over on Github:

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.

I designed a trainer

posted by Duncan at 7:51 pm on July 29th, 2010

Ever since NikeID started 10 years ago, I’d always fancied giving this a whirl. I finally treated myself:


The base shoe is a NikeFree 5.0 v4 running shoe.

back to the top