gchp/iota

Operational Transformation API?

Opened this issue · 5 comments

That's a really interesting read!
If you haven't already seen it, you might be interested in the transaction log system we're using for undo/redo support.
@pythonesque had some really interesting ideas on using transaction semantics for all editing operations, which he wrote up in #52.

Do you know of any open source projects using a system like this?

Oh, I found the Google Drive/Docs links about Operational Transformation:

The Wave protocol has some extensions to the Operation Transformation algorithm. However, checking the documentation, they see more important in the context of network-facing applications: http://www.waveprotocol.org/whitepapers/operational-transform

Do you know of any open source projects using a system like this?

Google Wave is open source: http://incubator.apache.org/projects/wave.html

And here's a lib from an ex-Google wave engineer: http://sharejs.org/

The opencoweb framework also implements OT: http://opencoweb.org/ocwdocs/intro/openg.html

CRDTs are a fantastic approach for some problems (assuming you can find commuting operations). There's also been very useful work on symmetric lenses: http://www.cis.upenn.edu/~bcpierce/papers/symmetric.pdf.