Hacker News new | past | comments | ask | show | jobs | submit login
Launch HN: GitDuck (YC S20) – Zoom for developers with real-time code sharing
264 points by borisandcrispin on Aug 20, 2020 | hide | past | favorite | 110 comments
Hi everyone! We are Dragos and Thiago from GitDuck (https://gitduck.com). We are building GitDuck, a Zoom for developers with direct integration to the IDE so software developers can talk and collaborate in real-time.

It all started by accident, Dragos and I were working on something else, a screen recording tool and we started to use it internally to record short videos of our code. At first it was just for quick code reviews and to debug, but soon we realized how helpful it was to have a video explanation of the code. Kind of rubber duck debugging with video. ;)

After talking to almost 300 developers and learning that other people were facing similar collaboration issues we decided to focus 100% on building this tool. We are the first users and we use GitDuck internally for quick assistance, pair programming, code reviews or just discussing ideas.

It has the features you would expect in a video call tool — like audio, video chat and screen sharing, but the UX and the integrations were built exclusively for developers. You can easily share your code and do pair programming. We are building integrations for all the IDEs. This enables you to collaborate without screen sharing (so it's faster and and consumes less bandwidth), directly from your IDE and independently of the IDE that other people are using.

Whenever you join a GitDuck meeting, your IDE extension wakes up and allows you to share your code with the other meeting participants (or join the already shared code from other meeting participant). When your peers join your code, they can see and edit your files in real-time, similar to the Google Docs experience. At any given point you can also go to your peers position so you can see in which file and line they are.

Check a 1 min demo (https://gitduck.com/watch/5f1808919552aefe64ce0751)

GitDuck currently has integrations to VS Code and VSCodium. In the next few days we are going to release the integrations to all JetBrains IDEs. Vim, Sublime and others coming after that.

One important aspect to mention is security. We are the first users of the service so we focus a lot on building something that we would trust to use ourselves. All the files shared from your IDE are always shared via peer-to-peer and are end-to-end encrypted. No piece of code never touches our servers, so we never have access to your code.

All calls are encrypted and p2p (if 4 or less participants). If 5 or more people join we switch to a cloud infrastructure in order to maintain the quality, but the media are always encrypted and we never have access to your calls. You can read more about it here (https://gitduck.com/security) and we are always open for your suggestions to improve.

We would love to hear your thoughts and feedback. What are your ideas about tools like this?

Thank you!




I was a big fan of Floobits a few years back. Tuple and Screen.so are great, but we have devs split between VSCode, vim 8, and Neovim, with different configurations. I would definitely pay for cross-editor collaboration that works.

I’ll give this a shot tomorrow with some friends and see how it goes!


Let me know how it goes!


Tried it out for a couple hours today! A quick experience report:

  - Collaborative editing was very solid, even with one of us using vim extensions and the other one not. (This has caused me some pain in Screen.so in particular.)
  - The leader/follower model was slightly unintuitive at times. I vaguely recall Floobits allowing either participant to e.g. create new files, but in GitDuck the leader has to share them to the workspace for them to become editable. (I might also be misremembering this from the Floobits days, but it was slightly confusing.)
  - Similar to ^ - when I was not leading, I couldn't summon the leader into a file I was editing, so I had to tell him when I was switching files. IIRC Floobits let you take yourself in/out of follow mode, even as the leader, so you would be automatically summoned when the other person switched files.
  - Looking forward to terminal support - glad that's on your roadmap :)
  - Our team is 50/50 between vim and VSCode right now, so we're looking forward to vim8/neovim support to really feel the power compared to Screen.so and Tuple.
Overall, had a surprisingly smooth experience for Day 2. Congrats on the launch and looking forward to future updates!


I have no idea why it’s called GitDuck. Code != Git?


It's because of the rubber duck methodology and in the early days we thought it would be cool to have a command `git duck` that starts a video to explain a commit.


Haha that's such a fun story!


I'll be blunt here, but I really do mean this in the spirit of constructive criticism: I hate the name. It's not related to Git in any meaningful way (why not "VimDuck" or "ZshDuck"?), and at first glance I'd assumed it had something to do with Cyberduck. Also, it doesn't exactly roll off the tongue: "hey, wanna hop on a Zoom?" flows better than "hey, wanna GitDuck?" Finally, the name pretty much limits it to only developers. Zoom was in a great place to capitalize on schools that were moving to remote classes, but "Zoom" doesn't really carry any semantic baggage. It would be awkward to explain to my boss why I wanted our company to your product for a business meeting, even if it's the perfect tool for it ("what's a git? What's it have to do with ducks?").


How is this product "Zoom for Developers"? What makes GitDuck like a video conferencing platform which supports 100+ concurrent users?

To me "Zoom for x" implies video calling as a primary feature.


'zoom' tells you that you can video/audio call people, 'for developers' tells you that it has features that help with development. It's quite clear for me.


We could have said "Google Meet for developers", but Zoom is shorter. :)

But yeah, the point is that you can video chat and we are adding other integrations for developers. Pair programming is one, terminal and server sharing is coming.


The very first paragraph lists one of the features as "direct integration to the IDE so software developers can talk and collaborate in real-time". It doesn't sound to me as if it's aiming to support "100+ concurrent users". If it can help two programmers working remotely be as productive as they would be if they were sitting side by side, then I think it's a very useful product.


I’ve never been on a Zoom call with 100+ users. While Zoom supports that, it’s not the main use case. I think saying “zoom for x” is an appropriate and efficient way to describe collaboration apps.


Best tool ever for remote / pair programming - debugging gets (almost) fun thanks to you guys :)


I also found solving conflicts fun for the first time! Absolutely love using GitDuck with my cofounder.


Definitely a step forward in sharing by allowing each person to use their own editor. Looking forward to the vim plugin.

I find myself also sharing consoles too, I'd like to see this extended to terminal sessions, perhaps the session could be rendered in other people's editors? Kind of like a live asciinema.

I'd love to try this at work, unfortunately streaming Corp's code through an unapproved 3rd party service is a no-go. This would've been really useful in college. Hope this catches on!


GitDuck founder here. The use-case you’re describing is definitely in our roadmap!

Your concerns are totally understandable and we’re more than happy to discuss how to get GitDuck approved on your Corp.

Security is one of our top priorities! [1] As Thiago said, code is shared on a P2P e2e encrypted way (code never visits our server) and we can always discuss on-prem options (100% hosted in your infra) so no data at all leaves your network and you can control all inbound/outbound traffic.

Feel free reach out if you have any other question or concern!

[1] https://gitduck.com/security


Terminal sharing is super important and we will work on it soon. This is one of the things that we need the most when we use GD internally.

Connections are P2P btw, no code touches our servers. But yeah, I understand this is not enough to get approval.


As someone who's most used editor by far is vim (can't escape IDE when writing java), I'm happy that you're doing this.

