As remote work gains more traction, we have to find the best ways to communicate from a distance, so today on the show we discuss our favorite screen sharing and remote collaboration apps. From pair programming and code sharing software to video chat applications boasting drawing functionality and cool screen widgets, you’ll hear our take on the landscape of tools that allow you to connect with your friends and co-workers from the comfort of your home. We talk about how our beloved Screenhero got butchered by Slack and whether its predecessor, Screen.so is doing a good job of carrying the baton. Zoom, Slack and Google Meet all support video conferencing and a limited degree of extra features, but there is some bias as to what people prefer. We move on to discuss more programmer-centric apps that allow remote control and code sharing and which work best for your preferred IDE. Wrapping up, we get into some super low-level apps that any cool kid worth their salt would flock towards. Tune in today!
Key Points From This Episode:
Transcript for Episode 177. Remote Collaboration & Screen Sharing
[0:00:01.9] MN: Hello and welcome to The Rabbit Hole, the definitive developer’s podcast. Live from the boogie down Bronx. I’m your host, Michael Nunez. Our co-host to day.
[0:00:09.3] DA: Dave Anderson.
[0:00:10.1] MN: And our producer.
[0:00:11.3] WJ: William Jeffries.
[0:00:13.9] MN: And today, we’ll be talking about screen sharing. I think we’ve all been screen sharing for some time for the past couple of months since we’ve all been locked in together. And we’re going to discuss some of our favorites and some classics and figure out which one’s the best out of all of them, I guess.
[0:00:32.0] DA: It’s a contest. I mean, there’s like a lot of new things that are coming out, it takes a minute for technology to catch up with the situation but there’s definitely some different options coming on the market.
[0:00:46.6] WJ: I think it also takes a minute to hear about these things. Screen.so I think has been out for a while but I just heard about it this week.
[0:00:55.7] DA: Yeah, I haven’t heard about that one yet.
[0:00:57.6] WJ: Screen.so, it’s from the people who brought you Screenhero way back when.
[0:01:05.0] MN: Man, classic screen hero.
[0:01:08.0] DA: They’re back on the screen.
[0:01:08.7] WJ: Screenhero was my jam and then Slack bought it and ruined it and –
[0:01:14.2] MN: Ruined it?
[0:01:16.1] WJ: It was the worst.
[0:01:18.6] MN: Why would any organization do such a thing like that?
[0:01:22.3] WJ: It’s messed up.
[0:01:23.6] DA: There’s actually a pretty good website, it’s actually a pretty good writeup on why the founder of screen hero got acquired and then started building a similar tool again.
[0:01:36.2] MN: Because Slack killed it, that’s why.
[0:01:38.2] WJ: Yeah. I mean, he’s like, his letter is like, “You know, bundling software is hard and the performance gains that we had made with Screenhero didn’t translate, but once it was bundled into Slack, Slack’s a bigger, heavier tool. Which seems kind of like just throwing shade on Slack. “Their performance issues were so bad that it ruined our tool so I’ll just write a new one.”
[0:02:06.1] DA: I mean, it is pretty bad.
[0:02:08.6] WJ: Yeah, I don’t really mind throwing some shade on Slack after they murdered Screenhero.
[0:02:15.0] DA: They’ve done some work on it recently to make it a bit faster but you know, it’s kind of a chonker.
[0:02:21.5] MN: I mean, I feel like I was able to do a whole lot more on Screenhero than what I can do now on Slack.
[0:02:28.4] WJ: yeah. They nerfed the best features.
[0:02:31.6] MN: Yeah, like I mean, I don’t know – I don’t think I’ve ever opened up Slack for the purpose of like clicking and controlling a computer and stuff like that. I think that Screenhero was really good in that regard. Like to me, the Slack integration of pairing with someone or screen sharing in general is no different to me than Zoom for example where it’s like I’m looking at your screen and we’re sharing things and I – on Slack, I can occasionally draw smiley face on your screen and be annoying. But that’s about it.
[0:03:04.5] DA: Yeah, you can’t collaborate deeply but there’s that. It definitely a good default if you don’t have anything together, tool setup
[0:03:16.4] WJ: If you don’t have anything else.
[0:03:17.7] DA: Right.
[0:03:18.6] WJ: If you have literally no option then just use the built in Slack one. Yeah, I mean, even their regular audio calls, even when they’re not streaming video, it’s the least reliable of any of the things, drops the most calls.
[0:03:35.1] DA: Yeah, it’s kind of interesting too, like Screen came out and I’m looking at their Twitter, it was March 24th so like pretty good timing with everyone going into lockdown.
[0:03:49.8] WJ: I think they had to launch early to hit that.
[0:03:53.5] DA: I’m sure. It’s also funny with all the wind in the sales of Tuple who we’ve talked about before in the podcast. Kind of also trying to fill that spiritual hole left by Screenhero. How did Screen.so stack up? Are there any like different or interesting features?
[0:04:13.5] WJ: Screen.so is more feature rich. They do video so you can see the other person that you're pairing with while you're pairing. I mean, I think that’s the most noticeable difference.
[0:04:28.8] MN: Tuple has that too now actually.
[0:04:30.0] WJ: But they also have like built in chat and like a little panel with stats. It feels like a – perhaps it is marketing itself more toward a general audience and less sort of programmer audience. I really loved having the video while I was paring.
I thought that was a major value ad but then, there was a major performance tradeoff. It was noticeably shakier thanTuple
[0:05:04.6] MN: You have that sweet internet from Korea, I don’t know if it stacks up in comparison to our very brittle USA infrastructure internet. I’m sure you were able to connect and screen share plus video sounds like a lot of data transfer.
[0:05:21.1] WJ: Yeah, I’d be curious what your experience is like if you guys try it.
[0:05:25.5] MN: I’d be interesting giving it a go. I think it’s free right now for the coronavirus outbreak which is pretty cool.
[0:05:30.9] DA: Yeah, I’m curious to give it a shot. It’s good to have like some different tools in your bag in case one isn’t working so good. You’re saying, identifying like some bandwidth issues with one tool, try different tool and see if that works a little better. My colleague who I’m pairing with a lot right now, he is like, you know, shack in Vermont on a lake and it’s beautiful, it looks like the best programming experience that you could hope for. I did have him do a speed test and it’s you know, 15 down and two up.
[0:06:11.4] MN: Is it 1999 over here? DSL dial up.
[0:06:16.7] WJ: Two up is not enough to screen share, you will have to host – it is 15 down is not enough to suit your screen.
[0:06:25.6] MN: Yeah, that sounds rough.
[0:06:27.6] DA: Although, I always actually very impressed. The first day we’re working and he was in this beautiful shack, did not work so good because there was four people on like video chat or other platforms doing heavy work. But then like, it’s any day, less people working, it actually worked.
We did fall back to Zoom to do more of like a one way screen share without as much of the rich features because Zoom just kind of – it was a little bit more adaptable to like, scaling back to more of like a slide show kind of experience for him.
[0:07:09.1] MN: Yeah.
[0:07:09.4] DA: Lesser resolution, more compressed and so like, obviously it’s not a good experience for day to day, you want more clarity and framerate and response time from like one of those more advanced tools but if you’re in a pinch, then something like Zoom will also work fine.
[0:07:34.3] MN: Have any of you used any editor based screensharing tools? You know, not literally sharing your screen when people can see like your browsers and stuff but you mentioned you pair program and I’m wondering if editors sharing software would make things a little faster because you’re not like sharing video, megabytes of videos or you need to share through a screen more so than just code that’s being typed up?
I’m curious if that has alleviated some of the problems that any of you may have when pairing.
[0:08:04.7] WJ: I have used tmate sharing. Which allows you to share both the terminal and a VIM editor if you're using VIM, I guess Emacs also, any terminal based editor but I really missed being able to see the other person’s browser with the same issue with Floobits. Floobits which is cool because that one allows you to pair cross editor if the other person uses a different editor.
[0:08:36.2] MN: Interesting, yeah.
[0:08:37.7] WJ: I can be working in Sublime and you can be working in VS Code or whatever.
[0:08:43.2] MN: Yeah, because I’ve used a VS Code editor sharing software and like, the Collaborate I think it’s called and that one was pretty cool. But I do agree with you, the idea of if you're working something on the front end, you know, you do a little type and then you command tab and reload the Chrome like they don’t get to see that second part which makes it very difficult for them to know, to share the same excitement when your CSS is finally working.
[0:09:07.2] DA: That’s true but I think like, in this case, where I’m trying to work within the bounds of the two up, sending that lower number of that amount of data like just the characters that are changing and keypresses and things like that.
Something like that could be a good alternative, so we’re using VS Code and I know that that supported this kind of remote coding feature for a while but I did hear recently that IntelliJ had an experimental feature for their editor as well and I think I may be doing a bit more Python, right now we’re doing equal react and front end development but I think we’re doing more Python development so I think it might be time to dust off my IntelliJ license and –
[0:09:53.4] MN: What is it? PyCharm? It’s called.
[0:09:55.8] DA: Yeah, PyCharm yeah, the base like IntelliJ editor, there’s like a lot of shared code with everything and there’s a new code with new plugin that you can use with like the 2020 IntelliJ release.
[0:10:09.8] MN: Wow, that’s dope, yeah, I tend to forget that you don’t need to install the specific language preferred IDE in, you can just get IntelliJ and then download all the plugins for it.
[0:10:21.7] DA: Yeah, I probably could have used PyCharm like I have a pie charm license but I probably could used it for this react work that we’re doing but I’m not touching any python code at all and I felt like a little weird using PyCharm. Yeah, it’s like using a saw as a hammer or something but it really is the same tool under the hood.
[0:10:44.9] MN: Yeah
[0:10:44.3] WJ: Yeah, I mean, I guess you could shout out for WebStorm.
[0:10:48.1] DA: Yeah, right?
[0:10:50.2] MN: Man.
[0:10:50.6] DA: They would love that wouldn’t they?
[0:10:52.9] MN: But I think you also mentioned before in the meantime, I think it is natural when paring with someone, I always find myself like I can always fire off Tuple to pair with someone but usually, when I’m like, “Hey, you have five minutes?” It’s never just five minutes but you have five minutes to talk about this problem that I’m having and then it’s usually like, a Zoom session that we’re having and then we end up pairing over Zoom.
There’s that or even Google Meet. I know that there are people out there who are like, - I’m not going to join a meeting with Google Meet, get out of here, send me a Zoom link and stuff like that but I tend to use Zoom when I need to like hash something out.
[0:11:33.4] DA: Yeah, I don’t know. I have used all of these things. It is kind of crazy, you think that I would just be like, “Oh well I am just going to use this one thing that works,” but just today, I was trying to work with a designer and they didn’t even have Zoom installed and I was like, “Okay, I guess we are going to use Google Meet,” and it worked fine. Just coming a long way.
[0:11:57.0] MN: What? They didn’t have Zoom installed.
[0:11:57.9] DA: Yeah, they just got a new computer or something and so they just didn’t do it.
[0:12:02.2] MN: I was going to get that person to say, “Excuse me,” because, you know, everybody, I always get dirty looks or dirty comments rather when I am rather, “Oh yeah, I sent you a Google meet, like check out the link,” and they are like, “Oh no, don’t do that. Send me a Zoom link please, and I’m like okay. No, people are all about their Zoom right now. Their virtual background game is crazy that’s why.
[0:12:24.0] DA: Right, got to get on that.
[0:12:26.3] WJ: Yeah, I got to get on that game.
[0:12:29.8] DA: I heard there is a new feature for like adding weird faces like what is that app that the young people use?
[0:12:39.2] MN: Oh bro, you don’t know? I mean for our audience out there you can’t see but I got a little curly mustache on my Zoom right now and it is pretty nice.
[0:12:48.8] WJ: Oh yeah.
[0:12:49.5] DA: What? No.
[0:12:52.2] MN: Yeah man, it is one of the many futures of Zoom is they got the new video filters. So I switch my camera, curly mustache where it’s at.
[0:13:04.2] DA: Yeah, I don’t know. Ben Orenson, when are you putting this feature in Tuple?
[0:13:08.9] MN: Yeah, we’re going to need this in Tuple and I got my 3D glasses on, you know?
[0:13:13.5] DA: Wait, how do you do this?
[0:13:15.5] MN: It’s just video card baby, I don’t know to be honest. So you got to click on that little carrot, you clear cut the carrot and it says ‘choose virtual background’, and right under it it says, ‘choose video filter,’ and then – bro, I have one eye bro.
[0:13:31.5] DA: Oh my god.
[0:13:32.4] MN: Look, my bar is loading. I have a loading bar above my head, yeah. So when I am – and the weirdest thing is like I will have one of these joking around and then come my next meeting tomorrow where I have the startup pair programming session with someone and I got a curly mustache waiting for them before we started pairing is kind of what happens. Yeah I think whether it is Zoom or Slack or Meet, those are pretty good collaborative software.
But you can’t really pair on someone’s machine like you can be a driver if someone has like a Zoom link. It is very hard to do that and I think that Tuple and Screen.so makes a little bit easier to do that kind of pairing session.
[0:14:13.5] WJ: Has anybody used USE Together?
[0:14:15.8] MN: USE Together?
[0:14:17.8] WJ: Yeah.
[0:14:18.5] DA: I did use that many years ago in the before time. It has been a while since – it was like just coming out. So it was a little rough around the edges but it worked pretty good like it has the multi-cursor game, which wasn’t even in Screenhero, which I was mourning at the time. So it was pretty good.
[0:14:40.7] MN: I never used the – USE Together before but I imagine multi-cursor must have been like game breaking at the time and being able to click and identify whose where and whatnot, those are always fine so remember having a jolly old time on Screenhero with that.
[0:14:55.5] DA: I mean surprisingly one of the most clutch features is just gesturing wildly at the screen. If you can sketch on the screen then that is – I can’t go back to not being able to draw the screen like you can do that in Zoom. If you pull down like annotations but it is not made for this kind of transient notation like this really quick back and forth of like drawing on some there, calling attention to something. It is like if you are using the annotation in Zoom then it is for a whiteboard session. So a little bit different with focus.
[0:15:35.0] MN: Yeah and I always tend to forget how to erase my annotations. So it is just like on the screen for like 15 minutes because I always forget how to do it.
[0:15:45.4] DA: That is just disrespectful. You are basically just graffiti-ing their screen.
[0:15:48.7] MN: Yeah and I really don’t mean to but it is just like, “Oh yeah, you see that line right there on line 23?” and then I try to underline that line and then it is just there the whole time because I forget how to erase it. So annotation on Zoom is something I like try not to do. I am curious if you guys have ever used any other screen sharing. I know that a lot of the stuff that we do programmatically, you know Tuple is really good at pair programming, Screen.so and USE together.
I know that one layer beyond that like we mentioned is just like Zoom, Slack and Meet where we’re just looking at the screen and kind of going through the code without actually getting our hands in there but as anyone ever used something even more lower level of screen sharing? Because as we were coming up with this topic, I have some classics in mind.
[0:16:36.7] WJ: There is a built in screen sharing software that comes with all Macs screen sharing.
[0:16:42.9] DA: I did not know that.
[0:16:44.4] MN: Yeah, what?
[0:16:45.6] WJ: Yeah if you just screen sharing into your spotlight it will pop up with an app called Screen Sharing. It ships for free with OSX.
[0:16:55.7] MN: I need to screen share with somebody. I have never seen this screen before.
[0:16:59.0] DA: It seems like so sussed though, I just opened it up and it is just a text box that says connect to a thing.
[0:17:07.1] WJ: Yeah it is very low level. There is not a lot of extra bells and whistles. You can’t friend to other people and have a short list of friends or you definitely don’t have multi-cursor or drawing on screen or any of those fancy features. No video but it is pre-installed in every Mac. So if you don’t want to have the other people go through a painful set up process, you couldn’t just having them used built in screen sharing.
[0:17:38.5] DA: I imagine it is probably pretty close to the metal too like pretty lean in terms of like the bandwidth that it is going to be using as well.
[0:17:48.9] WJ: Yeah, it should be fast.
[0:17:50.3] MN: Oh man, I need friends to try this out. I don’t think I’ve ever used it before. I definitely think this is called the – the one I had in mind is VNC. I forget what the acronym stand for but I remember using that to screen share to like a completely different machine that I had installed in the network to just so that I can do that, which I thought it was pretty cool. Virtual Network Computing. I don’t think anyone on purpose would have this installed for the sake of collaboration though.
[0:18:21.7] DA: I remember like the coolest kids would do this.
[0:18:27.0] MN: Oh yeah, definitely.
[0:18:28.3] DA: I always try to get the remote desktop set up like the RDP on Windows but I would get frustrated by that as well like sometimes it would work but yeah there is different protocols for doing screen sharing like there is also X11 that you can use on Linux.
[0:18:49.8] MN: Oh wow, that sounds like some cool kid stuff right there though, X11?
[0:18:55.6] DA: Right, it is just do esoteric like you know that it is not going to be user friendly at all but you got to know what you are going to do like you are not going to like – you definitely have not going to have a friend’s list at all or even maybe not even a text box to answer a friendly too.
[0:19:12.7] MN: Oh it’s cool, I just Googled it. It is called X11 VNC so it is possible that it is like a Linux derivative of the VNC application for Windows.
[0:19:21.3] DA: Oh maybe, yeah maybe that is just the standard it uses or something. Yeah the one that I did have some success using in like a past life as an IT person use Team Viewer just like connecting to all of those computers and controlling them and that was pretty cool but I have never used it like actually for collaboration. I feel like it is always kind of like I am controlling your computer now I’m the captain kind of thing.
[0:19:51.1] MN: I’m the captain now I need to do – I need to make changes to your MS config on Windows.
[0:19:58.2] DA: Yeah. It is like, “I am just going to edit your registry. Goodbye.”
[0:20:04.3] MN: You know, to make it faster. Yeah, those are definitely more, I don’t want to use the word industrial but it sounds like more underground level, screen sharing software, not normal on the field of our job I guess.
[0:20:21.7] DA: It’s good that there’s so many options out there that are like fully featured, heavyweight, user-friendly, or lighter weight and using ones with the bandwidth.
[0:20:33.9] MN: Yeah, I’m actually really curious if there’s anything we might have missed like we mentioned before like technology doesn’t move too fast for us to know what will be very beneficial for us to pair program it or collaborate with the designer but Tuple, I definitely got Tuple installed, got the Zoom, Slack and Meet whenever I need to. Definitely have to check out the Screen.io.
[0:20:54.1] WJ: Screen.so.
[0:20:56.0] MN: My bad, Screen.so for those who are interested in checking that out. See what works for you on the field and pairing as we are all at home. I haven’t seen William in many months now because he’s been far away in Korea. Dave could be just as far away because I haven’t seen him since February I think and – well, I’ve seen your face in Zoom, yes. That is correct but as we are all at home, we have to find the best ways to collaborate and the all the software we mention is probably a start of that.
[0:21:32.5] DA: Yeah, I’m sure we missed stuff too. Is there a way to like pair program in Google Doc? I don’t know.
[0:21:39.4] MN: Yeah, I’m sure there’s all sorts of different collaborative software that’s not like programming related but I have no idea. Miro, I know that’s one of them, people love that one, I don’t even know if I’m saying that right. Shout out to the kid Miro if that’s what I think it is but I know it’s one of those collaborative software that’s outside of the realm of what we are screen sharing but those are very interesting.
[0:22:03.0] DA: Yeah, let us know, we’ll have a sequel.
[END OF INTERVIEW]
[0:22:05.6] MN: Follow us now on Twitter @radiofreerabbit so we can keep the conversation going. Like what you hear? Give us a five star review and help developers like you find their way into The Rabbit Hole and never miss an episode, subscribe now however you listen to your favorite podcast. On behalf of our producer extraordinaire, William Jeffries and my amazing co-host, Dave Anderson and me, your host, Michael Nunez, thanks for listening to The Rabbit Hole.
Links and Resources: