Presentation: Real-Time, Fine-Grained Version Control With CRDTs

Track: Modern CS in the Real World

Location: Soho Complex, 7th fl.

Duration: 1:40pm - 2:30pm

Day of week:

Slides: Download Slides

Level: Advanced

Persona: Developer

This presentation is now available to view on InfoQ.com

Watch video

Abstract

Last year, GitHub released Teletype, a package that adds support for real-time collaborative editing to the Atom text editor. Historically, similar systems such as Google Docs have based their implementations on Operational Transformation, which has been an area of active CS research for nearly 30 years. For Teletype, we tried a different approach, building on a newer theoretical framework called Conflict-Free Replicated Data Types, or CRDTs. Introduced in 2011, CRDTs offer a simple and general framework for synchronizing distributed replicas of non-trivial data structures, and they proved a great fit for collaborative editing. Having validated CRDTs in a production setting with Teletype, we're now exploring how we can take them further with an experimental system called Eon. Eon will enable what can best be described as "real-time version control". In this talk, I'll cover the foundations of CRDTs, then explore how we're using them in Eon to synchronize and persist changes to a repository at the granularity of individual keystrokes.

Speaker: Nathan Sobo

Founding Member of the Atom Editor Team @GitHub

Nathan Sobo is a founding member of the Atom Editor team at GitHub. When he isn't obsessing about software, he also enjoys yoga, floating in sensory deprivation chambers, cycling, and travel. He lives in Boulder, Colorado with his wife and daughter.

Find Nathan Sobo at

Similar Talks

Let's talk locks!

Qcon

Software Engineer @Samsara

Kavya Joshi

Panel: The Promises and Perils of Eschewing Distributed Coordination

Qcon

Distributed Systems Engineer & runs the Prometheus user group in SF

Cindy Sridharan

EBtree - Design for a Scheduler and Use (Almost) Everywhere

Qcon

Director of Engineering at HAProxy Technologies

Andjelko Iharos