Ask HN: Solutions for collaborative code review, pair programming?
Hey HN,
Me and a friend of mine want to do a series of screen casts of walking through and modifying open source code of popular libraries. The idea is to help people dig into OSS and to understand how the software they use work under the hood!
I plan to start with JavaScript based front-end libraries. So other than the editor and terminal, there is the browser as well that needs to be shared.
Any hints on what tools I can use to collaborate with my friend online? Final product is a open video playlist on YouTube. Ideally I'd like my friend to also modify the code when we're playing with it!
44 comments
[ 4.7 ms ] story [ 96.2 ms ] threadI've tried it and it worked well.
[1] https://code.visualstudio.com/blogs/2017/11/15/live-share
Thanks!
With the "rendez-vous" URL being hosted by Microsoft (it looks that way in the video), does it mean your source code is sent to Microsoft, or does the server-side simply act as a relay to facilitate communication between 2 endpoints without needing to be exposed to the code?
> Note that Live Share's cloud relay does not persist any traffic routed through it and does not "snoop" the traffic in any way.
So it sounds like it's your traditional NAT traversal with TURN/STUN, and their promise that they don't snoop if the end up relaying.
Very cool!
https://github.com/typeintandem/tandem
The liveshare feature does require you to be signed in to Github or Microsoft. So the sharing might not work with other proprietary SC or even Bitbucket or Gitlab.
The current implementation uses temp files everywhere and an odd way of driving Visual Studio. I'm really keen to see where this goes in the future.
- zoom.com: You can share desktop or windows with groups or individuals. We use it at work, the user experience is really great. There is a record-feature (probably not available in the free version).
- slack.com: The popular chat provides a desktop (not windows) share feature. I am not aware tough if you can share a stream with a group of people.
At Scribma, we're building a new tool for doing exactly this: sharing both code, terminal, and browser, and collaborating using 100 times less bandwidth than you would via traditional screen sharing tools.
Also, it's automatically recorded, so you don't have to worry about doing screen recording via e.g. QuickTime while coding (which at least makes my mac fan go nuts after a few minutes).
You can check out a video of it here: https://www.youtube.com/watch?v=Rsorl3-TjdY
We're on the lookout for more beta testers, so I'd love to set up a chat with you.
Interested?
If so, let me know at per@scrimba.com
I'd love to give you a proper walk-through if the entire product if you're interested? :)
And here's the npm package you need to get started: https://www.npmjs.com/package/scrimba
[1]: https://support.apple.com/en-au/guide/messages/screen-sharin...
Edit: ngrok for exposing ports, OBS can stream and record simultaneously.
If it can stay purely on codepen, that's a great alternative too
https://www.use-together.com/
Looks pretty cool actually.
When you share a screen or app with people via USE Together, you see each user's mouse cursor on your screen and they can interact with your apps in real time, feeling like you are at the same desk.
You can share any IDE with USE Together :)
[1]: https://github.com/tmate-io/tmate
Having said that, almost anything works well if you are close to each other or if you are only going to pair for an hour or so. Even non-collaborative conference call-type tools work fine. One person does some work. Then they check in their code to a git repository. The other person merges the changes, shares the screen and picks up from there. It means about a 1 minute "keyboard handoff", but it's pretty reasonable.
For you, though, I think the main thing is trying to find a solution that allows you to capture video and audio from both parties easily. You don't want to be relying on two parties to record and then editing because it's pretty risky if something goes wrong. I would first look at mutli-gamer streaming setups and then start seeing how a collaborative session might be done.
There is a 14 year old (!!) issue in their issue tracker https://youtrack.jetbrains.com/issue/IDEABKL-708 asking for such feature. Unfortunately they are so much better in other areas (code navigation/exploration, refactoring) that they don't have to even try :-//.
There is a commercial plugin https://floobits.com/, but it is - monthly subscription - buggy - transfers code to their servers so it is not really an option.
[0] https://tuple.app
[1] http://artofproductpodcast.com/
[0]: https://codesandbox.io
https://github.com/tmate-io/tmate