I\'m looking for a library that would allow me to synchronize text in real-time between multiple users (ala Google Docs).
I\'ve stumbled upon Operational Transformat
OT Libraries:
Within the HWIOS websocket project, i've succesfully used a combo of both(py-infinote at the serverside, jinfinote at clientside) to sync document states.
We're building a collaborate editor that combines Operational Transformation with versioning. That way we can support both, offline and online collab. We released our own OT library yesterday as part of our open source stack.
http://interior.substance.io/modules/operator.html
We've also contributed a library for versioning.
http://interior.substance.io/modules/chronicle.html
I think that parts of Google Wave's OT implementation are Open Source (and more parts are coming).
I'm not sure if this is what you are looking for, but an alternative to OT is Differential Synchronization:
With a js client lib (Strophe.js) you could use a free XMPP server (like jabber.org) along with my client-side OT lib (JSOTTEST) to build a complete client-server system.
I will submit the src of a demo client-server chat system when I have time to revise the code.
I'll summarize the solutions I found.
Operational Transformation: E.g.
Differential Synchronization:
CRDT (Commutative Replicated Data Type):
Npm has some nice ot libraries for node.js: