Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Real-Time Collaboration Comes to Atom

Real-Time Collaboration Comes to Atom

Leia em Português

This item in japanese

At QCon San Francisco 2017, GitHub’s Nathan Sobo has unveiled Atom’s new real-time collaboration plugin, Teletype. Teletype aims to make it possible for two developers to code together with the same ease as coding alone.

Teletype allows developers to create a new collaboration session and share a link with other coworkers. Each collaborator gets their own cursor and can type freely along with other collaborators.

Collaborative editing is a tricky theoretical problem, says Sobo. The way Atom Teletype addresses it is by letting each collaborator modify their own replica of a document. Local edits are applied immediately to the local replica and then transmitted to the rest of collaborators. This opens up the possibilities for changes to be applied in a different order on different replicas, but the Teletype algorithm, using conflict-free replicated data types (CRDT), should ensure that all replicas end up having the same content.

Teletype uses WebRTC to connect collaborators, which means that all transfers are peer-to-peer, except an initial handshake relying on GitHub’s servers. To ensure privacy, all data transfers are encrypted and never hit GitHub servers.

The CRDT GitHub developed for text editing is also available as a standalone library, along with a full-fledged editor-agnostic library that can be used to integrate the same kind of functionality into a web-based or Electron-based application.

According to GitHub, Teletype was born to address the needs of the Atom team itself, which is globally distributed, and can improve developer workflows in such cases as getting a new teammate onboard, inspecting peers’ work, and learning new skills. GitHub also envisions the possibilities of using Teletype as an alternative to pull requests (PR); instead of initiating a PR, developers could use Teletype to hop into the same text editor and walk through issues in real time.

Teletype can be installed from within Atom 1.22, using the Install tab. Alternatively, it can be installed running apm install teletype from the command line.

Rate this Article