Date
1 - 20 of 35
Remote Pair Programming
Adam Wildavsky
What's the state of the art on this? We may need to try it more often going forward! I'm joining a remote hackathon this weekend and would love to be able to pair effectively.
|
||||||||||
|
||||||||||
Steven Smith
Just Zoom or similar will let one side share a screen and both talk with video. That's sort of the bare minimum. I've had good success with Live Share for Visual Studio and VS Code. Others have had different experiences. Combine that with your voice/video chat of choice and it works really well, as both parties can edit (and run!) the same code in realtime, from their own IDE (with their own themes, shortcuts, etc). Steve
On Tue, May 19, 2020 at 12:55 PM Adam Wildavsky <adam@...> wrote:
--
|
||||||||||
|
||||||||||
Shane Mingins
I listen to a podcast from one of the co-founders of https://tuple.app/ I haven't used it so cannot comment on how good it is or not and it is Mac only. One of their recent part time hires was one of the screen hero founders. (I liked screen hero a lot) Cheers Shane
On Wed, May 20, 2020 at 6:36 AM Steven Smith <ssmith.lists@...> wrote:
--
Shane Mingins
|
||||||||||
|
||||||||||
Dave Nicolette
I've tried:
toggle quoted messageShow quoted text
- Live Share with VSCode - worked well for me. Have another mobbing session this afternoon using these tools. I can let you know if we experience any problems with it. - Floobits - seems to work well. They have an alpha release of an IntelliJ plugin. I like it except that you have to open a web browser separately from IntelliJ to sign into Floobits, which makes it kind of a non-starter for a Dockerized dev env. - screen.so - apparently started by one of the original authors of screenhero, but it really isn't as good. I didn't like it. They're trying to make it into a sort of Zoom for devs. Tools that just do one thing and do it well are preferable IMO. - tuple.app - works okay but is Mac only. Possibly not an issue in all cases. - use-together.com - works pretty well. Free plan is good for up to 4 participants. Paid plans are per-user, which puts the tool out of reach except for corporations. - codetogether.com - works well, but the free plan only supports 2 people. Okay for pairing but not mobbing. Paid plans are per-host, not per-user, so it isn't exorbitant. - For several mobbing sessions, I've used Zoom plus people's local dev environments, handing off by committing to Github and switching the screen share to the new driver. Also tried the same scheme using Discord instead of Zoom. Both okay. Used the "mob" tool, both separately and the intellij-mob plugin. Seemed okay but sometimes the audible signal to switch drivers doesn't happen. Hope that helps.
On Tue, May 19, 2020 at 1:18 PM Shane Mingins <shane.mingins@gmail.com> wrote:
|
||||||||||
|
||||||||||
John Maxwell
I've found that character-based screen sharing with tmux or tmate and
either emacs or vi works best. I assume other character-based editors would work OK too. tmait.io is a web-based service that's convenient, but occasionally freezes for brief periods. Graphics screen sharing just eats too much bandwidth; somebody's always not getting updates, and I'd rather use the bandwidth for video anyway, so as to have better inter-person communications. -John -- John Maxwell KB3VLL jmax@jmaxhome.com
|
||||||||||
|
||||||||||
Dave Nicolette
Yes indeed tmux works great for character-based development. If that's
toggle quoted messageShow quoted text
what your team uses, go for it. For the general case, that is the millions of developers who use IDEs, that's really not an option.
On Tue, May 19, 2020 at 1:54 PM John Maxwell <jmax@jmaxhome.com> wrote:
|
||||||||||
|
||||||||||
Christoffer G. Thomsen
On 19/05/2020 18.55, Adam Wildavsky wrote:
What's the state of the art on this? We may need to try it more oftenTuple[0] is great, but unfortunately only available on macOS. It's also a bit pricey. Use Together[1] is a good alternative, it's cheaper and has cross-platform support. There's also Screen[2], which is brand new. When I tried using it at work, we ended up going back to Zoom because it had too many issues (we later switched to Use Together). Tuple and Use Together are good enough that it's absolutely viable to drive on someone else's machine, at least as long as you have low latency and are able to make a direct connection between the pair rather than going through the services' relay servers. Under good conditions, you barely notice that it's not your local machine. VS Code Live Share[3] works well very for what it is. I use IntelliJ as my daily driver, so it's not a viable option for me. It's also available for Visual Studio proper, but I haven't tried it since I don't use Visual Studio. I've tried Floobits[4] once, it was not a good experience. We found it disorienting because couldn't see each other's autocompletion popups and dialogs and such. Of course, there's also Zoom, Teams, etc. I wouldn't bother with those unless it's a one-off session and it's the easiest way to get everyone connected. It also works fine if the host is the driver, but I'd still prefer Tuple or Use Together in that scenario if available. In summary, I think screen sharing is still the way to go. Technically, Tuple is my favorite, but it's too expensive and only available on macOS. I would recommend Use Together unless the drawbacks of Tuple aren't a problem. [0] https://tuple.app/ [1] https://www.use-together.com/ [2] https://screen.so [3] https://docs.microsoft.com/en-us/visualstudio/liveshare/ [4] https://floobits.com/
|
||||||||||
|
||||||||||
Adam Wildavsky
Thanks for all the thoughtful replies!
Most of us will be using VS Code, so I'll try VS Live Share if I find a pairing partner.
|
||||||||||
|
||||||||||
Andres Joaquin
I really like the combination between VS Code Live Share and Discord for pairing or mobbing. And for LIve Share you don't even need to have VS code installed, you can run it from a browser. Add Mural for visual management and you will get a really good setup for a distributed team, it's like a virtual office.
On Tue, May 19, 2020 at 5:46 PM Dave Nicolette <davenicolette@...> wrote: I've tried:
|
||||||||||
|
||||||||||
Colin Hart
We have been pairing/mobbing regularly over Zoom for over a year now on my team. I've also followed this pattern on previous teams/companies I definitely wouldn't discount it outright, but would concede it's maybe a different experience than the shared environment (I've never worked with anyone who remote paired that way so couldn't speak to it.) It does mean we don't need to worry about latency and folks can use the editors they're comfortable with which is good from an equity perspective. We just use git aliases for switching roles, opening all the files on the branch, or the previous commit. Works well enough that we default to pairing like that even on the occasions we're physically in the office.
On Fri, May 22, 2020, 13:27 Andres Joaquin <andresjoaquin@...> wrote:
|
||||||||||
|
||||||||||
Dave Nicolette
The responses in this discussion demonstrate that there are many ways
toggle quoted messageShow quoted text
to pet a cat. ("Pet a cat" is a metaphor for "do remote mobbing", in case it wasn't clear. I can never really tell whether I'm clear or not.)
On Fri, May 22, 2020 at 11:01 AM Colin Hart <me@colin-hart.com> wrote:
|
||||||||||
|
||||||||||
There is also a very low-cost solution using Git, described by Philippe Bourgau here https://philippe.bourgau.net/best-open-source-tools-for-remote-pair-programming/
It's based on the use of a couple of scripts, one for the driver and one for the navigator(s). -- Matteo Regazzi
|
||||||||||
|
||||||||||
Phlip
We need editors that support dual keyboards and mice. Programming in pairs is only 20 years old - the industry still needs time to catch up to us.
|
||||||||||
|
||||||||||
Ted M. Young [@jitterted]
Another anecdote... I did some pairing with a fellow in Austria (I'm in the San Francisco Bay area) all last week. We were both using JetBrains IDEs (he was using WebStorm and I used IntelliJ IDEA), so using VSCode was out of consideration. We used Zoom for screen sharing and video/webcam and first tried Code Together, but didn't realize that only the "host" runs in the IDE, the "remote" person has to edit in the browser, so we quickly ended that and moved on to Floobits, which I had tried (and didn't like) years ago, but after a bit of stumble through the setup, things generally went very smoothly. We did get into a weird situation where it stopped syncing (my guess is because we were having connectivity issues), and had to create a completely new "workspace" on the Floobits site, but for 95+% of the time it worked surprisingly well! Since Floobits only syncs the code, we found that both of us sharing our screens meant that we could watch the other person as they went through autocomplete and, more importantly, see the results of them running the tests. What helped even more is that I had the "light" theme in my IDE while my pair had the "dark" theme, so we never got confused as to whether we were looking at our own screen or at our pair's. We couldn't use Tuple, since he was running on Windows, and from past experience using the screen sharing to type remotely on someone else's IDE just didn't work for me. I'm a "power" user of IntelliJ and have a fair number of plugins, customized live templates and use all the shortcuts, which some screensharing programs don't always transmit correctly and that ruins the experience for me, not to mention I'm pretty impatient with the remote lag. I hope to incorporate using Floobits (and other tools) into my live coding stream on Twitch to invite, on an impromptu basis, someone in my audience to join and pair with me. We'll see how that goes in the coming weeks. ;ted
On Mon, May 25, 2020 at 5:56 PM Phlip <phlip2005@...> wrote:
|
||||||||||
|
||||||||||
Avi Kessner
I've worked a few times with both people typing in the same document and clicking around. I found the experience to be rather unhelpful. It's much better to have a single driver with the ability to switch or take over When I got my driving license, the instructor had their own set of gas pedals. Great for safety, horrible for driving smoothly. So I think that is why nobody has provided dual input solutions. They likely didn't get past market testing.
On Tue, May 26, 2020, 03:56 Phlip <phlip2005@...> wrote:
|
||||||||||
|
||||||||||
Jeff Langr
Ted M. Young [@jitterted] wrote on
5/25/20 10:55 PM:
Hi Ted, I too thought Floobits was promising. Unfortunately I had the same experience as you did: It stopped syncing a few times within my 3-hour session. Waiting for a full minute or so appeared to clear up the problem at least a couple of the times. I dropped a line to their support (I was on the trial paid plan at the time) but never heard from them. Both the severeness of the problem and lack of response put it in the "can't consider it" pile. Jeff
|
||||||||||
|
||||||||||
Dave Nicolette
Waiting a full minute. Ouch. The support story is useful. Thanks for the heads up.
On Tue, May 26, 2020 at 6:04 AM Jeff Langr <jeff@...> wrote:
|
||||||||||
|
||||||||||
Tim Ottinger
Our experienced couldn’t be less similar. I have had great success with pair-writing (with Jeff Langr and teammates) and have really enjoyed dual-input solutions back when we had screenhero (RIP). It allowed many people to each have their own cursor-keyboard control simultaneously and had almost no lag. It was great before Slack messed it up.
toggle quoted messageShow quoted text
I love remote pair programming, but what I find is that when remote I have a tendency to forget or hesitate to switch driver. Maybe it’s the friction of request/approve/blah. Maybe it’s something else. I don’t know.
On Tuesday, May 26, 2020, 06:09, Avi Kessner <akessner@...> wrote:
|
||||||||||
|
||||||||||
Jay Bazuzi
Collaboration is generally a disappointing afterthought in so many applications. Even software whose purpose is to help people work together! In my work-tracking system, why can't I assign work to two people or to a whole team? Or attribute work item modifications to two people or the whole team? I used a "lean coffee" application the other day where only the elevated role of facilitator could move topic cards around on the table. -J
On Mon, May 25, 2020 at 5:56 PM Phlip <phlip2005@...> wrote:
|
||||||||||
|
||||||||||
Dave Nicolette
True, Jay. Last weekend I was trying to create a Docker image with
toggle quoted messageShow quoted text
IntelliJ IDEA so that all participants in a remote mobbing session could have the same environment - same versions of things, etc. It was bizarrely difficult. Opened a ticket with JetBrains and once they understood what I was trying to do they told me they have a team working on built-in remote programming support similar to VSCode/VisualStudio Live Share, but they're not ready to publicize it yet. I saw this on their backlog a few months ago, but it's only in the wake of the pandemic that it has been elevated in priority. At Play4Agile North America last Saturday, there was a session about remote programming tools. People mentioned all the issues that have been mentioned on this forum. They were hoping there was a set of tools that would work seamlessly and be just like sitting side by side. Ultimately I suggested to them that if a team is determined to make it work, they can make it work. After all, Zoom plus a procedure for committing to Github when switching drivers seems to work pretty well. Until someome comes up with that special tool that provides a seamless experience, we can still collaborate remotely one way or another, if we really want to.
On Tue, May 26, 2020 at 1:40 PM Jay Bazuzi <jay@bazuzi.com> wrote:
|
||||||||||
|