Show HN: Multi-display screen sharing with CoScreen (blog.coscreen.co)

350 points by coscreen ↗ HN
Good to be back on HN with all-new CoScreen, a little more than 3 years after it launched over here!

With CoScreen 5.0, you can now share your windows from multiple displays at the same time, a long standing request by our most avid users and impossible in other apps. It also has a lightning-fast, Rust-based window compositing, scaling, and streaming engine now.

CoScreen was always meant to be different so that you and your team can share your screens simultaneously and multi-directionally, and to be able to control what is being shared. We saw it as a natural extension and closely coupled with your OS — instant, fast, and seamless. A better way to pair program, debug tough incidents, or jam on great ideas by sharing multi-modal information like code, commands, graphs, or logs.

All that made a lot of sense conceptually but to be frank, it was hard to get it right. Now a part of Datadog and with major parts of our app rewritten in Rust, we feel we’re closer than ever.

Here’s what pair programmers liked about CoScreen, so we made it even better: - High definition code sharing: Windows are video-streamed in real-time at their native resolution whenever possible. You never have to search for your IDE anymore or be anxious to share the wrong window. - Multi-directional collaboration: You can share, while Alice shares, while Bob shares. Side-by-side, across multiple displays. With built-in crisp audio and video chat. - 60FPS+ super smooth mouse pointers. Type, click, and draw on any shared window as if it was your own.

What some of you did NOT like, so we fixed it in CoScreen V5: - CPU utilization and latency have been reduced drastically as various parts of our desktop client are now implemented in Rust, building on crates such as cxx, rust-skia, iced, as well as Neon for our native remote control plugins. - No more accidental clicking into remote windows through the new remote window toggles. - You’re no longer bound by your displays, can share windows from multiple of them at the same time and even move them across displays while sharing without stopping. - You’ll also soon be able to join meetings from your browser from any platform.

CoScreen runs on macOS (x64 and Apple Silicon), Windows, soon also on the web and is currently free. We’re planning to charge for larger teams and enterprise features in the future. Hopefully - finally - we’ll also have a Linux version one day. Tell us if you need it urgently and if you have any other requirements!

110 comments

[ 3.2 ms ] story [ 192 ms ] thread
I suppose Wayland would be one of the reasons Linux is held up?
Hello! We are still planning on Linux support but, to be honest, have had our hands full with supporting macOS and Windows. There are a surprising number of things to do and edge cases (multiple displays, spaces, full screen behavior, non-invasive event injection, etc). There are no specific technical issues holding us back really.

We are currently working on a headless client that will also work on Linux. We do not have exact dates for a release yet but it (and a full client) is on our roadmap. IT WILL happen. Fingers crossed.

Is there a way to share a portion of the screen if I want to? Or is it just entire windows?
Currently only entire displays and specific windows (one or multiple of them). But happy to look into this - what would you share only partially for example?
Specifically, I have a 49" ultrawide monitor and a VM in it. If I share the entire VM, other people with smaller monitors see it too small and have to zoom. If I resize the VM, I have to reposition my windows inside it.

It's easier to share a portion of the screen, it's what I do in Zoom. A portion of a window would work too.

Max here from CoScreen. I'm with you, sharing a portion of the screen or window would be very useful for this scenario. I can also imagine running CoScreen from the VM itself, but that would only work for Mac and Windows VMs at this point (Audio and video could still go through your physical machine —— i.e. you would connect with two users). We also have a headless Linux client in the pipeline that could serve to connect the VM directly.
Connecting with 2 users would work. I would still need to resize the window I'm sharing (the reason I have that big ass monitor is to use VS maximized and have everything open), but it's easier than resizing all windows.
I do this all the time in Zoom, to share PowerPoint presentations at the correct scale and without exposing my speaker notes, and to share YouTube videos from Firefox without showing the "chrome" portion surrounding the video.

My side monitors are oriented vertically, so if I put those windows in fullscreen and try to share the whole monitor it doesn't come out correctly proportioned. This also provides a smoother experience without the "flicker" of going fullscreen and back (which can happen when you switch focus between windows).

It's a similar use-case to the one bentcorner described above.

The "share region" solution is admittedly a bit of a hack but it works. Love to find an easier solution to this scenario (especially a way to break out speaker notes into a floating window I could position right under my webcam).

BTW apropos to nothing, I always loved the way the old Spy++ tool let you drag a reticle onto a control hWnd (reminiscent of how "Select an Element" works in Chrome DevTools) - that was a neat mechanism to quickly select a perfectly carved out region of an app without having to draw a box, but alas these days with so many going Electron, and other non-standard presentation surfaces, it wouldn't be as useful anymore.

Fascinating, thanks for the detailed context. We'll look into it!
I do this using OBS + a dummy plug on my GPU (I run Windows).

1. My dummy plug "monitor" is to the top right of my main ultra-wide - I do this so it's impossible to get "real" windows into it.

2. I have a scene in OBS that has the display capture of my main desktop as a source, and top/left align it with the window.

3. I set my output to 1920x1080 (1366x768 works too but it's a little too small).

4. I set the resolution of my dummy plug monitor to 1920x1080.

5. I use PowerToys FancyZones to set a 1920x1080 zone on the top left of my ultrawide main monitor that I can snap windows to if I shift+drag windows.

Workflow:

In a meeting I make sure to start OBS, and do a Fullscreen Projector of that scene to my dummy plug monitor. (You can add another scene + display capture of your dummy plug monitor if you want to ensure everything looks identical). I then snap whatever window I want to the 1920x1080 zone. I then share my dummy plug monitor to the meeting.

That way you can share what looks like just a window in your meeting but also have the capability to move other windows into the "view" for others as discussion continues and you need to pull other things up without any awkwardness of re-sharing.

This whole setup would be a shitload easier if I could use some kind of simple "transparent window" app and then share that app to the meeting. Or if Teams had "share a region" functionality.

Yea this is kinda nutty as a solution. How often does it break?
Actually works great (as far as I know, haha, I can't see what I'm sharing). Getting it just right was sort of fiddly, and starting up OBS before meetings is a bit of a hassle but it only takes a few seconds.

I'm probably not explaining the entire thing too well but honestly I find it to be an ideal solution to sharing a region of my desktop.

(comment deleted)
Wow this looks amazing. I am eagerly awaiting a Linux version. We have ~150 Linux desktops and training or collaborating via one sided google meets can be limiting.
Amazing! Please leave your details on the Linux waitlist so I can follow-up once we get there
Is there a "hopefully done by date?" for the linux version?
For a full blown Linux client, we haven't yet set that date.

We are working on a headless Linux client that will allow you to stream first pty/terminals, and then windows, into a CoScreen from Linux systems.

It's going to be a very small utility, and we hope to provide access to it by May/June.

This will eventually evolve into a full blown client.

In the meantime we will have a web client which will work on Linux released shortly, it's currently being privately tested within DataDog.

This is pretty neat, yearning for Linux though.

That said, why is datadog going this route? Maybe their more recent incident management stuff?

100%! Incident response is one of our key use cases as many of our users connect on CoScreen to debug and solve complex issues using different Datadog products and other dev tools. Please drop your name on the waitlist for Linux and we'll follow-up!
I work spacecraft operations (Mars) and I wonder if you have considered targeting that industry. We screenshare all day every day, and we use Webex. It's been getting steadily worse. First they removed native linux support (have to use web browser), then they broke our high-resolution sharing so we can only share low-res, and then they started breaking their multi-display features.
Extraterrestrial collaboration is our speciality! Jokes aside, send me a note at till@coscreen.co as I'd like to see how we can help.
If you contact your Cisco rep you can open a ticket for your org to have HD access again.
With this post, I just learnt about the CoScreen's acquisition. Congrats to them! Not sure if it was Acquihired or acquired.
Thanks a lot!
If the product still exists and is being iterated on I’d consider that an acquisition.
GP is curious about the results for the team, not the product.
Hey! This looks awesome! Let me ask I did not see any pricing or any license info on the site. I was wondering what the pricing for this would look like for a team? Are you planning on keeping it free?
Thanks! It's currently free but we're planning to charge for larger teams and enterprise features further down the road.

Our current plan: https://coscreen.co/pricing (feedback welcome!)

Honestly the feedback I'd have is the pricing is a bit high. I'm sure you've done the competitive pricing analysis so I'm not going to preach. :) But with the sprawl of tools we already pay for that "get us close" to what coscreen does, it'd be a hard sell to get another tool.
> Free until July 2023