However I feel like your market may be more geared towards interviewing/learning, I don't see how in my work environment that we'll ever need this.


For terminal sharing I highly recommend https://tmate.io/


I've never thought much about pair programming within the same file, seems like a super interesting concept. Obviously co-editing e.g. google docs makes sense, but there's no user-facing concept of validity here. How does saving work, is the idea that someone codes while someone watches? This already causes all sorts of fun with collisions in git, how do people work around that locally with things like hot reloading?


The way it works is that you are sharing your local files to the other people and when they edit the file, all the changes are being applied to your file. So in the end you are the one saving all the changes and making the commits.

You can be working in parallel in different files or just following around. It really depends on what you are trying to achieve.

One cool thing to try with GD is mob programming. :)


Very cool! .. so does that also mean the remote worker can't / doesn't save? Also are the changes reflected locally for both users for e.g. testing / compiling or do you rely on compute of the remote host like VNC? How about tracking changes?


Yes, the remote worker can save and the file will be saved in the host.

Tracking changes is coming soon! This is super needed.

We are going to add soon better tools to manage (and share) the local server. So you as a guest can edit, save and see how this is impacts the local server of the host.


Cool, thanks for all the info. I will be looking for a good opportunity to try this out properly!


How is this better than Visual Studio (Code) Live Share [1]?

Adding a third party dependency for code-sharing seems like a non-starter for large enterprise companies which already have a hard enough time with the first party offering.

