
I've been practicing XP for 3 years now, but I remember having some doubts about it when I first started. It just didn't seem natural for two people to sit at the same computer all day. Right away I realized that my concerns were unfounded and, in fact, I found myself to be a more focused, productive, and happy programmer while pair programming. The one thing that has always bothered me was that computers are just not designed to have multiple participants. Usually there is one monitor, one mouse and one keyboard. Sure, you can supplement a second monitor, mouse and keyboard, but it is a bit like having two strings attached to the same kite or two handles on the same shovel. No matter how many input devices you connect you are forced to share control of a single pointer. Obviously our tools aren't up to the challenge of real time, in person collaboration!
There is, perhaps, a solution to this problem. MPX is a fork of the X server that allows for multiple mouse pointers and multiple keyboard foci! (up to 18 of them) See this video.
One obvious drawback to MPX in a pair programming context is that it could be considered a distraction for the pair. One person could pull open a web browser or otherwise lose focus. Also there could be contention for control of what is happening on the screen. But honestly, both of these problems exist without MPX, and it is a matter of etiquette and professionalism, not a matter of tools and technology.
I look foward to playing around with MPX, and pair programming, seeing what works and what doesn't. I expect that IDEs and editors could find interesting ways to capitalize on this new way of working. What sort of benefits and drawbacks do you think MPX would have for pair programming? What kinds of editor and IDE enhancements would you like to see?
Most likely we are still a long way from this technology becoming a part of our favorite linux distrobutions, but it is fun to imagine the possibilities. I think it would make our tools more suited to collaboration.
No comments:
Post a Comment