So at that point will the application/service only work for 1:1s again?

How specifically would that work, before I go falling in love?

Max here from the CoScreen. I think the best way to put this is that there will still be a gracious free tier to help small teams get their work done and this will likely be metered on the number of users joining a session at the same time. Once a paid upgrade is available, we want you to feel it's worth it though :-).
The main issue I see is Single Sign-On being gated behind enterprise pricing, and a "please contact our sales team" option no less. Big enterprises can happily pay whatever you ask for SSO, but this mainly hurts the medium-sized businesses that only set up SSO if it's convenient; if it costs a lot more, they'll settle for the reduced security of username+password auth. If anything, supporting the big 3 identity providers (Google, M365, and Okta) on the Pro plan would be better than charging to have any form of SAML/SSO. https://sso.tax/

Also, do you have plans to offer a discount or donated version for nonprofits?

Second this. SAML/SSO is less of an enterprise feature and more of an onboarding escalator. Even startups with 3 devs use SSO now.
Good catch, this got actually much easier for us to do recently as you can now sign in with SSO through Datadog. So if you sign up to Datadog with any SSO provider, you should be able to login to CoScreen with just two clicks. We corrected that on our pricing page as well.
From a different perspective, SSO is an offboarding guardrail.

I worked at a company that used Slack before they had SSO working. One person left the company and there was speculation as to reasons etc on various slack channels. Two or three weeks later, they piped up with one more "goodbye" in a public channel... and then actually signed out.

See our separate comment on SSO through Okta, this is actually available out of the box through login with Datadog and we've corrected the pricing page. Thanks again for the pointer.

We'd like to keep CoScreen affordable for those teams and are planning to factor it into the pricing model once we put one in place. Drop me a mail if you have specific requirements (till@coscreen.co).

I'd love to replace Zoom, but as a trainer/coach, I use it only on a weekly basis with multiple people, I guess you'd call them "strangers" (though they might be "regulars"). I'm unclear about how the pricing works in this situation, i.e., what does CoScreen consider a "user"?
We're planning to charge for active users in larger teams and to have a gracious tier for casual users like in your case. We do have many teams that use it for trainings and even interviews and we'd be interested if it works for you too.
We are a pretty large org and especially for major incident resolution I see coscreen work. However, in order for it to be used during majors the software should be readily available for the engineers. On the other side I can also imagine being challenged why we would need to pay seats for all our users.

Will there be an option for something like floating licenses or being billed after the fact?

Point taken, we're thinking about focusing on active users but open to feedback as we outline the model. Feel free to reach out
Interesting - I had not come across coscreen before but I can see straight away how much better that would have been to use than any of slack, teams or discord all of which I’ve used previously for pair programming/on boarding etc. I could see value here also in brainstorming sessions where previously collaborating on a google doc etc.

I haven’t delved into what the pricing model is but presumably it won’t be free for 1on1 use forever but I can easily see the business subscription model working perhaps well enough for individuals to have free 1on1.

Like many of us here big appreciation for the write up as opposed to video I think I got a good idea of how it worked and it’s key selling points just from the text and screenshots.

