How we made a rabbit control our screens

24 Feb 2009

At work I’ve been having some fun recently working on our external API, getting in place a very early version for us internally to play with. To test the new interface I did something I’ve been wanting to do for ages, control my CODA screen in my kitchen from our Nabaztag!

The above demo give you an idea of what’s going on, and the high level description is on the Camvine hints blog.

For the more nerdy of you, here’s what’s going on. The Nabaztag website lets you assign a URL to be called when an RFID tag is swiped over the Nabaztag. Hats off to Violet (Nabaztag’s creators) here, as they’ve made that very easy, including letting you template information about the tag in the URL, so I can know which tag, what the user calls the tag and so on. So, in the video when I swipe a tag on the Nabaztag, a URL is being called to a test web application I created called nabaztag.camvine.com (which isn’t open yet, but I’ll fix that shortly and put the source on github when I get chance) containing the tag’s ID and name.

The nabaztag.camvine.com (n.c.c from now on :) site isn’t part of CODA, but it can talk to CODA over our experimental API. Users log into n.c.c, and can authenticate their account there with their account on CODA, which is done using the open OAuth authentication standard. Once they’ve done that n.c.c can find out what displays they have in CODA and what sources they’ve setup to go on displays. The user can then associate an RFID tag with one (and soon multiple) display/source pairings. From then on, when we get an activation from the Nabaztag, n.c.c will call CODA and assign the associated source to the associated screen.

Fun, no? :)

It’s been quite fun, and I look forward to opening up the CODA API in the near future – this demo just scratches the surface of what we’ve got planned, but already demonstrates how great it can be to have an open API for your service.