skip down to the 3 comments

XMPPFramework + PubSub = RadioAunty + LiveText

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

There have been 3 responses to this post.

  1. Alan

    Poke – have you had time to release the new version with this working?

    Al

  2. Duncan

    @Alan, not quite, I was looking at the proxy problem, and got side tracked adding lastFM scrobble support.

  3. Nicholas Humfrey

    This is fantastic! Wanted this for years :-D

    And good work adding PubSub functionality to XMPPFramework.


back to the top