Programming in Pairs (And Quads)

03 Jun 2020

Social distancing has been the norm for a while now. Despite that however, there are still many people who have been working, but instead of at an office, it’s from their home. In the case of programmers around the world, remote pair programming applications are incredibly useful for sharing and editing code with co-workers online. This past week I had the chance to try out two different remote pair programming applications, Floobits and CodeTogether.

Session #1 First Time With Floobits

For my first remote pair programming session, I tried out Floobits with my fellow intern Quinne Uchida. Prior to the session, we agreed to start out with a Zoom call in order to vocally communicate with each other. In addition, we both had already installed Floobits onto our IntelliJ applications beforehand as well. I did not encounter any difficulties in installing Floobits. However, I initially had trouble locating my Floobits plug-in on my IntelliJ application because of a mismatch from what the online guide showed and what my application displayed.

Once we got the session started we decided I would try to access Quinne’s workspace first. I did so by clicking on a link she sent me which made it simple and easy. From there, I was able to view her code and after gaining permission from Quinne I was also able to edit. A neat feature was that we could see where the other’s mouse cursor. Floobits also has a “Summon” feature which results in being immediately taken to a specific part of the code.

However, something that Floobits does not have is a way to share rendered code. In order to view each other’s rendered mockups, we used Zoom’s screen share feature. Through this, we were able to see the rendered website for each other. After going through eachother’s mockups we both gave input on things we noticed, liked, or could be improved on. This session lasted about half an hour.

Session #2: Team Floobits

The second remote pair programming session I participated in was with three other people, Quinne, May Deyo, and Hanna Park. Similar to the first session we also used Floobits and had a Zoom call going to allow for voice communication. Since Quinne and I already had experience with Floobits it went quite smoothly. Even with the addition of two people Floobits worked well. We were all able to view and edit each other’s files. Likewise with Quinne and I’s previous session, in addition to viewing eachother’s code we also looked at each other’s rendered mockups.

Since the session involved four people this allowed for a greater amount of feedback and discussion on the mockups and on CSExplore as an app in general. Although we did not do much coding together since our files were in markdown which is relatively simple, I thought it was still a good way to see how everyone is doing in their tasks and what ideas they’ve come up with. This session lasted about an hour.

Session #3: CodeTogether Teamwork

For my third and last CodeTogether session, I worked again with Quinne, Max, and Hanna. However, this time instead of Floobits we used CodeTogether. This session revealed that CodeTogether only allows one person to type at a time. In my opinion this was a disadvantage in comparison to Floobits which allowed us to all type together without waiting for someone to finish. This session lasted about half an hour.

Remote Pair Programming Overview

Overall I prefer using Floobits over CodeTogether. The ability to have multiple people type and edit code at once is a definite strong point that Floobits has. However, despite that one key difference I found that the two applications are still quite similar to each other. Although I personally prefer Floobits, CodeTogether is still a viable option for sharing and editing code with others.