&gt; The question is: what happens if multiple people send each other conflicting transactions at the same time? Google Wave solved this by enforcing a single server-side ordering of all events, and making sure that all transactions would be accepted using Operational Transformation even if they occurred out of order. Without OT, you may have cases where Alice makes a change, only to have it invalidated and essentially erased by Bob&#x27;s change that may have &quot;won&quot; on the server side. And while OT may be largely &quot;solved&quot; for text content, it doesn&#x27;t seem well-studied for music or other timeline-based content.<p>I&#x27;ve planned this out on paper. It&#x27;s going to be solved in a peer to peer manner, no central server. It will work the same way that git rebasing works. When conflicting transactions occur simultaneously, there is a deterministic way to determine the order, then each peer rebases the transaction and resolves conflicts automatically in a deterministic way.<p>Undo&#x2F;redo is really complicated, but I believe I have a pragmatic approach that will work. I don&#x27;t expect users to resolve conflicts; instead I will make the effort of editing small and leave it to users to manually correct automatic conflict resolution if there is a problem. No &quot;diff&quot;s, no coding knowledge necessary.<p>Do feel free to email me if you want to chat about this problem :)