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

 

Banner


Headless Chrome and the Puppeteer Library for Scraping and Testing the Web
29/11/2017

With the advent of Single Page Applications, scraping pages for information as well as running automated user interaction tests has become much harder due to its highly dynamic nature. The solution? H [ ... ]



Imagine Cup 2018 Highlights Microsoft's Latest Technologies
28/11/2017

The new slogan for the Imagine Cup is "Code With Purpose" and it is now underway. For 2018 there are new awards for Big Data, AI and Virtual/Augmented reality apps. Teams are encouraged to make an ear [ ... ]


More News

 

 
 

 

blog comments powered by Disqus

Last Updated ( Wednesday, 22 November 2017 )
 
 

   
Banner
RSS feed of news items only
I Programmer News
Copyright © 2017 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.