8 ms·
Show HN: Multi-display screen sharing with CoScreen
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!
- mrleinad 3y agoIs there a way to share a portion of the screen if I want to? Or is it just entire windows?
- coscreen 3y agoCurrently 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?
- mrleinad 3y agoSpecifically, 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.
- seinfish 3y agoMax 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.
- mrleinad 3y agoConnecting 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.
- rkagerer 3y agoI 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.
- rcarmo 3y agoI suppose Wayland would be one of the reasons Linux is held up?
- hkwerf 3y agoNot sure whether this comment is regarding screen sharing in wayland in general, but this has been working smoothly in most applications for quite some time via xdg-desktop-portal: https://flatpak.github.io/xdg-desktop-portal/#gdbus-org.freedesktop.portal.ScreenCast https://flatpak.github.io/xdg-desktop-portal/#gdbus-org.free...
- coscreen 3y agoThanks for sharing, we'll get to it
- robertkrahn01 3y agoHello! 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.
- sjcoles 3y agoWow 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.
- coscreen 3y agoAmazing! Please leave your details on the Linux waitlist so I can follow-up once we get there
- coscreen 3y agoLink: https://teamcoscreen.typeform.com/to/jOdHZB5d https://teamcoscreen.typeform.com/to/jOdHZB5d
- Zekio 3y agoIs there a "hopefully done by date?" for the linux version?
- thedracle 3y agoFor 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.
- geethree 3y agoThis is pretty neat, yearning for Linux though. That said, why is datadog going this route? Maybe their more recent incident management stuff?
- coscreen 3y ago100%! 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!
- taway2023-03-31 3y agoI 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.
- mandeepj 3y agoWith this post, I just learnt about the CoScreen's acquisition. Congrats to them! Not sure if it was Acquihired or acquired.
- _fat_santa 3y agoHey! 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?
- coscreen 3y agoThanks! 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 https://coscreen.co/pricing (feedback welcome!)
- pyrox420 3y agoHonestly 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.
- DANmode 3y ago> 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?
- seinfish 3y agoMax 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 :-).
- judge2020 3y agoThe 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/ https://sso.tax/ Also, do you have plans to offer a discount or donated version for nonprofits?
- drunkan 3y agoInteresting - 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.
- coscreen 3y agoThanks for the kind words, glad it was useful.
- dirtsoc 3y agoWhat 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.
- coscreen 3y agoThanks! 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 https://coscreen.co/pricing (feedback welcome!)
- avodonosov 3y agoThis product is probably the answer to my Ask HN four years ago: https://news.ycombinator.com/item?id=17738724 https://news.ycombinator.com/item?id=17738724
- coscreen 3y agoWe hope so, remote pair programming is/was hard. Let us know if you see ways how to make it even better!
- burningion 3y agoI 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!)
- coscreen 3y agoThanks a lot! We will...
- digitalsanctum 3y ago+1 for Linux
- abdrehman 3y ago+1 for linux
- simianpirate 3y agoAnother vote for Linux support. I’m on Linux about 85% of the time.
- coscreen 3y agoGot it, please drop your name on the waitlist and we'll get back to you!
- andyfleming 3y agoI'm not too familiar with all of the features of coscreen, but I've been really enjoying Tuple and it has a linux client beta. https://tuple.app/downloads/linux https://tuple.app/downloads/linux
- j45 3y agoLinux desktops are often preferable to create software which deploys to Linux servers so +1 for Linux.
- kukkukb 3y ago+1 for Linux, please
- itslennysfault 3y agoLooks 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.
- ayewo 3y agoPairing 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.
- seinfish 3y agoMax 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.
- coscreen 3y agoThanks 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.
- philsnow 3y ago> 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?
- evanmoran 3y agoLooks great. Congrats! I’m curious, what is your tech stack for implementing audio and video chat?
- thedracle 3y agoWe 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.
- davbryn 3y agoHow 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?
- coscreen 3y agoGood 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.
- DANmode 3y agoWhat's preventing the coworker helping you over your shoulder from entering a malicious command? Some human issues can't be solved with technology.
- coscreen 3y agoTrue - 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.
- hartator 3y agoDo we know how it compares to https://pop.com/ https://pop.com/?
- juli1pb 3y agoI 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!
- coscreen 3y agoIf 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.
- asabla 3y agoI 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
- coscreen 3y agoThanks 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!
- xeno42 3y agoCongrats 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!
- coscreen 3y agoGlad you stuck with us from early on!
- bee_rider 3y agoZoom 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…
- jensenbox 3y agoSounds awesome but can't touch it until it has Linux support. I am on the waitlist. Fingers Crossed.
- seinfish 3y agoMax 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.
- jayd16 3y agoThe 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?
- coscreen 3y agoWe 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.
- alanfranz 3y agoSince 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!
- coscreen 3y agoSounds good, let us know what you think!
- zamadatix 3y agoI 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.
- thedracle 3y agoJason 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.
- vrglvrglvrgl 3y ago[dead]
- djtango 3y agoFirst 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)
- selflesssieve 3y agoJitsi Meet
- coscreen 3y agoBig fans! Jitsi powers a large part of our backend.
- thedracle 3y agoWe're good friends with the Jitsi guys, and I have worked with Jitsi for many years now. Here is a interview I did of Emil Ivov, the founder of the Jitsi project: https://www.youtube.com/watch?v=7nODpF8JjHE https://www.youtube.com/watch?v=7nODpF8JjHE
- nonane 3y agoCongrats! Looks quite good. Will be trying it out. How have you reduced CPU utilization besides moving to Rust? Are you using hardware accelerated encoding?
- thedracle 3y agoSorry I missed this. We still aren't using hardware accelerated encoding. It's the last, and biggest contributor to CPU we see after profiling. Moving to Rust was more of a decision for safety, than for performance, since most of the code we ported to Rust was in C++ already. The good news is we didn't see dramatic differences in performance between C++ and Rust. Rust has a bunch of highly optimized, fantastic libraries, that helped with testing, profiling, and evaluating hardware acceleration/SIMD. We will be putting together a blog about our experiences with Rust & C++, that goes into the nitty gritty of the good, the bad, and the ugly of our experiences here. A great deal of the optimizations came from better profiling, better tooling, and a focus in that area. There is still a ways to go, and we are continuously working on improvements in this area. Rust has been an incredible tool on reducing the work required to maintain, and change, core components, and we have even been able to have Rust target a static cylib library, and linked it in from a large C++ library. The really great thing with Rust is it has a very minimal runtime, and integrates well with C++. It's not an all-or-nothing proposition to integrate it into a project. The maturity of the tooling, third party libraries, the build and package system, have been incredibly useful tools.
- chadlavi 3y agoSeems neat but this website is really terrible at explaining what the product is or why I'd want to use it. The homepage looks like a spammy blog landing page? give me a big hero image (ideally an autoplay no-audio video acting like a gif) and like, 10 words and some links to more details. Also no info on pricing?
- coscreen 3y agoWe linked went indeed to our blog, here's the main page [a]. Let us know if you're still missing any information. [a] https://coscreen.co/ https://coscreen.co/
- chadlavi 3y agooh dang, ok... the "Home" link on your blog should really go to that page instead. I clicked home assuming it would take me to the landing page, then didn't even check the url (which was https://www.coscreen.co/blog/tag/deep-collaboration/ https://www.coscreen.co/blog/tag/deep-collaboration/ for some reason? why is that Home?)
- coscreen 3y agoThat's the main tag for our blog posts and the 'Home' link comes from our Ghost template but I get your confusion
- crimsontech 3y agoI didn’t know about CoScreen but this looks almost exactly what I have been looking for for a long time. Looking forward to trying it out.
- coscreen 3y agoGlad to hear, let us know what you think once you had a chance to give it a try
- olouv 3y agoDoes not start after install for me on a fresh windows 11 install. Something about module not found […]/index.node
- deleted 3y ago[deleted]
- robertkrahn01 3y agoThanks for reporting, we'll be looking into this. What is the location that you installed the app to? Are you starting it via the startup menu, desktop icon, or directly with coscreen.exe?
- lttlrck 3y ago> Hopefully - finally - we’ll also have a Linux version one day. I'll take that as a never then... it was "one day" at launch and 3 years later... IIRC I signed up on a waitlist back then and never heard a peep.
- zimmund 3y agoLooks great but I'm on Linux. We know "one day" means "probably never" or "hopefully someone makes it work for free using wine"...