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.
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 InformationRelated ArticlesAtom 1.8 Ships With Rich Git Integration Which Code Editor Do Devs Prefer? 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.
Comments
or email your comment to: comments@i-programmer.info |
|||
Last Updated ( Wednesday, 22 November 2017 ) |