Pair Programming involves two programmers that work together on the same code, sharing a single display and keyboard. One of them, the driver, has the keyboard and types. The observer continually reviews the code. Any challenge is solved by both of them working together. The roles of driver and observer change frequently.
Remote Pair Programming uses either a collaborative editor such as SubEthaEdit or MoonEdit, or screen-sharing software such as NX or VNC. The two programmers also maintain a VOIP link, and must use a headset or a hands-free microphone. They see and work on the same code.
I’ve been working on a very nifty, innovative AJAX frontend, which I license under the GPL. It implements a menuing system, a content preloader, and all site navigation is handled by the AJAX core. It produces very fast, very featureful sites. The backend renders XHTML that doesn’t need any javascript to work; if proper javascript support is available, the site is greatly enhanced, but the JS is completely optional. A novel feature, which I believe is unique, allows for this to work without breaking browser interface semantics, such as the address bar, back and forward, bookmarking, page reload, etc…
I want to improve this system. I want to show it to others so that they can improve their sites with it. I’d like to try out remote pair programming on that project with any javascript programmer who is interested.
