Building a collaborative document editing application
Now that we've examined various techniques to consider when building a collaborative application, let's put together a collaborative code editor using Operational transformation (OT).
For our discussion here, OT will be understood as a technology that allows many people to edit the same document concurrently—collaborative document editing. Google described their (now defunct) Wave project in the following way:
As https://svn.apache.org/repos/asf/incubator/wave/whitepapers/operational-transform/operational-transform.html says, "Collaborative document editing means multiple editors are able to edit a shared document at the same time. It is live and concurrent when a user can see the changes another person is making, keystroke by keystroke. Google Wave offers live concurrent editing of rich text documents.".
One of the engineers involved in the Wave project was Joseph Gentle, and Mr. Gentle was kind enough to write a module bringing OT technology...