Most of the time, collaborating on a software project means working with tools like Git—taking turns making modifications, then reconciling the final product into a single codebase.
But live collaboration on code—two or more people working on the same file in real time—has become far more viable in recent years. You’ll still want to have one person sign off on the final code, but being able to see other people’s edits as they happen is a great boon for distance learning, crunch-time work, and peer review.
Here are seven ways to do live collaboration with your teammates, whether through a web-based service or an add-on for your code editor:
AWS Cloud9, a third-party product Amazon acquired, provides an in-browser development environment that supports some 40 programming languages with varying levels of tooling. Multiple developers can collaborate on the same cloud-hosted project in real time, using shared environments.
They can watch each others’ typing (with visual cues indicating who has written which lines of code) and chat in a pane within the IDE. Project admins can grant read/write or read-only privileges to collaborators. AWS Cloud9 does not, however, have an explicit “follow my lead” mode as per Visual Studio Live Share.
Pricing: Included with any EC2 instance; you only pay instance charges.
Codeanywhere is promoted chiefly as a code-on-the-go environment—an in-browser, on-tablet, on-phone editor with support for 75 languages and in-cloud execution environments for many of them. But Codeanywhere also has several real-time code sharing and collaboration features.
You can just share a project out to others by way of a link, or set up real-time collaboration to allow others to edit your files in your editor. You can also provide other users SSH access to your project.
Pricing: A free seven-day trial is available. Plans start at $3 per user per month.
Pricing: A free tier is available; $9 per month buys you unlimited private sandboxes and the use of unlimited GitHub repos for your projects.
Codeshare is easily the most minimal collaborative-coding environment in this list, but for that reason it might also be among the most useful. If all you need is the code-editor equivalent of a Pastebin, Codeshare provides that.
Fire up a Codeshare instance, give other people the URL, and they can start typing and video-chatting along with you right away. Code written in the editor can be downloaded with a click, and each instance expires automatically after 24 hours.
Pricing: Free to use.
Floobits offers collaborative, real-time editing and chat, both by way of its own in-browser editor and via add-ons for multiple editors including Sublime Text, Atom, Neovim, Emacs, and IntelliJ IDEA, but not Visual Studio Code.
The service allows multiple users to collaborate at once—that is, more than two at a time—and offers granular permissions (no access, read, write, administrate) for users. You can set up public and private workspaces, share terminals, synchronise work directories without using an editor, and use WebRTC and IRC to video chat and text chat with your teammates.
Pricing: Free to use for up to five public workspaces, with a single private workspace available for a one-week trial. Plans begin at $15 per month for five private workspaces. An enterprise behind-the-firewall version is also available.
Teletype for Atom
The Atom code editor, created by GitHub, has a vast library of add-ons to enhance its functionality. Teletype turns Atom into a code collaboration system. You can invite other developers to join you in active tabs in your instance of Atom, make edits in real time, and follow you between tabs as you switch files. All collaboration is done peer-to-peer via the WebRTC protocol. Teletype doesn’t offer more advanced features like sharing a running server or granular access controls, though.
Visual Studio Live Share
If you and your teammates already use Visual Studio or Visual Studio Code, Microsoft’s Visual Studio Live Share integrates real-time collaborative programming into those development environments. Code projects can be shared with collaborators in read-only or live editing mode, and you can share terminals or debugging sessions as well as editor panes.
You can also automatically follow another user’s behaviours (switching files, cursor movement, etc.) or ask that others do the same. It’s even possible to share a running web application server with other users. And those who don’t have Visual Studio or Visual Studio Code installed can join from the web.
Pricing: Free to use.