Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What tools exist to facilitate pair programming with Visual Studio when the programmers are not in the same physical location? At the moment we are thinking voice (Skype?) plus remote desktop (VNC? TeamViewer?), but it would be good to know of other suggestions and experiences. Also, is there anything more integrated with Visual Studio?

A bit more background: we are two experienced developers with who have collaborated well for a long time on a large mature project (ASP.NET, Windows Forms and SQL Server). However we are not usually working on the same part of the code base at the same time. We intend to spend some weeks doing substantial refactoring and it would be ideal if we were able to do this work with a pair-programming approach.

share|improve this question
1  
you may use GoToMeeting tool, it requires subscription though –  Yusubov Aug 10 '12 at 10:22
1  
skype also has a "share desktop" feature, which I've used for a similar purpose. –  TZHX Aug 10 '12 at 10:54
2  
@TZHX Isn't Skype's screen-sharing read only? One of the main points of pair programming is having two keyboards with one editor. –  shamp00 Aug 10 '12 at 11:20
1  
@TZHX: Have a look at the first paragraph of the Wikipedia entry, especially the bit where it says "the two programmers switch roles frequently". That's not possible unless you can "share" desktops. –  Amos M. Carpenter Aug 10 '12 at 11:56
2  
Am I the only one who is disappointed by the level of support for remote pair programming in modern IDEs? I mean, the Self IDE supported remote pair programming over the network in 1987, long before the term "pair programming" was even invented and at a time when most people didn't even have a network. Heck, Doug Engelbart demoed extensive remote pair programming in 1968! 44 years later, Visual Studio, Eclipse, NetBeans, IntelliJ and friends still don't even come close. –  Jörg W Mittag Aug 10 '12 at 12:42
show 2 more comments

3 Answers

up vote 3 down vote accepted

You're on the right track when you say you need voice and remote desktop software, irrespective of whether you're going to be using Visual Studio or other tools to collaborate. I don't use Visual Studio myself, so I can't answer the part of your question about any tools integrated with it, but I do work as part of a distributed team and there are a whole heap of choices out there for you to pick from.

For VoIP, Skype is a common choice and one I've used a lot in the past, but I have to say I'm not a great fan of what it's become (ads and the beautiful simple interface has been replaced with a rather counter-intuitive one), so I tend to use either Trillian to talk to my Skype contacts, or C3 (which is actually intended for online gamers but is also great for general VoIP communication, is much less of a resource and bandwidth hog and is completely free). I found Google Talk's "feature" of asking you "Are you still there?" after a couple of hours while you're clearly still talking a bit annoying, as there's usually no point in keeping the tab in the foreground, so often we missed the question and got thrown out. Quality-wise, there wasn't much between the three on a broadband connection; if anything, I'd give the edge to C3.

As for web conferencing (or desktop sharing) software, which you'll need in order to view each other's desktops and control each other's mouse/keyboard for paired programming, I've used Netviewer commercially (my client had a license) in the past (before they were bought up by Citrix) and more recently TeamViewer, which is similar from a pure desktop sharing point of view but seems to have a few less features (or maybe I just haven't discovered them yet). We are also considering OpenMeetings but I haven't used it much yet so can't make an informed recommendation on that one.

Wikipedia's comparison pages seem to be kept quite up-to-date if you'd like more options to pick from:

http://en.wikipedia.org/wiki/Comparison_of_VoIP_software

http://en.wikipedia.org/wiki/Comparison_of_web_conferencing_software

Most of the commercial ones tend to have at least free trials, so make sure you try before you buy.

Once you've got the right tools set up, there's not that much difference between doing XP while sitting next to each other and while sitting in different parts of the world. (And there are actually benefits, e.g. you can't knock over the other guy's coffee cup and you can keep your own favourite keyboard and mouse settings.)

share|improve this answer
2  
Oh, one more bit of advice: when each of you has a mouse, make sure you communicate well ("you drive", or "let me drive for a sec"), otherwise it's a bit irritating when both are using the mouse at the same time and you keep mis-clicking... ;-) –  Amos M. Carpenter Aug 10 '12 at 11:39
add comment

I've never tried it, but GoToMeeting is probably a perfect fit here -- it natively handles voice, video and screen sharing so you don't have to have two separate solutions. I haven't used it for coding, but I've used it for collaborating remotely on documents where we pass control back and forth and it has worked pretty seamlessly.

This probably doesn't apply in your case but it does not handle areo or glass effects at all.

share|improve this answer
add comment

Have you tried VS Anywhere?

Is what you are looking for, allows you to share code and designers from Visual Studio and worlwide,

Is free for students, open source projects and non-commercial use

Works with VS2010 and VS2012

take a look https://vsanywhere.com

Regards

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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