We’ve all been doing a lot more remote pairing lately. Since March, our team has tried just about every remote collaboration tool available.
For pair programming, we’ve relied on a blend of video conferencing, screen sharing, and VS Code LiveShare. LiveShare gives us Google Docs-like collaborative editing, while a shared screen lets both people see simulators, browsers, and docs that we’d miss if we were only using a collaborative editor. Video chat adds a little bit of humanity back into our days and helps carry the non-verbal information channel.
Lately, I’ve added a couple more tools to my belt when remote pairing. You’ll probably find them helpful too, whether you work at an all-remote shop or you’re just working remotely for now.
Scribble All Over the Screen with Presentify
A few screen-sharing apps let you annotate your screen with virtual pens. It’s an awesome feature, especially for remote pair programming. Unfortunately, the feature isn’t universally available. Many conferencing systems don’t have it at all, and even some that do can get really confused if you do something crazy like plug in an external monitor. (I’m looking at you, Slack.)
Presentify and apps like it solve that problem by letting you natively scribble all over your screen (even when you’re not sharing). The next time you’re sharing your screen, and your video conferencing app lets you down, fire up Presentify and annotate to your heart’s content. Wanna pretend you’re a commentator on a sports show? Hit a simple key chord (^A) and start scribbling away.
Because it works even when you’re not sharing your screen digitally, I suspect I’ll take this app back to work when we’re all together in the office again. Being able to scribble on the screen while presenting is really handy. Presentify is a small app that does one thing really well. I’ve really liked having reliable screen scribbling as a tool that I can reach for at any time.
Share Your Vim Secrets with Keycastr
In one of my strongest memories from my first year at Atomic, I paired with an absolute vim wizard. This guy could find a file in a sprawling codebase, chop it up like so many onions, and rearrange it in no time flat without ever leaving the keyboard.
Flying around on the keyboard is not a goal in and of itself, of course. But if you’re into optimizing your workflow, and you like learning new things, picking up a new keyboard shortcut here and there can really make your work feel a lot nicer.
Unfortunately, keyboard shortcuts absolutely wreck pairing sessions. When you’re trying to follow your pair’s focus, and they do something using a shortcut, it’s hard to follow — even in person. And if they’re an optimizer who frequently spawns new editor splits, runs regex replace operations, and edits git graphs using only the keyboard, it’s even harder. Without being able to follow a moving cursor around the screen, it’s tough to know what they’re in the process of doing until it’s already done.
Enter Keycastr. Like your own form of live closed captioning, this Menu Bar application displays every key that you type in a little auto-fading heads-up display on your screen. As you move around your screen and editor using keyboard shortcuts and vim incantations, your work will be displayed in real-time — as you type, not just after you type. That means that, yes, all of your typos and autocorrect reliance will be exposed. But honestly, that’s probably for the best anyhow. It’s easier to remember your partner’s humanity when you watch them type “functino” for the thirtieth time that day.
Having an extra stream of data in your partner’s peripheral vision helps them stay connected to what you’re trying to do when you’re in the zone and not saying many words out loud. It’s also a pretty neat teaching tool. You don’t have to pause and ask, “Do you know the key combo for…” And your partner doesn’t have to stop and ask, “Hey, how did you just change those enclosing parentheses into braces?” You still can have those conversations, but with Keycastr running in the background, you’ll also have a completely passive flow of information that neither of you has to actively seek out until you notice something interesting.