Real-Time Collaboration Issues and Solutions
blog.codeanywhere.com
blog.codeanywhere.com
Disclosure: I'm one of the founders of Floobits[2]. Since native text editors let you do all kinds of crazy stuff with text, we use an algorithm similar to the one described by Neil Fraser.
As for the limitation that OT only supports inserts and deletes: OT supports anything that can be transformed. If you build an operation "indent area" and then provide a way to partially order that operation against all the other operations (such as "range operation, sort by first position, reverse second, and break ties by operation") you can transform it by moving the position boundaries for inserts and deletes, and when it applies and itself creates a ton of spaces in its interior, that is how it transforms the rest of the operations in the queue. Wave had a number of interesting transforms designed to help it edit structured documents.
What are you next plans for it? Be good to have a chat sometime in the new year if you're interested :)