[1]: https://visualstudio.microsoft.com/services/live-share/


The main advantage is that you can collaborate with people using other IDEs. So I could be using VSC, other person Webstorm and a third one Vim.


Live Share works in both Visual Studio and Visual Studio Code (dunno, maybe VS Mac as well) - if you're in a dotnet shop that covers most cases.


I tried live share. It didn't work. It didn't not work with a clear error message either. It didn't work by having a loading bar that simply never finished.

The browser version of live code did work, but no. I'm not doing that.

I used to use zoom for pair programming. It got banned because, as you said, Large Enterprise Company. Microsoft lobbied them with "trust us: the company behind skype knows how to write secure software. force uninstall zoom on all your employee computers if you know what's good for you". Microsoft corporate sales are wizards.

Since zoom bombing was a thing and we couldn't be trusted to set our own passwords, I also tried using Microsoft Teams to pair program. It was absolutely unusable (e.g. if you type the keyyyyyyyssssss willlll stickkkkk).

GitDuck is probably lovely. It's a shame neither of us can use it.


I don't use VS Code, and I'm not going to switch IDEs for code sharing. I am more likely to try GitDuck since my colleagues who use VS Code can also use it.


What IDE do you use?


Having used both VS Code Live Share, and trying out GitDuck last week for the first time, I'd say it felt like a much more immersive experience than the VS Code Live Share experience.

For VS Code Live Share I kept finding myself opening up Zoom and then in parallel trying to get Live Share running, which also feels somewhat finicky at times. The GitDuck experience felt a lot more complete by integrating at a different level. It also felt like it could eventually be a more suitable experience for things we often do in interviews like try to do coding interviews by combining tools like CoderPad & Zoom - though CoderPad has the nice side effect of preservice links to the interviews themselves.


nobody's mentioned them so i'll toss them in here - https://tuple.app/ is also focused on the pair programming problem.

I don't believe they have IDE integration, but like others have said, Tuple + Live Share would be a competitor to GitDuck. Glad to see more attempts at the space though!


Hah, Tuple's motivation headline laments that time "Slack stole Screenhero from us".. I can certainly relate!

Fortunately the Screenhero founder has been freed from Slack, and has rebuilt it! (with promises that it will not suffer the same fate)

https://screen.so


Screen is an awful name. Recently I tried installing it. I knew the name and I tried googling to no avail for the webpage (screen share, screen code share, screen, etc.). So I went with a competitor.


Screenking screenzilla screenolio screenmega screencaptain screenogogo screeniac screenscreen screenempire screenmirror any of those would be better.


Can't say I've ever encountered a startup selling an "Enterprise" plan but their software also ONLY supporting Mac.

Are there enterprises where they use Mac as default over Windows / Linux?


Well, anecdata I suppose, but I know plenty of startups where developers are exclusively mac. Not the showstopper you might imagine.


Seems very odd to assume that every single engineer is using VS Code, thus making this a third part dependency.


Honestly it's not a ridiculous assumption. Right now, in web-startup-land, it's a very high percentage. Exceptions would be the unix tool users - vim/emacs - and I suppose they would be expected to temporarily embrace VSCode for the sharing session.


I guess they are probably just starting and the claims on their website are too far-fetched. I might give it a try if they come up with integration for JetBrains IDEs.


JetBrains is coming in the next few days! We are already using it internally.


cross IDE compatibility. VSLS only works with MS products


I get why you’re saying “Zoom for...”, but I see Zoom as a poorly designed, user hostile and anti-privacy platform. It’s good to see that your description also mentions security. But it doesn’t mention anything about the word “privacy” explicitly, and that’s a huge missed opportunity for any solution that claims to be a Zoom replacement or alternative.


For those searching for the pricing. Here you go:

Startup Unlimited calls Up to 20 people in a call Unlimited rooms

$20 per team member / per month


Looks really cool! Any plans for an Emacs client?


Definitely! We'll support it very soon. You would be surprised with the amount of people requesting it.


+1 for the Emacs client.


I'd love to try it, but your terms of service seem to completely ignore GDPR.

