Indeed. However, if WebRTC had been used, how would the state be synced? Having a central server vastly simplifies that problem.
Disclaimer: Pusher employee (didn't work on this project though).
Disclaimer: Pusher employee (didn't work on this project though).
Initiator of session holds authoritative file. Guest receives full file upon connection. Diffs are taken on each change (onkeypress event) ( for simple key mapping invariance (♥λ) ). Shoot the diffs over the wire, and apply the updates.
Something like that.