Jiva Technology

XMPP, Jabber, BOSH and all that

Until now, we’ve not given much in the way of technical updates from Planet Jiva, but with the impending release of Tutorhub, I thought it would be worth sharing some of our technical trials and tribulations. From the word go, our technical vision required a need for real time ‘conversation’, blending IM style features with those found in run of the mill web applications. This is known as making life hard for yourself.

In contrast to the fundamentally asymmetric, request-response model that underlies almost all web based communication (even Web 2.0 sites that provide dynamic updates of information), instant messaging applications require any connected party to be able to send or receive a message at any time.  Not all messages receive, or require, a response. The established open standard, used by Jabber, Google Chat and Facebook Chat, is XMPP. The recent release of the draft standard for the BOSH protocol, together with the emergence of a couple of open source JavaScript libraries which support XMPP over BOSH, allowed us to embed XMPP based communication channels within Tutorhub, our new web application for the online tutoring market. It’s been a complex undertaking. It necessitates moving from a two party request-response communication pattern to an architecture where the web browser must communicate both with the web server (via HTTP) and with the IM server (via XMPP over BOSH). In addition the IM server and the web server must route messages to one another, mediated by software ‘bots’. These messages must be queued to ensure that they are reliably received and processed asynchronously without causing undue delay in the request-response communication. We used AMQP for this, another emerging open standard developed for use in high volume transaction processing environments such as banking. XMPP allows us to effectively route queries to relevant tutors based on the subject of the query, without requiring tutors to constantly poll the server for updates, a practice known as ‘semantic query routing’. The result? Hopefully, a much more scalable architecture.

T-1 and counting

The days before a launch are always scary, even if its a closed beta. What if they think my baby is ugly? What if my baby stops working? OK, the analogy is running a little thin now, but you get the drift. Still, its an exciting time for us in an exciting market. I have a feeling the world of education is going to be transformed in the next couple of years, judging not just by the projects we’re working on, but some of the stuff I see our peers developing. At the risk of being of being a hammer salesman that sees all the world’s problems as a nail, I think tech will play a big part in that transformation. In the not so recent election, Barack Obama made the comment, “one of my fundamental beliefs … is that real change comes from the bottom up”. I’ll second you on that, Mr President. Maybe its time for us to stop looking to Governments to make the education system better for our children and start taking the small steps at the bottom that can lead to genuine revolution. Time will tell.


Regus House
1 Friary

Temple Quay
United Kingdom