Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pair programming tools that are not remote

I am currently in a job where we practice serious pair programming on windows machines. We both have a set of keyboards, mice, and we have two monitors, which works well for switching who's the driver really easy, but there are some points in the session that I would like to start writing tests at the same time that my pair is writing implementation.

I am wondering if there is any program that would allow me to have effectively two cursors and keyboard focuses on the same computer. If they don't exist then I am willing to experiment with my own solution, but I would like input as to how to best accomplish this. I am most familiar with .Net 3.5 technologies, but I also know Java and am willing to learn C++ to solve this problem.

If I was creating the solution myself I would go down the road of being able to grab the input of one hardware device (i.e. a specific mouse that's installed) and prevent Windows from moving the pointer, and instead move my own programs pointer independently.

like image 722
JonathanTech Avatar asked Mar 27 '10 05:03

JonathanTech


2 Answers

Something I did once:

Take two desks and place them up facing against each other so that when each developer sits at a desk they are facing the other developer.

Each developer gets two monitors, one of which is plugged into the OTHER developer's computer.

Each computer is set to mirror/clone its screen to the other monitor. This means that each developer is facing each other but also each developer can see what the other one is doing on her computer.

Then, each developer installs the free software called "Synergy2" (http://synergy2.sourceforge.net/) on her computer and configures it such that when the developer moves her mouse cursor over past the edge of her screen towards the side that the other monitor is visible, the developer can then interact with the other developer's interface.

This way, you can both always see what the other is doing AND also fluidly move from driving to riding shotgun for each other as the situation demands it.

Sometimes this ends up working like the classical method where one dev is always driving and the other is always riding shotgun but it at least gives the opportunity to work both independently as well as together.

Actually I think I will suggest trying this out with my current workmates on Monday!

like image 184
RibaldEddie Avatar answered Sep 19 '22 15:09

RibaldEddie


After looking at your comments, it seems like you have a single computer with multiple keyboards, and want to have two people using the same computer, but typing into different programs. I wrote a program to do this once, but it only worked with custom applications.

If you're willing to pay $100 or so, there are several possible programs you can try:

  • Friendly Seats
  • BeTwin
  • SoftXpand
  • ASTER

All of the above programs are designed to be used with a single computer and multiple montors/keyboards/mice.

BTW, the term for a single computer with multiple monitors is multi-head; the term for a single computer with multiple monitors and keyboards is multi-seat.

like image 22
Gabe Avatar answered Sep 18 '22 15:09

Gabe