In our ongoing process of analyzing and playing with the Internet of Things we had a deeper look at emerging technologies and trends in this context. In our playground for the new ecology of things we wanted to experience what it means to make things communicate. It started with a couple of questions: How can we make things talk? How can we make them talk to each other? And how can we make this happen in real time? What’s the perfect technology to build or prototype applications for the Internet of Things? And how to let them talk to people. In order to do so we got our hands dirty and started with a simple setup.
Recently there’s been some buzz going on around the real time web. Mindmeister and Google Wave are just two examples of services that augment their user experience by offering real time communication. Now for the techy part of the story: XMPP is an open protocol that enables this kind of technology. Originally intended to be an open standard for instant messaging it’s also extensible in all kinds of way. Have a look at “What can you do with XMPP?” to get an idea of what’s possible with it. It’s also the secret sauce behind the Google Wave protocol and the OpenSpime project, an XMPP approach to the new ecology of things. Our lab setup was intended to learn and play with this fascinating emerging technology.
As a result we’ve setup an OpenFire XMPP Server on a windows machine that serves as a central node and cares about user management. We’ve hooked up a Macbook with a simple Flex client that utilizes the Open Source XMPP Library XIFF and controls a lamp via a PhidgetInterfaceKit and a RelayBoard. This can be seen as a Lamp Controller in our lab setup but could later be any kind of embedded device connected to the web.
As I believe in the Open Source model and the DRY paradigm we managed this lab session with the help of some Open Source components. We wanted to share this knowledge so you can create your own little Spime Network.
Now that we have a basic framework and understanding of XMPP we can further explore related techniques like OpenSpime etc. and make things talk in our office.