Remote pair programming

As most of you know, Pair programming is one of practices included in Extreme Programming. It is a programming technique that provides line-of-sight-and-hearing learning.

I have only applied this technique a few times in the past,  finding it very useful to learn both programming techniques and problem domain.

During the last week I started to work with a very cool guy, Dustin, in an interesting project to build some proof-of-concept applications for his company. Dustin usually reads my blog and he decided to hire me as a kind of consultant or mentor to guide him in the building of those applications.

The main problem in this case was the distance, I am currently living in Argentina and he is in USA. It was impossible to me to travel to USA this month so we decided to use a sort of "Remote Pair Programming" technique.  

We have a meeting almost every day and he shares his screen with me using a tool called TighVNC (A great tool indeed, and it is open source too).


I can not say how useful it was, we are making a lot of progress and learning something new every day. I have just wanted to write this post in order to share this experience since I find it very rewarding.

If you know about other tools to do something similar, please, post a comment.


  • This is more of a cross-platform (i.e. Linux) tool right? Kind of hard to find any info on it google, but apparently TighVNC's main feature is it works with linux.

    Anything else you'd like about it? Better (or faster) then Windows' Remote Desktop?

  • I do a lot of remote pair programming, and find that different people favour different tools.

    I've used livemeeting, netmeeting, remote desktop, plain old vnc, pcanywhere, lights out boards! and probably other things i've forgotten over the years.

    Normally the choice of tool comes down to what's installed, and what resources need to be shared

  • Great post, Pablo! I'm famous now. :) (Now if I could just become a guru like yourself in this WSE/STS stuff!)

    I've used NetMeeting for remote desktop as well as VoIP extensively. Very nice. I like how it integrates seemlessly with Messenger, too.

    Currently, I'm running Ubuntu Linux as my desktop and have XP running under VMWare. TightVNC is just one implementation of VNC (RealVNC being another one of the many). VINO is the Ubuntu desktop version I'm using, but any VNC client should be able to connect, too.

    Things I DONT like about *VNC flavors--

    - Not as friendly as NetMeeting in terms of both users controlling. In NetMeeting, only one or the other has complete control. With VNC, if sharing is turned on, if the remote user accidentally

    - At least for me, there are performance issues on my laptop running VINO. When sharing session is active, the mouse and desktop seem to freeze for a few millis frequently which can be a hinderance.

    - Compression/performance is not near it is with NetMeeting (and even PCAnywhere). VNC is much slower in my experience. Over a slow connection is really bad.

    - Running X-windows, it is very difficult to get the various VNC flavors to view your :0 display (the desktop YOU see). They want to view a new desktop session, which is dorky, and IMHO, useless.

    Things I like about it:

    - Free like NetMeeting

    - Cross Platform

    - Most versions (VINO doesn't yet) have a HTTP Server+JAVA APPLET that allows anyone to view and control your desktop via a standard web browser. This is really nice.

    - Not tons of ports you have to worry about like you do in NetMeeting. Becomes issues with firewalls.

    - Been around for a long time and easy to use.

    Take care!


  • Nice feedback. Thanks again Dustin

Comments have been disabled for this content.