views:

239

answers:

4

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 Transformation, which seems to fit my needs. Having said that, I understand the gist of OT, but not the math nor implementation of OT.

Thus, I was wondering if there was a drag'n'drop Javascript library that would hook into a text area, generate the transforms, then allow me to apply those transformations onto another client?

(I've gotten the Etherpad source, but I can't make head or tails out of it. If anyone could point out how to leverage on Etherpad's OT implementation, that'll be great too!)

+2  A: 

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:

Jörg W Mittag
Diff-Match-Patch, combined with the Differential Synchronization paper by Neil Frasier (http://neil.fraser.name/writing/sync/) did the trick!Many thanks for pointing me in the right direction.
gamers2000
A: 

Try beWeeVee http://www.beWeeVee.com Is a framework based in .NET that you can freely use for non-commercial use, although there are some partnership agreements for commercial. Good luck!

Sebastian
A: 

Execuse me that this post is not an answer, but another question based on the original one.

I am also using Google-Diff-Match-Patch to implement OT, which works greatly for plain text. But when try to support rick texts, sth like making texts bold or italic, google-diff-match not works as expectedly, for example when embedded styles like <b> and <i>, the diff results messed up.

Not sure should go on with google-diff-match algorithms or try something else, but really no better one so far than this library. Could anyone tell some direction what to do next? Thanks in advance.

Regards,

Steve

Steve
Do NOT use the above plain-text library for doing rich text sync. Diff-match-patch is NOT an OT library for what I know. BUT either way, you need to work up some stackoverflow points and then create a real question that explains what you want to do, and which programming languages etc that you can work with. Or PM me a text and I'll ask it for you.
Simon B.
+1  A: 

You could talk to the guys at Cedanet. Though Ceda is closed source and no free trial is available on their web site. I have been involved in the development of Ceda and continue to work with it in commercial projects, so I might be able to provide some feedback/advice if you head down this path.

Daniel Paull