Atom Adds Collaborative Coding
Written by Kay Ewbank   
Wednesday, 22 November 2017

GitHub's Atom text editor has a new feature, currently in beta, for collaborative coding. Teletype for Atom lets you write and edit code with other developers in real-time.

Atom was originally developed as GitHub's cloud hosted editor, and has gone on to become a very popular code editor, coming top in a recent Opensource.com poll.

The new feature, Teletype for Atom, lets you write and edit code with other developers, each with your own cursor and what the Atom developers say is zero latency.  The developers say the new version lets you work together with other developers in real time with your own configurations in your own programming environment on any file you can open in Atom. Writing on the Atom blog, Nathan Sobo says:

"Teletype for Atom wires the keystrokes of remote collaborators directly into your programming environment, enabling conflict-free, low-latency collaborative editing for any file you can open in Atom."

The name Teletype came from the old-style teletype machines where anything typed on one machine appeared on the linked teletype at the other end of the connection immediately.

 

original teletype

 

You can invite one or more of your teammates to join in a review of your code. Everyone gets a cursor, and everyone can type at the same time. Because the sharing is done on a keystroke basis rather than on the look of the editor, you can collaborate with your own key bindings, packages, and themes. This makes collaboration less disruptive as everyone can keep their own look and feel for their IDE.

The way the collaboration works is that when you want to collaborate, you open a “portal” into your local workspace from a new collaboration menu on the status bar. This sets up a private ID for the portal that you can share with the other developers via your preferred chat service. Once they've joined the portal, they see a new tab in their workspace that lets them view and edit the contents of your active editor.

invite2

 

Your code is kept on your local disk, and the contents of your current active editor are transmitted to collaborators so they can follow along.The connection is made using WebRTC data channels. After an initial handshake that exchanges connection metadata via GitHub’s servers, all data flows over encrypted peer-to-peer connections. GitHub's servers never see your files or edits, which in addition to keeping code private, minimizes latency between collaborators, regardless of where they are working relative to GitHub's data centers.

Once editing is underway, all the collaborators get their own replica of each document. The main problem with such a scheme is what happens when two or more people edit the same part of the document. In the case of Teletype, any edits are applied locally then transmitted to the other collaborators. If there's a concurrent edit, the separate edits will be applied in a different order on each replica. To achieve consistency, the developers used the technique of conflict-free replicated data types, or CRDTs. CRDTs are data structures that should always converge on the same representation when updated with the same set of operations, even if those operations are applied in different orders.

The current version is available in beta, and is free and open source. The Teletype developers hope community contributors will build on and extend it to other editors. They themselves plan to add support for voice communication and editor-agnostic collaboration.

atomlogo

More Information

Atom Site 

Related Articles

Atom IDE 

Atom 1.8 Ships With Rich Git Integration

Which Code Editor Do Devs Prefer?

Atom Asks About Telemetry

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


DuckDB And Hydra Partner To Get DuckDB Into PostgreSQL
11/11/2024

The offspring of that partnership is pg_duckdb, an extension that embeds the DuckDB engine into the PostgreSQL database, allowing it to handle analytical workloads.



Uno Announces Platform Studio
19/11/2024

Uno has announced Uno Platform Studio, a suite of productivity tools featuring Hot Design, which they describe as a next-generation Visual Designer for .NET cross-platform apps.


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Wednesday, 22 November 2017 )