Tuesday 23rd April, 2013
9:30am to 9:55am
Concurrency is hard. Collaborative authoring and editing, doubly so. Or so I found out when I started working on my new Mac app.
As iCloud and Simperium were not flexible enough for my needs, I started researching algorithms to roll my own solution for collaborative editing. I immediately came across Operational Transformations. OT is widely used in concurrent systems like Apache Wave, etc. The only problem is that—pardon my French—they’re a mindfuck to understand and become increasingly difficult to implement if you want to support features like unlimited local undo and redo. That’s when I stumbled on Without Operational Transformations (WOOT).
WOOT is a much simpler algorithm that also allows you to easily implement local undo and redo. I implemented it in Objective-C for my app. And I’d like to talk about the subject in general with examples from my experience in understanding and implementing WOOT.
Sign in to add slides, notes or videos to this session