As I've written in the past, I am an unabashed fan of pair programming. Pair programming is one of the few techniques that I can credibly point to that really, really, really improves software quality. And since I'm a remote developer, I really, really need good pairing tools. The unfortunate reality of pair programming is that there really aren't good tools for pairing – until Tuple.

The current suite of tools for pairing include things like:

  • Google Hangouts / Google Meet - slow, craptastic user interface
  • Skype - don't get me started; Microsoft gutted Skype and left it for dead in a alley
  • Slack - only available on paid slack; slow, uses a lot of CPU

While there have been good tools for pairing in the past, notably ScreenHero and Apple Remote Desktop, none of these tools are available today. ScreenHero got bought by Slack and "integrated" while Apple Remote Desktop, well, I seem to have been the only user who remembers it.

The current tool I'm using is Tuple and it is simply outstanding. Here are some of the reasons:

  • It just works. For pairing to be something that you just do on an ad hoc basis, the tool needs to be utterly unobtrusive. Tuple is brilliantly in its minimalism.
  • It doesn't slow everything on the machine to a crawl.
  • The audio quality is fantastic.
  • It is fast.

Here are the disadvantages:

  • It is expensive; the model is a monthly fee.
  • It is OSX only.