Thanks for the kind words, glad it was useful.
What is the pricing model for this? I don't see any mention of cost anywhere on the site at first glance. When you download the gif shows a "Get CoScreen for Free" button.
Thanks! It's currently free but we're planning to charge for larger teams and enterprise features further down the road.

You can find our current plan here: https://coscreen.co/pricing (feedback welcome!)

I got to use this internally when I was at Datadog. It really is a great flow / experience for collaboration. Congrats to the team on the launch / shipping. (And yes, make Linux please!)
Another vote for Linux support. I’m on Linux about 85% of the time.
Got it, please drop your name on the waitlist and we'll get back to you!
Linux desktops are often preferable to create software which deploys to Linux servers so +1 for Linux.
Looks cool, but how is this better / different from just doing this on Zoom? I'm already using zoom daily for meetings and occasionally use screen sharing and once in a while use their "request screen control" feature, and it works great. No complaints, and no new tool needed in addition to my regular video meeting tool.

Not at all hating on this tool. It really looks nice, but I'm just trying to understand if there is a reason to use it instead of / in addition to zoom.

Pairing programming.

If pairing is a huge part of your culture at work, the higher resolution screen sharing makes all the difference as you don’t have to squint or strain your eyes while reading code.

Max from CoScreen here. Yes, we've heard this from many users as well. Generally speaking our approach to this is: 1. Deal with capturing and rendering of this in the native layer to achieve high performance and throughput. 2. Use something we call "DPI-match" to open shared windows at the right size on the receiving end to avoid unnecessary text blurring from pixel count mismatch. 3. Give the screen sharing stream high priority.
Thanks for the feedback. We have a few Zoom-converts and here's what they've told us they like about CoScreen: 1. Every user has their own mouse pointer instead of sharing the same. 2. You can share bi-directionally, so not just one at a time. 3. More importantly, if I share two or three windows with you, they appear as three separate native windows for you and you can resize and position them as you like without interfering with me instead of being stuck in a black box.
> and you can resize and position them as you like without interfering with me

Does this resize the window only locally, like scaling a video? If somebody shared a browser window with me demonstrating a responsive web site, could I drag the bottom right corner of the window around to see how the site reflows?

Yes, you're pretty much scaling the video while retaining its aspect ratio. We're doing that so users can't interfere with each other's setup (it was different early on and annoying).
I think perhaps this is a little more developer and creatives focussed as opposed to business meeting focussed al la zoom and I suspect and it’s inferred from what they’ve focussed on (optimization, multi screen, 60fps) that this will be more performant than zoom. That said I am yet to try it but zoom is pretty much down there at the bottom of screen sharing tools I would want to use daily… There wasn’t much mentioned about security but again it’s probably more secure than zoom
Looks great. Congrats! I’m curious, what is your tech stack for implementing audio and video chat?
We are using WebRTC for both Audio/Video and screen sharing.

The Audio/Video are using VP9 SVC, and are a pretty typical configuration, using Jitsi as the backend.

The screen sharing is accomplished via a combination of libwebrtc and native Rust.

How are account permissions handled on the host machines that are relinquishing control to outside users? I mean, what prevents a Malicious user pasting in a devastating command into your terminal if they are running under your privileges? Or a mistaken user copy and pasting a bad command?
Good question - If you share your window or display on CoScreen, you can decide if you also want to share remote control or not. It’s a global toggle for all the windows you share. Also, only users who have the invite to your CoScreen (and therefore have a secure token to get into it) and are with you in it at that moment, would be able to type into your window if you allowed that.
It would be nice to set control settings from the host on a per window basis.
Point taken, it's on our roadmap...
What's preventing the coworker helping you over your shoulder from entering a malicious command?

Some human issues can't be solved with technology.

