Quero dizer, além de uma sala de conferências:)
Usando o Google Docs, posso fazer upload de qualquer tipo de arquivo e visualizá-lo com outras pessoas, assisti-las editá-lo em tempo real, com um bate-papo ao vivo acontecendo na mesma janela. Isso é incrível.
Como posso fazer a mesma coisa com o código-fonte? Eu estou procurando por um aplicativo da web onde eu possa fazer upload de arquivos de origem que serão exibidos em algum tipo de editor, com realce de sintaxe, e permitir que outras pessoas o visualizem e editem em tempo real. De preferência com um chat ao vivo também, mas não é necessário. Alguém sabe onde eu posso encontrar isso?
Já tive sucesso com VNC e ferramentas similares de compartilhamento de desktop antes (como Webex, etc). A vantagem disso em relação a uma ferramenta de colaboração on-line é que você pode usar seu ambiente de desenvolvimento cotidiano, assim como faz quando está trabalhando sozinho ou emparelhando a programação pessoalmente.
Combine isso com um bate-papo por voz ou vídeo (como o Skype ou uma chamada telefônica antiga) e você deverá ser capaz de programar de forma muito eficiente.
Eu usei moonedit antes, embora eu ache que é um pouco antiquado:
Se você estiver executando o Windows, recomendo que você experimente Microsoft SharedView . Também achei isso por meio da postagem no blog de Scott Hanselman Sabendo quando pedir ajuda - Microsoft SharedView .
Se fosse eu, usaria uma combinação de ssh, Gnu Screen e vim. Gostaria de abrir uma sessão ssh para uma instância compartilhada da tela que é um multiplexador de terminal. Você pode usá-lo para abrir vários terminais virtuais e poder copiar / colar entre eles e ainda assim conseguir ver o que cada pessoa está fazendo. Eu usaria o vim para o editor, pois é isso que eu normalmente uso. Ele tem destaque de sintaxe, e entre muitos outros recursos, é bom poder executar o comando make de dentro do seu editor.
Uma vantagem aqui seria a capacidade de ver o ambiente de trabalho e abrir vários arquivos de origem conforme necessário. Você também seria capaz de trabalhar em arquivos separados e alternar entre si e de maneira independente.