What with things like this, the LibDems’ drive to collect members of the scientific-technical intelligentsia at a secret location in Kazakhstan (surely it must be a….), it’s surely time to shake up my ORGANISE project – a messaging and task scheduling system for organisations of all kinds that implements a Stafford Beer viable system approach. (Unofficially, “like a bulletin board that actually encourages people to do something”.)
Before Christmas, we’d gone through a couple of iterations of the spec, I’d vaguely decided to implement it as a Django web application, and I’d written a first version of the models.py (the file that defines the database schema in Django) that (I hope) embodies Duane Griffin’s design of the data model. I also managed to discuss it at some length with Chris “Chris” Williams…
Now, it’s unlikely to get anywhere by the 17th of March, so Rewired State is out as far as our methodology of conference-driven development goes. But I want to shake the thing up, and I’m increasingly interested in alternative routes; specifically, should it perhaps be more explicitly about messaging/communications rather than being a read-heavy Web site?
I’ve been reading up on XMPP messaging, and specifically on its publish-subscribe protocol. Each group in an ORGANISE instance would look like a virtual user. This would make sense – the defining characteristic of membership is the right to send to that group, after all. Percolation rules would determine whether a message from a group would be extended into the next biggest group; thematic groups would work in a similar way. In fact, the XMPP Standards Foundation has the notion of “collection nodes” in XEP 0248 which look very much like ORGANISE groups.
Among other advantages – federation with a lot of IM communities and social networks, the ability to interact with the ORGANISE server via other XMPP networks (which could be handy), a generally more real-time system, and the possibility of interconnecting different ORGANISations. And, y’know, it *feels* more appropriate for various reasons summarised here. Unfortunately it looks like 0248 isn’t well supported yet…but what say you?