3 ms·
I think it would be interesting to hear about different application/desktop streaming applications and how to set them up. Does anyone have an article on that?
by distortedsignal 4y ago
I think it would be interesting to hear about different application/desktop streaming applications and how to set them up. Does anyone have an article on that? This is cool because it's open source and fast, but I assume that X11 has something broadly similar to this, and I assume that Wayland has something similar to this.
- solardev 4y agoNo article, but just some anecdata: There are many ways to do it wrong (like naively encoding the whole desktop as a video stream) and many ways to optimize it. VNC is everywhere and easy to set up but it arguably provides the worst experience using the RFB protocol, sending the raw pixels for the most part. Microsoft's native RDP, for example, knows to send a window's start location and end location when you move it, and the client just recalculates how it should appear in the new place, with only the x-y coordinate changes needing to be sent over the wire. A naive protocol would instead send every frame in between as though it were a video. On Linux, I think remote X11 operates on similar principles... it might've been designed that way from the start, but that use case never really seemed to gain widespread popularity for some reason. On the enterprise front, I think Citrix has their own protocol (ICA) with heavy optimizations, but I'm not sure how it works. These days, I think a lot of apps (IDEs, etc.) have real-time collaboration and streaming built-in at the data layer, without needing an actual remote desktop (i.e. they sync state changes, not pixels). VSCode and IntelliJ, for example, can both stream their actual app into a web browser and/or also host your development environment remotely through a transparent tunnel. You don't even have to use VPN or SSH. We've come to a pretty interest hybrid of thick/thin clients, where apps and UIs can be compactly sent as a javascript package and trivially rendered by any laptop made in the last decade or so, but all the heavy lifting can still be done remotely -- just in the cloud now instead of internal mainframes. (Although I suppose you could run those containers in a LAN too.) I guess there's not much need to stream the desktop anymore when hardly anyone uses the desktop anyway, just specific apps and a ton of websites.