Atom Adds Collaborative Coding
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 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.



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.


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, FacebookGoogle+ or Linkedin.



Online Master Of Computer Science Degrees From Coursera

Both the University of Illinois and Arizona State University are now offering Master's degrees in Computer Science in partnership with Coursera. Is gaining an online masters a worthwhile undertaking?

 [ ... ]

MakeCode for Lego Mindstorms Launched

MakeCode for Lego Mindstorms has been launched by Microsoft and Lego. It's a Windows-based system that can be used to code using either a drag and drop code select system, or JavaScript. MakeCode can  [ ... ]

More News






or email your comment to:

Last Updated ( Wednesday, 22 November 2017 )

RSS feed of news items only
I Programmer News
Copyright © 2018 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.