Demo: P2P collaborative text editor

Demo: P2P collaborative text editor

Recently I've been researching on P2P collaborative text editor. I've a demo to show - its not much beyond a technical demo, but it is interesting.

Go ahead to try it out!

Open the page on two browser windows (only Firefox or Chrome will work for now), wait a few seconds until two windows connected, and then try typing.

Yet another collaborative editor

Yes we already have Dropbox Paper, Google Docs or hackmd. But all of them are centralized, this mean your data live on a remote server. Your data can gone anytime, like the now defunct Hackpad.


What if I told you your browser is so powerful that it needs nothing other than itself to perform task like collaborative text editing?

In the demo above, other than the initial discovery, each text editor connects to each other directly with WebRTC. The collaboration is enabled by WOOT algorithm described in Real time group editors without Operational transformation. [1] The text editor is QuillJS which is based on OT but can be adapted to use WOOT. The sync is performed using hyperlog, a Merkle DAG that replicates.

What next?

Startup and corporate do not seems to interested in P2P collaboration. After all if every users can connect to each other, they have nothing to sell. Still, I believe an app that can let users write, collaborate and publish anything on p2p network like ipfs would be very useful. It would be a platform that is scalable, unblockable and unbreakable.

I can't tell when or if I'd build this, but follow this blog to get any update!

I have also open sourced the WOOT implementation used in the demo. Its very early and in pre-alpha quality, but feel free to check it out if you're interested.

  1. G ́erald Oster, Pascal Urso, Pascal Molli, Abdessamad Imine. Real time group editors without Operational transformation. [Research Report] RR-5580, INRIA. 2005, pp.24. ↩︎