Coders/Collaborative real-time editor

Notes about collaborative real-time editors, a project I'd like to contribute to.

Lots of information about collaborative real-time editors in Wikipedia.

HTTP nice because you can do it with AJAX and you can implement it in a script like PHP, so no need for a daemon. How could you build real-time features into WebDAV?

On the other hand HTTP is not designed for real-time events from the server. You need to use some back channel, a technique called Comet. There's the draft RFC from 1999, the COMETd project and the WHATWG spec. The draft RFC is WebDAV-esq, but not very clean. The COMETd project is very gritty. If the WHATWG spec is ever implemented, user agents will have far more power, apparently socket programming in JavaScript?

XMPP is a nice modern XML spec which is designed for messaging, so it wouldn't have HTTP's problems. Presumably there're already projects which do XMPP using AJAX, but I don't think you could implement it with a web script. A good project might be adding an XMPP backend to ACE.

Other protocols: Projects use BEEP and IRC or straight sockets.

Issues: locking vs. consistency algorithm like Jupiter.

Goal: Collaborative real-time mode for emacs and a collaborative real-time AJAX editor for MediaWiki, both of which interoperate.

Perhaps time is needed for things to evolve?

TODO

 * File comet feature request against YUI.
 * Research XMPP AJAX tools.