Coders/Collaborative real-time editor

From FreekiWiki
Revision as of 18:42, 8 May 2007 by Jablko (talk | contribs) (Notes about a collaborative real-time editor project.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 Wikipedia: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.