Lably
Skip to content

Collaborative real-time editor

  • 7 min read
  • 3 chapters

Related on Lably

Through Web application, Cloud storage and Spreadsheet

Real-time editing performs automatic, periodic, often nearly instantaneous synchronization of edits of all online users as they edit the document on their own device. This is designed to avoid or minimize edit conflicts.

With asynchronous collaborative editing (i.e. non-real-time, delayed or offline), each user must typically manually submit (publish, push or commit), update (refresh, pull, download or sync) and (if any edit conflicts occur) merge their edits. Due to the delayed nature of asynchronous collaborative editing, multiple users can end up editing the same line, word, element, data, row or field resulting in edit conflicts which require manual edit merging or overwriting, requiring the user to choose which edits to use or (depending on the system and setup) automatically overwriting their edits or other people's edits, with or without a warning.

History of key products

The first instance of a collaborative real-time editor was demonstrated by Douglas Engelbart in 1968, in The Mother of All Demos. Widely available implementations of the concept took decades to appear.

A piece of software called Instant Update was released for the classic Mac OS in 1991 from ON Technology. It allowed real-time editing of a single document by multiple users over a LAN and relied on a workgroup server.

Interest in real-time collaborative editing over the internet led to the development of MoonEdit and SubEthaEdit in the 2003-2005 time frame, followed soon after by Gobby.

With the introduction of Ajax technology and the "content editable" function in browsers, web-based collaborative editing in real-time developed as part of the Web 2.0 phenomenon around 2005. In particular, a product called Writely saw explosive user growth and was bought by Google in March 2006 (what became known as Google Docs and later renamed to Google Drive). It provided simultaneous edits on the entirety of a document, though changes from other users were only reflected after the client program polling the server (every half-minute or so). Another early web-based solution was JotSpotLive, in which line-by-line simultaneous editing was available in near-realtime. However, after Google's purchase of parent company JotSpot in November 2006, the site was closed. Google Sites was launched in February 2007 as a refactoring of JotSpot, but it lacks the multi-user real-time abilities of JotLive. The Synchroedit (rich text) and MobWrite (plain text) projects are two, more recent, open source attempts to fill the gap in real-time browser-based collaborative editing, though still unable to achieve true real-time performance, especially on a large scale architecture.

In 2009, Google started beta testing Google Wave, a real-time collaboration environment which Google hoped would eventually displace email and instant messaging. EtherPad was acquired by Google, which allocated the EtherPad team to work within the Wave project. However, Google announced in August 2010 on its blog that it had decided to stop developing Wave as a standalone project, due to insufficient user adoption. After Google released the abandoned EtherPad source code as open source in December 2009, the community took over its development and produced a complete rewrite named Etherpad lite, which is written entirely in JavaScript and built on top of Node.js. Another notable tools based on operational transformation technology is CKEditor. 2020 has seen a surge of interest in the concept, as Microsoft also recently released its Fluid Framework, which relies on a novel Total Order Broadcast technology, as opposed to OT or CRDT. Fluid is currently framework agnostic. Microsoft states that it is not yet ready for production use.

In June 2016, Collabora Productivity released V1.0 of Collabora Online, an open source online office suite using LibreOffice Technology, it can be integrated into any website with a few lines of code. A software development kit exists with sample integration code in several languages Node.js, PHP, Python, ReactJS and .NET, these have API specifications allowing interoperable integrations with customizable user interfaces. With Collabora Online documents remain on the server, each user shares the same document concurrently allowing just one document to be edited in real-time and interactively with no extra lag or latency to see other users’ typing. It avoids the need for locking of paragraphs in text documents. It enables collaborative real-time editing of word processing documents, spreadsheets, presentations, drawing and vector graphics.

Recently, real-time collaborative editing has returned to stand-alone text editing applications with extensions for Atom and Visual Studio Code released in 2020.

Sign in to keep reading

2 more chapters are free with a Lably account.

More in Computing and communication