We are excited to open-source our Elixir implementation of Delta – an expressive format to describe contents and changes that powers our real-time c

Announcing Delta for Elixir

submited by
Style Pass
2021-08-16 20:00:04

We are excited to open-source our Elixir implementation of Delta – an expressive format to describe contents and changes that powers our real-time collaboration.

Today, we at Slab are excited to open-source our Elixir implementation of Delta – an expressive format to describe contents and changes.

Deltas are what power Slab's real-time collaborative editor, as well as the core data layer behind Quill, the popular WYSIWYG rich-text editor for JavaScript. Deltas can describe any rich text document, including all text and formatting information, but without the ambiguity and complexity of HTML.

When we set out to build a knowledge-base that teams would love to use, we knew that real-time collaboration had to be a key part of it.

Jason, Slab's co-founder, had already created the Delta format in JavaScript as part of building and open-sourcing Quill, complete with support for Operational Transform (OT). So it seemed appropriate to use Quill and Delta for Slab too.

We needed an Elixir implementation on the server as well which would accept the document diffs from the clients running in the browser, perform concurrency control and conflict resolution as part of synchronization, and update the document on the server and on clients in real-time.

Leave a Comment