6

"Google Docs" allows for real-time, collaborative document editing. Multiple document viewers are able to simultaneously read and change a document's content so that one user's updates are instantly applied and visible to all other viewers.

  • Are there any software/web-app IDEs that facilitate this type of collaboration for writing code?

  • Which processes (ie pair programming) stand to benefit from a system like this and which don't?

  • Does this model for collaborative editing present a viable alternative to the current source control systems generally used by teams of software developers working on a single code base?

Related but less general

5
  • I don't believe any processes will benefit from them, and may be harmed. Pair programming works well in person, but across the internet, looking at the display and talking on the phone would have too much of a cognitive disconnect. Commented Nov 17, 2010 at 22:18
  • and gdoc updates are hardly 'instant' Commented Nov 17, 2010 at 22:20
  • 2
    @Steven A. Lowe, When was the last time you used Gdocs? At least 4 or 5 months ago they improved the networking on it. Typing is in real time and seems to have less than .5 seconds in latency. Is that not instant enough for you? Commented Nov 17, 2010 at 22:33
  • @AttackingHobo: two weeks ago. I was on the phone with the collaborator and could hear him typing; his changes didn't appear for 10-30 seconds Commented Nov 18, 2010 at 1:18
  • How about IRC, the ultimate multiplayer notepad? ;)
    – zxcdw
    Commented Apr 17, 2012 at 13:41

1 Answer 1

4

Collaborative code writing tools

Visual Studio.Net has a plugin called wave-vs.net that allow real-time collaborative editing to support pair programming features.

Eclipse has two plugins called DocShare and Saros, that allow real-time collaborative editing of documents (DocShare) or projects (Saros).

(the above quoted from wikipedia)

Which processes benefit?

Obviously pair programming. Off the top of my head I can't think of any immediate show-stoppers when considering the improvement the GDocs experience brings, and extending that improvement to collaborative coding.

I think the collaborative approach would work best if multiple people are working on sections of code that can be considered 'close'. It can also improve round-trip time for changes, as you don't have to wait for a commit-update cycle to have the latest version.

Are they an alternative to VCS?

They are complementary. They both serve the same purpose of streamlining contributions from team members. But there is a fundamental difference in their approach: Current VCS'es mostly document snapshots of a project, while collaborative editing documents fine-grained changes, capturing the thought process of a developer.

Furthermore, commits in a VCS are neatly organised as a change set. In a collaborative environment, on the other hand, you can't even ensure the code will compile at any moment before completion of the whole project, because someone else might always be in the middle of writing a line of code. Change is continuous. Therefore it might not be possible to unravel the contributions into change sets.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.