EtherCodes: Online Collaborative Code Editing

WWD readers may fondly remember EtherPad, an online collaborative text editing too that was acquired by Google (s goog) and subsequently shut down. EtherPad’s code was made open source, and it has spawned some interesting spin-off projects. The latest of these is a collaborative code editing app for developers, called EtherCodes.

You don’t have to create an account to start using it. Just head to the EtherCodes site and hit the “Create Code Pad” button to get going. The bulk of the windows is taken up by the code editing pane (with line numbers and optional syntax highlighting), while down the right-hand side of the screen is a pane showing which users are currently editing the document. Inviting others to the pad is just a question of sending them a special URL; you can invite people to collaborate on the pad or just to view it (again, no sign-up is required).

Collaborative code editing is done in real-time: any changes to the code on one user’s screen are almost instantaneously¬† reflected on everyone’s. Code pads can be exported as either a text file (for importing into a desktop code editor) or as a bookmark file, and local text files can also be imported into the pad.

It’s worth noting that EtherCodes is in no way an online replacement for an IDE or desktop code editing tool. It is fairly rudimentary — I think most programmers will miss the search, automation and scripting tools that are available in many desktop editors — and it won’t compile or run any code. However, it does have built-in syntax highlighting available for a range of different programming languages:

  • C/C++
  • C#
  • Java
  • PHP
  • JavaScript
  • Python
  • SQL
  • Ruby
  • HTML
  • CSS

Each user has their own text color, and a full revision history is recorded; there’s a “Timeline” button that allows users to see a replay of how the code developed over time.

I think that freeform collaborative coding with a real-time tool could get pretty confusing with two or more people working simultaneously on the same code (I can just imagine the cries of “Hey! Stop messing with my function!”). However, EtherCodes may be useful in certain situations: to collaborate as a team on a tricky fragment of code, for example, or perhaps to try some pair programming at a distance (pair programming could work well with this tool, as only one person is actually doing any coding at any one time; the other person acts as an observer).

EtherCodes is in alpha and is free to use, although the developer would be interested to hear from entrepreneurs or investors who may be interested in making it into a commercial venture.

Let us know what you think of EtherCodes in the comments.

(Via One Thing Well)

Related content from GigaOM Pro (sub. req.):