Meet node.js – A multipurpose toolkit for network applications
node.js is one of the current rising stars of the Open Source web community. It’s a framework that allows you to create scalable web applications in Javascript that can easily be extended by a whole range of contributed modules. Matthias is actually in love with it and might write another article on this topic.
Pusher – The glue for realtime applications
Using node.js enables you to use a bunch of great realtime frameworks – see socket.io for a rock-solid example. Nevertheless we decided to leverage a service called Pusher as our realtime platform. It is a pre-built and solid realtime service one can build upon. It takes advantage of the new Websocket API to open up an ongoing connection with web frontends. This programming model allows us to keep a persistent connection between interfaces and to trigger realtime events.
Mongodb – It’s like a database for human beings
As Javascript is the main weapon of choice and the consistent language from backend to frontend we decided to extend this design concept to the database. Mongodb is a NoSQL database that natively talks Javascript and seemed like a perfect fit for us.
Now that we have a setup that we can use to build further experiments we’ll keep on evolving the platform. Please let us know what you think about our findings so far – we’re always curious about having a chat. Last but not least we’d like to thank Max Williams from Pusher for the instant beta-support, Jean-Claude Wippler for creating the great JeeNode devices and providing the easy-to-use RF12 library and Alex of tinkerlog for helping us to fight our way through converting low level data-types like ints and bytes.