conversation on the web
Sometimes you come across ideas in the oddest of places. I’ve been reading Theodore Zeldin’s excellent book, ‘An Intimate History of Humanity’ recently. Without going in to details, the author looks at aspects of the human condition in their historical and psychological context. So as an example, in one chapter, he looks at the art of conversation, how it has developed and its pivotal role in the acquisition of knowledge. I’ve never really thought about it, but it would seem that for long periods of history, people didn’t use conversation to find things out at all; quite the contrary, conversations were just a way of furthering your own points of view or flattering the relevant King, Queen or other powerful person in your life. If that sounds like a depressingly familiar concept, it made me realize that in the context of the internet, we have a similar distinction. Tools like Twitter and Facebook Status Updates are an excellent way to propagate your own views and flatter the relevant celebrity/organization/person in power, but a poor way to conduct a real conversation. Tools that allow a genuine dialogue to take place, ideas to be developed and knowledge to be acquired seem to be much thinner on the ground. So perhaps the time really has come for tools like Google Buzz and Jiva Tech’s Tutorhub. We’ll see.
Education, the iPad and Step-change Innovation
After some initial scepticism by the market watchers, it would seem that iPad fever is in full swing at the moment, with all the attendant noise, PR and a headlong rush by the Taiwanese to produce clones to join the party. For my own part, it was the latter that made me sit up and take notice. From what I’ve read, iPad style tablets based on Google Android operating system will be hitting the streets shortly in the $100-200 range, roughly translating to a £100-200 price tag, or something similar to the cost of an iPod Touch.
This made me think. Despite common perceptions, innovation never happens in smooth progressions, it happens in step changes, followed by periods of calm and I sense we’re about to see just such a shift in the way we educate our children. Here’s a few reasons why:
One: the emergence of clever, education focused applications. I’ve blogged before about the heaps of cool start-ups focusing on education and the US VC’s that have been backing them with money.
Two: the device. Up until now, the target platform has been the PC/Mac, but there’s a couple of reasons why a tablet is a much better idea in the classroom. It weighs less; with all the books and PE kit they have to carry, adding a laptop would be the straw that breaks your children’s back. Its more appealing. Its less unwieldly. Who’s got space on the average desk for text books (they won’t be going away soon), exercise books, pens and a laptop. It plays music.
Three: money. You wouldn’t risk your child taking a £600 iPad, Macbook or laptop to school in their rucksack, no matter how cool they thought it was. But plenty of kids take their iPod Touch. So why not a £120 Android based tablet?
Three: a generational change in attitudes. From the dawn of time to the days until my days at school, education hadn’t changed much. My children think that’s because I was educated at the dawn of time, but the reality is that a couple of millenia didn’t really change much. But as the Horizon Report shows, the current “Facebook Generation’ don’t really understand why they have to travel back in time whenever they enter the classroom. They’re hungry to use the cool stuff inside the classroom as well.
Configuring XMPP Servers
Our web app at Tutorhub.com uses XMPP under the covers to send real time updates to in-browser clients. The results have been great, but we’ve found that as users sign up or modify their details, it requires a lot of configuration for the PubSub and PEP nodes. The web app sends configuration messages on the part of users, but the asynchronous nature of XMPP makes it harder to ensure that everything has worked smoothly and configuration succeeded.
We’ve identified possible solutions that involve custom ejabberd modules and the like, but this creates new problems: lock in, support difficulties (e.g. what happens when ejabberd internals get updated) and we lose features like decentralization.
Best practice in this space seems to be unknown and familiar web development concepts unused, so Theo has been toying with the idea of an HTTP gateway that operates in a similar way to RESTful services for operations where we care a lot that messages are delivered correctly, such as IQ stanzas and dataforms, and where efficient transport is less of an issue. The HTTP service would provide a convenient interface for configuring XMPP servers, probably using http basic access authentication to deal with login and then build upon the URI’s specified in the XEP’s to provide a very simple synchronous interface which other application developers can hook into.
We propose to put this out there under a BSD license, so if anyone has any input or ideas, please get in touch to the benefit of all.
P.S. While doing a bit of research, Theo’s come across a number of useful resources:
- http://idavoll.ik.nu/wiki/HTTP_Interface shows exactly what Theo was thinking of – but aimed solely at Pubsub (a damn good start), although it doesn’t seem to have been touched in 2 years.
- http://xmpp.org/extensions/xep-0060.html#registrar-querytypes gives out a URI structure that could be used as a well defined way of building the RESTful HTTP service
- http://xmpp.org/extensions/xep-0099.html provides a very consistent framework that would map very nicely onto RESTful HTTP service
- http://xmpp.org/extensions/xep-0147.html more information on URI’s