True - if you share your window or display on CoScreen, you can decide if you also want to share remote control or not. It’s a global toggle for all the windows you share. Also, only users who have the invite to your CoScreen (and therefore have a secure token to get into it) and are with you in it at that moment, would be able to type into your window if you allowed that.
I started to use the product recently and I love the product CoScreen. Still a few bugs but it's definitely better than Zoom to collaborate between developers!

edit: Also, please add Linux support!

If you see any issues, please submit them through the post-session feedback dialog or to hello@coscreen.co. We're responding to every single report.
I haven't heard about CoScreen last month. But last week we had a team which needed a solution for mob programming and I couldn't find a solution which had enough functionality to meet their expectations.

And now I've seen multiple posts and recommendations in a very short time.

Haven't had the time to test it properly yet, but so far I'm kind of surprised I wasn't recommended or found CoScreen earlier.

Keep up the good work! there needs to be alternatives

Thanks a lot, we've just come out of private beta and the rewrite again so glad you found us now. Let us know how it goes!
Congrats on 5.0 - CoScreen has been an integral part of our team's daily workflow for the last couple of years, and it's been wonderful to to be able to share feedback and see the product evolve into a better and better tool.

Having to share screens occasionally via Zoom feels so slow and clunky by comparison to the single-click ability for multiple people to share and interact with windows concurrently as the conversation flows. Can't imagine going back!

Zoom became the de-facto screen sharing app and it sucks, so so bad.

Wish I hadn’t missed Coscreen during the lockdown, and now I don’t really have any need for it, but going to keep the link in my back pocket in case it is ever needed. Looks slick. Sort of like x2x but with a thought out interface…

Sounds awesome but can't touch it until it has Linux support. I am on the waitlist. Fingers Crossed.
Max from CoScreen here. Yeah, we hear you. We have a web client coming out soon and a headless client that works on Linux in the pipeline. Hope to bring some early users onboard for the latter in Q2.
The UX of it looks really good. I wonder if this works for something a bit more video heavy than IDEs and text editors. Has anyone tried this with video editing, modeling, or game engines?

How would this fair sharing an IDE and the Unity editor at the same time? Anyone have any experience with that?

We have not tried Unity ourselves but would be eager learn more about the use case. We've heard from a few users who use it to play games together.

Because the sharing approach is video-based, it can stream any kind of content, no matter if text or moving images. That being said, it takes some resources to shovel 4k images with a lot of changes from A to B so it needs some free capacity to run smoothly.

Since nobody quoted that already, I’ve been quite happy with Drovio, a competitor that supports Linux as well. Will be happy to try this out though!
Sounds good, let us know what you think!
I know this is probably not part of your core direction with the product since it seems to be more focused on collaboration or being a better screenshare type tool but I can't help but mention this is extremely close to being a far superior Synergy/Mouse Without Borders/Input Director alternative where rather than just let the mouse/keyboard go between machines you can let the windows teleport as well.
Jason Thomas, former CoScreen CTO here.

I am an avid Synergy user, and what they have accomplished in terms of direct mouse/keyboard input synchronization is very impressive, and I use it on a daily basis.

I can say however, it's very different than CoScreen and what CoScreen seeks to achieve, and is performed in a technically different manner.

CoScreen injects mouse interaction and keyboard presses directly into a window on OSX (if it isn't a weird type of window like an emulator, or something that captures and handles input on a very low level).

Synergy simulates mouse movements/events directly over windows, interfering with the position/location and current state of the remote cursor. It's much more like a remote mouse-driver for a lack of a better comparison.

In many ways this is more performant, simpler, and works on a wider variety of windows right out of the box.

On another level it interferes more with remote users, and prevents multi-player collaboration.

I definitely could see us producing a mode that is LAN focussed and which provides synergy like behavior, but the current remote collaboration is really geared from a UX perspective around multi-player in CoScreen.

First I've heard of this and am glad others realize screen sharing and video conferencing are not a commodity just yet.

Curious how this compares with Pop (of screenhero lineage)