Note: the author is Keith Packard, who wrote a ton of the original X Window System code. I adored that system! The idea of running graphical code on multiple machines, then displaying the results locally, has yet to be surpassed.
"In 2011, O'Reilly awarded an open source award to Packard, as "the person behind most of the improvements made on the open source desktop in the last ten years at least."" -- https://en.wikipedia.org/wiki/Keith_Packard
Keith has been super friendly and supportive in my experience. Back when I started working on a compositing window manager something like a decade ago, I used his xcompmgr as a reference and he was always responsive and helpful whenever I emailed him questions about it.
His talks are also delightful. Extremely brilliant people like him often either have quirks or are not the greatest speakers (don't get me wrong – I don't expect a single human to have every skill), but Packard seems to excel at everything: he's obviously a brilliant engineer, he's a wonderful speaker, he seems to be an all-around pleasant and friendly human, he seems to manage a sane and healthy personal and family life. Just a stellar person!
The single fact that he's doing RISC-V work at SiFive boosts my confidence in what they're doing.
My understanding is that X11 documentation was how O'Reilly got started. It's fantastic that 20 years later they're still celebrating the authors and maintainers.
"Remote app" instead of remote desktop would be a better analogy.
You run code on multiple machines (which might not even have any graphics devices or the concept of a "desktop" there) where each program might display graphical results in windows on your machine.
X is a native remote desktop system. It just happens that we generally all run our apps on the same machine as where X runs, nowadays.
Sadly playing around and learning how it works is trickier than it used to be now that X doesn't listen over TCP by default (...because the protocol is unencrypted and unauthenticated... can't argue there), but google "SSH X forwarding" for a reasonable startpoint that's still fairly universally supported (you can even get X servers for Windows that work with PuTTY, and it all works natively on Linux and macOS).
Must resist urge to comment on HN at $ZZZ-o-clock in the morning... pedantic clarification, nowadays X uses MIT-MAGIC-COOKIE authentication generally, but can be configured to do others (I think it can use Kerberos?). I don't think the protocol is encrypted in any circumstances though.
yes, except its up a layer. remote desktop moves pixels, and X is a protocol that distributes the rendering api.
so you start up your app, and query what kind of display you're connected to - there is all kind of cruft about color models and bitplane depths. choose fonts, register for events (mouse, resize, etc), draw your elements and wait for the user to interact with you.
it makes absolute sense in the context of the early 90s 'lets make this a network api' - and almost none from a modern perspective
as bloated as the browser model is, i think shipping code to run on the users machine is a much more powerful model... if you can keep it small and deal with the security issues.
"In 2011, O'Reilly awarded an open source award to Packard, as "the person behind most of the improvements made on the open source desktop in the last ten years at least."" -- https://en.wikipedia.org/wiki/Keith_Packard