Ruby Roundtable: Collaborative Text Editor



Sun-Li Beatteay presented:

How do Google Docs and Github's TeleType work? How does an app achieve a real-time effect while maintaining a consistent document among all users?

These questions led a team of 3 developers, including myself, to build a decentralized, peer-to-peer, collaborative text editor of our own! In this presentation I explain the concepts and introduce the components that we used to build a collaborative editor using Conflict-Free Replicated Datatypes (CRDTs) and WebRTC.

You will learn about:
* The tradeoffs between Operational Transformation and CRDTs
* Merging conflicting operations using CRDTs
* Guaranteeing idempotency, commutativity, and causality with Version Vectors
* Maintaining and scaling connections in a distributed network
* Reducing network latency and achieving a real-time feel
* CRDT optimizations that reduce overhead

Melissa Wahnish

Melissa is the Founder of RubyThursday and co-organizer of the Ruby Roundtable meetup. Signup for her weekly updates here.

Ruby snacks, tutorials, and freebies. Delivered weekly!

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form :(

Post Your Awesome Comments and Questions Below
(or just say hi! :)