https://gitduck.com/terms

  2. Communications
  
  By creating an Account on our Service, you agree to subscribe to newsletters, marketing or promotional materials and other information we may send.
  
  ...
  
  
  11. Analytics
  
  We may use third party services (including Amplitude, Segment, Crisp and Google, and their respective affiliates) that collect, monitor and analyze this Log Data to provide analytics and other data to help us increase our Service’s functionality and to help us advertise our products and services. These third party service providers may use cookies, pixel tags, web beacons or other storage technology to collect and store Log Data or information from elsewhere on the internet. They have their own privacy policies addressing how they use Log Data and we do not have access to, nor control over, third parties’ use of cookies or other tracking technologies.


Specifically, section 2 ignores (The Privacy and Electronic Communications Regulations)[https://ico.org.uk/for-organisations/guide-to-pecr/what-are-...] and section 11 ignores (the consent part)[https://ico.org.uk/for-organisations/guide-to-data-protectio...] of GDPR, without giving a different lawful basis for data processing.


That section 2 part is illegal in a lot of the world, and it’s not recent like GDPR. For Europe, PECR is from 2003. It’s illegal in Australia too since 2003: informed consent is required for such commercial messages, and merely being a customer is insufficient, it must be opt-in rather than opt-out (and that means you can’t even pretick a newsletter checkbox). (There used to be an excellent document outlining the legislation requirements at https://www.acma.gov.au/Industry/Marketers/Anti-Spam/Ensurin..., but that page seems to have disappeared recently with no obvious replacement.)


Gotta love a legislation which makes it much harder for startups while favoring the fully lawyered-up big tech.

Never forget what the GDPR fan boys claimed about this legislation being some kind of Big Tech "killer", and now go and look at Big Tech stock prices.


How hard is it to create an opt-in?

GDPR was never about killing Big Tech, it's about protecting your data.


So most devs are on VSCode and they already have LiveShare which works pretty well.

Is the point of this for the non vscode crowd? Trying to understand what is the justification of paying for something like this.


I'd argue that most developers are not on VSCode, although it's the most popular IDE.

The advantage is that you can have the video chat with pair programming that works with any IDE + the other integrations that we are building.


That's amazing check out our project at: https://kidslearncoding.jdevcloud.com/


This looks great.

We're trying to build something like this for sales team. Could you shed some light on the video tech you have used?


GitDuck’s cofounder here. The video tech is pretty simple for now as we are using https://daily.co for that.

Daily was pretty easy to set up. If you have a React app, by following this guide [1] you can have a simple video chat quite quickly (in a matter of few hours).

Happy to answer if you have more specific questions.

[1] https://www.daily.co/blog/building-a-custom-video-chat-app-w...


Thanks a lot! I'll reach out to for further clarification if any.


I appreciated the copy of the landing page--my literal first question after 'what is this?' was why would I use this when slack video and live share has been fine...it's still a tough value proposition but I'll certainly give it a spin and really would love to see a dev-built company like yours suceed!


> was why would I use this when slack video and live share has been fine

To be able to share your code with people not using VSC. We are also optimizing a lot the video quality and we are going to add more integrations soon to the video chat. As we are focused only on developers we can do a lot of things that Slack video can't.


We were trying to do Clojure pair programming in IntelliJ+Cursive and vim-iced over Tuple.app/Screen.so/Zoom/macOS-VNC-over-ZeroTier during the past few weeks.

Here are a few conclusions:

Having multiple, independent mouse cursors in one screen is and extremely useful feature.

Consistent low-latency is much more important than temporary low-quality video.

To conserve bandwidth, we hardly ever use the video-call capabilities; low-latency, crisp and wide-frequency-band audio is more than enough.

The screen sharing codec should be optimized for text, with sharp edges. I don't want to see glow or other jpeg artifacts around my letters...

Any of the mentioned programs can provide audio and video call capabilities; that's not a differentiating factor. I wouldn't mind using a separate program for just that, since it's a negligible initial inconvenience, when we are having pairing sessions for hours on end.

Instead of wasting your money on re-implementing such features in your own software, just blog about what existing solution would recommend for audio/video/chat. It's MUCH CHEAPER, than giving in to the NIH syndrome...

I would rather like to see you focus on more important aspects of developer collaboration, for example terminal and "network" sharing. After all we are writing that code not so we can talk about it, but to run it! For example, since we are programming in Clojure, we must see the same REPL window(s) too, not just the source code. We are constantly running the code we just wrote (and its tests) in those REPLs. Currently, the least painful way to do this is sharing the whole screen :(

I haven't given up on other solutions, like Emacs in tmux or in a headless xvnc server with small resolution, 8bit colors only and tiny fonts. Viewers would just magnify it to full-screen. Characters would look pixelated, but still sharp, if the magnification factor is integer. It's a pity that open-source vnc solutions are a lot slower and macOS' built-in one and they don't support server-side resizing to the viewer's window size and things like that...


The video is a bit annoying, as it keeps switching between Chrome & VS Code. It would be easier to watch if the windows were side by side.


This is really cool.

A couple of thoughts:

The screen share cannot be fullscreened(?), which makes it hard to see fine details.

The pair-programming code sharing didn't work VSCode to Pycharm (Or my coworker didn't get the plugin configured correctly in Pycharm).

Overall though, GitDuck seems like a great tool.


I might not be your target audience but is there any plan to support VIM users? Or perhaps even better a tmux plug-in?


I saw vim in the article so apparently the answer is yes, one of the highlights.

But honestly I feel like this maybe more useful in tutoring/interviews vs. working. My team of about 10 people is stretched over 1000s of files in about 100 packages and we also have planning to make sure we're not stepping on someone else's toes.


they mention a vim plugin, but tmux would be even more useful!


Site and demo won't load for me.

The naming and references to 'Zoom' are odd. Instead of "Zoom for developers" maybe explain exactly what that means? Is is screen sharing and group meetings?

When you compare yourself to zoom I immediately set the bar that the usability/performance/security/etc. must at least be to their level.


The article is quite explicit. Here is a small sample:

It has the features you would expect in a video call tool — like audio, video chat and screen sharing, but the UX and the integrations were built exclusively for developers. You can easily share your code and do pair programming. We are building integrations for all the IDEs. This enables you to collaborate without screen sharing (so it's faster and and consumes less bandwidth), directly from your IDE and independently of the IDE that other people are using.


What error did you get when loading the page and demo?

By Zoom we mean a video chat tool, but built for developers. I think it's hard to have a tool for every type of work and I can think some use cases that Zoom is great (like in big conferences) and others that is really bad (for debugging for example).

We are just focused on having a great experience for developers, so no big conferences or webinar features.


This looks really coool! however, the pricing is little too high?


You can use it for free! The premium features are there if you are part of a big team or need more advanced things.


Amazing work! Congrats guys!!!


Cool stuff! Will try it.


wow this experience is actually amazing!!!!! buttery smooth!


This is GREAT !!!


Congrats!


Amazing!!!


This name violates the git trademark policy: https://public-inbox.org/git/20170202022655.2jwvudhvo4hmueaw...

I do like the “duck” part of it though!


Do GitHub, GitLab, Gitea and other "gits" have an agreement with "the" Git?


It explains that in the link they posted...

So GitHub is essentially outside the scope of the trademark policy, due to the history. We also decided to explicitly grandfather some major projects that were using similar portmanteaus, but which had generally been good citizens of the Git ecosystem (building on Git in a useful way, not breaking compatibility). Those include GitLab, JGit, libgit2, and some others. The reasoning was generally that it would be a big pain for those projects, which have established their own brands, to have to switch names. It's hard to hold them responsible for picking a name that violated a policy that didn't yet exist.


There were two related issues on the Gitea project page about this:

- https://github.com/go-gitea/gitea/issues/4175

- https://github.com/go-gitea/gitea/issues/1516

In the latter, someone mentioned that a few of these projects were grandfathered in/have written permission from the Software Freedom Conservancy and so may use a portmanteau as the name.


GitHub and Gitlab: yes.

Gitea: I don't know.


Sounds neat, but I think your name runs afoul of Git's trademark; see https://git-scm.com/trademark


how? i just read through. nobody would "assume a greater degree of association between you and the Git Project than actually exists."


Why not? If you made a backup product called "Windows Backup" (or more relevant to this example, a collaboration product for Microsoft Office called "Office Duck"), Microsoft will definitely go after you for trademark infringement. Why should it be any different for an open source project with a registered trademark?


What about GitHub and GitLab?


AFAIK they started using those names before the git trademark was registered


From the TM policy:

'In addition, you may not use any of the Marks as a syllable in a new word or as part of a portmanteau (e.g., "Gitalicious", "Gitpedia") used as a mark for a third-party product or service without Conservancy's written permission.'


For a Linux user, you can already build such a system yourself quite trivially by installing an x11vnc server on your host, setting up a SSH tunnel to a remote server which forwards the host's VNC port, and sharing SSH credentials with your colleagues who can use a VNC client to access your screen from Linux, Windows or Mac.


Is this a Dropbox joke?


This is the third result when searching for "Dropbox joke". But what is a Dropbox joke?


https://news.ycombinator.com/item?id=9224.

It's the Dropbox Show HN from 2007 before Show HN was a thing. Someone made a comment with the same feel as this one.

The "joke" is that of course a developer can replicate the early version of most products, but that doesn't mean the product will fail (see Dropbox).


I would love to listen to his answer to this.


I thought of the exact same thing


I don't understand why slack is worth billions when IRC has been around for decades.


because slack is a product and IRC is a protocol? what is the actual irc-based alternative to slack?


Probably IRCCloud - Slack's UX is definitely more usable for most.


But really, that is a good question.


emojis and video/voice chat


I don't know if you're joking, but I'm in the habit of using ZeroTier+VNC.


that works quite well, especially between macOSes, but only down to 1Mbyte/s bandwidth, if u r sharing a FullHD.

below that bandwidth, the latency is getting into the annoyingly high territory. and of course I'm taking about using it in approved quality mode.

it nicely handles HiDPI resolutions too, but unfortunately the built-in macOS vnc viewer can only scale down the screen, not up.

another issue is that zerotier doesn't work in China, but that's more of a social than technical issue unfortunately...

what I found is that Tuple.app makes a more useful compromise between latency and image quality. on low bandwidth your image might look like a balls of random pixels on first glance, but on a second look you can surprisingly still read it. meanwhile latency remains below 0.5s, so you can keep thinking together with your pairing partner.

screen.so over low bandwidth keeps the image quality significantly higher than just-above-unreadable, but then you are experiencing jittery 1-6 second screen update frequency.


My team and I use Linux, so most of that doesn't affect me. Latency hasn't been an issue with VNC yet (we do fine with the lower qualities), but if it does, I have my eye on RDP and Jitsi Meet.

In addition to latency and legibility, I also value trust (so non-open-source clients are negatively treated), and CPU efficiency (WebRTC screen-sharing fails on this).

Thus, I cannot use Tuple.app (macOS only) and screen.so (which, on the surface, appears to be using Electron, and thus WebRTC).


If this project takes off, I see a lot of people mis-typing gitdick instead. Probably should either look at changing the name or at least also registering gitdick.com pre-emptively


It’s already taken. shrug It points to someone’s GitLab instance.

As a word of warning, the home page does feature a vector image of something that looks quite phallic.


It "is zoom" or it "isn't zoom"? This was confusing to me. Perhaps you are directly integrating with zoom so actually it is zoom. Or else you have some sort of clone.


It's a video chat tool with direct integrations to the IDE and other dev tools.

Zoom is just a reference like Google Meet, but they have a longer name.


Can I ask, why did you launch this product without all the major IDEs being supported? I use webstorm, but the thought that it won't be supported for a few days means I may just forget about the product unless I am reminded again..


why did you launch this product without all the major IDEs being supported

(I'm not associated with GitDuck.)

Launching and getting feedback from people outside of your immediate network as soon as possible is really useful. Not launching until your app is 'perfect' and 'feature complete' means you'll burn all your runway before getting a single customer and fail. I know that one from experience. It's far better to launch something that's useful to 20% of your market and then iterate to capture the other 80% than the other way round.


Usually I'd agree, but in the original post they stated the others would be launched in a few days...


We discussed a lot about this and we were very close to have Webstorm today. We decided to launch anyway because we already previously postponed it and we didn't want to be finding excuses to not launch.

Btw you can signup and select Webstorm and will tell you as soon as we have it.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: