Do Keyboard Shortcut Sounds Make Pair Programming Easier?

Sara Tansey
Built to Adapt
Published in
3 min readMar 18, 2016

Big bands working in perfect harmony have always felt normal, but consider the difficulty of sharing one computer with one or two people to create something. Bands are amazing.

What is it that makes modifying code with two people at once feel less natural than a drummer playing with a guitarist?

What if it is because computers have been built around a limiting one-person-at-a-time assumption that is not a technical necessity?

To start somewhere: One common difficulty is keeping up with the other person while they are controlling the keyboard. When a programmer is working solo on a computer, she uses a lot of keyboard shortcuts to move to different files, or run tests. But as a person looking on and thinking a little more abstractly or helping to brainstorm ways of getting unstuck, I often find myself asking “did you just run the tests?”, or having to check the name of the file I’m looking at. The person driving doesn’t have these questions because they made the action happen, but person navigating might benefit from more cues about what action was taken.

I wondered if I could attach sounds to the actions and then subconsciously know what my pair had done. I decided to try an experiment.

A friend and I modified the program keycastr to play sounds for the modifier keys, thinking that maybe we would learn to hear the different chords and associate them with different kinds of actions.

It failed. Pretty badly. We found it so irritating and uninformative that we turned it off in less than 30 seconds. We tried a few modifications. What if we use different notes, change the duration, or don’t make a sound for the shift key? But it wasn’t better. It was noisy, and we found it intolerable.

We gave up on the experiment there, but months later, I still think about it sometimes and wonder if making the sounds more targeted would turn it from noisy to useful. Maybe a zipper sound means that I navigated forward or back a file, and a bell means I ran the tests. A follow-up experiment might look like creating an add-on for intellij that makes different sounds for different actions.

And sound is not the only way to provide more intuitive feedback to the navigator about what the driver is doing. XCode has an animation feature (which unfortunately only works with track pads) that slides the file left or right to navigate back or forward giving an intuitive sense of what just happened. Screen hero allows two mouse pointers to appear on one screen, so I can point at things without preventing the driver from clicking where they meant to. BlueJ allows files to be arranged spatially, which might lead to less “what-file-am-I-seeing” confusion while pairing (though I don’t actually recommend trying to write code in BlueJ).

How might computers look if we designed them from the beginning imagining that they would always be used by two people at a time? Who else is discussing this and where are they discussing it?

Change is the only constant, so individuals, institutions, and businesses must be Built to Adapt. At Pivotal, we believe change should be expected, embraced and incorporated continuously through development and innovation, because good software is never finished.

--

--