skip main content

Archive for September, 2010

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.

back to the top