12

Lately I've been experimenting with using a collaborative text editor (or plugin such as NppNetNote for Notepad++) for two or more partners to edit source code. I've been met with unexpected success, and the workflow differs from anything I've ever experienced. My findings:

  • It's fun to fight over code, but also very satisfying to collaborate on it in real time.

  • Two people can work collaboratively or separately, and be constantly aware of each other's changes.

  • The comments end up becoming a free-form IM conversation about the code around them.

  • The medium is enormously less restrictive than trying to work back and forth over IM proper.

  • It's like pair programming, but with no overhead to switch roles between driver and navigator.

Has anyone tried this before? What were some of the advantages and problems that you encountered? For those that haven't tried it, I strongly encourage you to find a friend (or two, or more!) and make an attempt.

Edit: See Wikipedia for something like more explanation, though in the context of pair programming specifically.

5
  • 2
    Don't forget to mention Mozilla Skywriter (formerly Bespin) as an option for collaborative coding: mozillalabs.com/skywriter Commented Sep 22, 2010 at 21:11
  • Wow, I've never thought of programming that way Commented Sep 22, 2010 at 22:03
  • 1
    I love the phrase "I've been met with unexpected success!" Commented Sep 22, 2010 at 23:14
  • @Paddyslacker: What, is my New England showing? Commented Sep 23, 2010 at 6:30
  • Seem like it would make remote code review easier. Commented Sep 24, 2010 at 19:48

2 Answers 2

4

I often use GNU screen to share terminals (and terminal based editors) for pair programming and remote collaboration. I think one of the most important things that can make this go smoothly is a voice connection (phone, VoIP, etc.) with the other collaborators. Without a voice connection, you incur a lot of overhead and clunkiness as you have to IM (preferably in a separate window) at the same time.

Short sharing the same terminal, each sharing a separate terminal (her read/my write, her write, my read). This allows for simultaneous use but also prevents you from working on exactly the same file.

I've also been using tmux recently (a program similar to GNU screen) and while I find it better in some aspects I find other aspects less desirable.

1
  • I use screen with one of our engineers often, and we both enjoy it. We're equipped with headsets so we can type as we talk on the phone. Commented Nov 26, 2010 at 6:17
2

Yes, using SubEthaEdit many years ago I did this for a while.

What you lose is the constant communication/chatter, unless you also have a voice link.

Also, "pair programming" usually means two hands, two brains. This is a very different experience than four hands, two brains, because you're tempted to end up working on separate things. If you do, you might as well just be checking in your code to a version control system and sharing it back and forth.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.