Most active commenters
  • DonHopkins(3)

←back to thread

Ancient X11 scaling technology

(flak.tedunangst.com)
283 points todsacerdoti | 13 comments | | HN request time: 1.954s | source | bottom
1. arp242 ◴[] No.44370160[source]
This does not address anything from the article and is a (seemingly copy/pasted) generic tangent about X11.
replies(1): >>44370460 #
2. ◴[] No.44370263[source]
3. TheChaplain ◴[] No.44370353[source]
I don't I've interacted with X11 on that level ever, at most basic it was XCB which wasn't really that difficult for applications. And SDL2 or GTK made it even easier.

I really don't understand the X11 hate that keeps showing, it's old but it works. It shows my applications perfectly, I can do my video-editing and play games with Wine and Steam without issues.

4. DonHopkins ◴[] No.44370460[source]
If you'd read both the article and my post, you'd realize it does actually address the article. It's a quote from the chapter about X-Windows I wrote in the Unix Haters handbook in 1994.

https://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbook

https://web.archive.org/web/20201120053257/http://www.simson...

And a description of the screen spanning ruler app (or rather "Desk Accessory") that the Mac had around 1987 or so (I specifically remember Hugh showing it to me a few months before Black Monday).

https://en.wikipedia.org/wiki/Desk_accessory

https://en.wikipedia.org/wiki/Black_Monday_(1987)

Just like the article you apparently didn't read mentioned:

>With my new knowledge, I also wrote an onscreen ruler using the shape extension. Somewhat tautological for measuring the two inch circle, but in the event anyone asks, I can now tell them my terminal line height is 1/8”, and yes, I measured.

https://humungus.tedunangst.com/r/xtoys/v/tip/f/ruler.c

Now 38 years later, is there a ruler app for X-Windows that can span multiple screens yet? Or Wayland, even? Why don't you write one!

replies(2): >>44370578 #>>44370636 #
5. sprash ◴[] No.44370636{3}[source]
> 1994

Apparently you have to be criticizing X11 for more than three decades now. Since you seem to know your stuff, could you please post a link to your git repository containing your personal display server that solves all the problems?

replies(3): >>44370792 #>>44370833 #>>44370872 #
6. linksnapzz ◴[] No.44370792{4}[source]
"..and yet, you participate in society...curious!"
7. DonHopkins ◴[] No.44370833{4}[source]
Since they bought Sun Microsystems, Oracle now owns the rights to the NeWS source code, so unfortunately I'm not legally allowed to post the NeWS server source code on my Github page, although I spent many years unsuccessfully fighting to make NeWS free and evangelizing it to anyone who would listen, like RMS and my colleagues and customers at Sun:

https://www.donhopkins.com/home/archive/NeWS/rms.news.txt

https://www.donhopkins.com/home/archive/NeWS/news-ooo-review...

https://www.donhopkins.com/home/archive/NeWS/questionaire.tx...

https://www.donhopkins.com/home/archive/NeWS/grasshopper.msg...

https://www.donhopkins.com/home/archive/NeWS/sevans.txt

https://www.donhopkins.com/home/archive/NeWS/Explanation.txt

But since you asked so kindly and said "please", here are some youtube videos, articles, and presentations -- thank you so much for asking and expressing your interest in learning and reading my ideas and code, I'm deeply flattered and delighted to oblige your request! ;)

You asked for it, you got it: Toyota!

https://www.youtube.com/watch?v=jVHg1CjqLk8

Do you have any interesting video demos you've recorded or papers or articles you've written that you'd like to share about your own ideas for personal display servers that solve all the problems too? Or comments on any of these?

Ben Shneiderman introduces Pie Menus developed by Don Hopkins at UMD Human Computer Interaction Lab:

https://www.youtube.com/watch?v=kxkfqgAkgDc

>University of Maryland Human Computer Interaction Lab Pie Menu Demos. Introduction by Ben Shneiderman. Research performed under the direction of Mark Weiser and Ben Shneiderman. Pie menus developed and demonstrated by Don Hopkins.

Brad Myers introduces Just the Pie Menus from All the Widgets:

https://www.youtube.com/watch?v=mOLS9I_tdKE

>Pie menu demo excerpts from "All The Widgets" CHI'90 Special Issue #57 ACM SIGGRAPH Video Review. Including Doug Engelbart's NLS demo and the credits. Tape produced by and narrated by Brad Meyers. Research performed under the direction of Mark Weiser and Ben Shneiderman. Pie menus developed and demonstrated by Don Hopkins.

Brad Myers CMU course 05-440 / 05-640: Interaction Techniques (IxT). Intended for Undergraduates, Masters and PhD students!

https://www.cs.cmu.edu/~bam/uicourse/05440inter/

>Don Hopkins was one of the original developers of Pie Menus, and helped contribute to their popularity in games. He published a frequently cited paper about pie menus at CHI'88 with John Raymond Callahan, Ben Shneiderman and Mark Weiser. He then developed and refined pie menus for many platforms and applications including window managers, the Emacs text editors, universal remote controls, TV guide browsers, web browsers, visual programming interfaces, SimCity, The Sims. These took advantage of many kinds of hardware including desktop, mobile, VR, OLPC, mouse, stylus and touch screens. He has published many free and open source software implementations of pie menus for X10, X11, NeWS, Tcl/TK, ScriptX, ActiveX, OpenLaszlo, Python, JavaScript, C#, and Unity3D.

https://www.cs.cmu.edu/~bam/uicourse/05440inter2019/schedule...

Video of Don Hopkins' presentation to Brad Myer's CMU IxT class: Pie Menus: Definition, Rules, and Future Directions:

https://scs.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=...

An Empirical Comparison of Pie vs. Linear Menus (ACM SIGCHI'88):

https://donhopkins.medium.com/an-empirical-comparison-of-pie...

Pie Menus: A 30 Year Retrospective. By Don Hopkins, Ground Up Software, May 15, 2018.

https://donhopkins.medium.com/pie-menus-936fed383ff1

The Design and Implementation of Pie Menus: They’re Fast, Easy, and Self-Revealing. Originally published in Dr. Dobb’s Journal, Dec. 1991, cover story, user interface issue.

https://donhopkins.medium.com/the-design-and-implementation-...

NeWS Tab Window Demo:

https://www.youtube.com/watch?v=tMcmQk-q0k4

>Demo of the Pie Menu Tab Window Manager for The NeWS Toolkit 2.0. Developed and demonstrated by Don Hopkins.

HCIL Demo - HyperTIES Browsing

https://www.youtube.com/watch?v=fZi4gUjaGAM

>Demo of NeWS based HyperTIES authoring tool, by Don Hopkins, at the University of Maryland Human Computer Interaction Lab.

HCIL Demo - HyperTIES Authoring with UniPress Emacs on NeWS:

https://www.youtube.com/watch?v=hhmU2B79EDU

>Demo of UniPress Emacs based HyperTIES authoring tool, by Don Hopkins, at the University of Maryland Human Computer Interaction Lab.

HyperTIES Discussions from Hacker News:

https://donhopkins.medium.com/hyperties-discussions-from-hac...

PSIBER Space Deck Demo:

https://www.youtube.com/watch?v=iuC_DDgQmsM

>Demo of the NeWS PSIBER Space Deck. Research performed under the direction of Mark Weiser and Ben Shneiderman. Developed and documented thanks to the support of John Gilmore and Julia Menapace. Developed and demonstrated by Don Hopkins.

Described in "The Shape of PSIBER Space: PostScript Interactive Bug Eradication Routines".

Micropolis Online (SimCity) Web Demo:

https://www.youtube.com/watch?v=8snnqQSI0GE

>A demo of the open source Micropolis Online game (based on the original SimCity Classic source code from Maxis), running on a web server, written in C++ and Python, and displaying in a web browser, written in OpenLaszlo and JavaScript, running in the Flash player. Developed by Don Hopkins.

Micropolis Web Demo 1:

https://www.youtube.com/watch?v=wlHGfNlE8Os

>Micropolis Web is the browser based version of Micropolis (open source SimCity), that uses WebAssembly, WebGL, and SvelteKit. Based on the original SimCity Classic code, designed by Will Wright, ported by Don Hopkins. This first demo shows an early version that runs the WebAssembly simulator and animates the tiles with WebGL, but most of the user interface is still a work in progress.

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

>Simon Schneegan's "Kandu" cross platform pie menus, as well as his older "Fly-Pie" and "Gnome-Pie" projects, let you create and edit your own pie menus with a WYSIWYG drag-and-drop direct manipulation interface. [...]

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

>Here's an X11 window manager, with pie menus and tabbed windows, entirely written in object oriented NeWS PostScript, from around 1991:

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

>Vertical tabs are better in some situations and for some users, horizontal tabs are better in other situations and for other users. So all users should be able to choose to place tabs along any side of any window, and change which side and what position any tab is at any time. Not just tabs for emacs frames or web browser windows, but for ALL windows including top level and internal application windows. And you should also be able to mix tabs from different apps in the same frame, of course. Why not?

>I implemented tabbed window with pie menus for UniPress Emacs in 1988, and still miss them! Later in 1990 I developed several other versions of tabbed windows with pie menus for NeWS that let you manage any NeWS and X11 windows, and drag the tabs around to any edge. [...]

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

>It bewilders me that any rational UI designer would be so arrogant as to make the unilateral unchangeable decision for all their users that they should only have tabs on one side, be it the top, bottom, left or right of the window. Why restrict users to using tabs on only one side and one side only? What's so special about that side, and bad about the other sides? What if the user is left handed, or has a tall monitor, or a wide monitor, or lots of windows, or only a few?

>While you're at it, why not just remove all the arrow keys from the keyboard except one? Then users can argue over whether the left-arrow key is better than the up-arrow key, and users who don't like having only an up-arrow key can buy a keyboard with only a left-arrow key.

>But all keyboards have all four arrow keys, so there are no arguments about which arrow is better: you just use whichever arrow you want, whenever you want.

>Most people prefer to use all four arrows at different times for different purposes, and put their tabs along all four edges, too!

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

>In practice that's what you could do with HyperLook on NeWS: SimCity, Cellular Automata, and Happy Tool for HyperLook (nee HyperNeWS (nee GoodNeWS))

>HyperLook was like HyperCard for NeWS, with PostScript graphics and scripting plus networking. Here are three unique and wacky examples that plug together to show what HyperNeWS was all about, and where we could go in the future!

https://donhopkins.medium.com/hyperlook-nee-hypernews-nee-go...

HyperLook SimCity Demo Transcript

https://donhopkins.medium.com/hyperlook-simcity-demo-transcr...

>This is a transcript of a video taped demonstration of SimCity on HyperLook in NeWS.

Discussion with Alan Kay about HyperLook and NeWS:

https://donhopkins.medium.com/alan-kay-on-should-web-browser...

>Alan Kay on “Should web browsers have stuck to being document viewers?” and a discussion of Smalltalk, HyperCard, NeWS, and HyperLook

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

>Thanks for asking! ;) I've put up some old demos on youtube, and made illustrated transcriptions of some, and written some papers and articles. Sorry the compression is so terrible on some of the videos. Here are some links: [...]

Lots of old NeWS code:

https://donhopkins.com/home/archive/NeWS/

Including the NeWS Tape, a big collection of free NeWS software that I curated and distributed via Sun Users Group:

https://donhopkins.com/home/archive/NeWS/news-tape/

And of course PizzaTool:

https://donhopkins.medium.com/the-story-of-sun-microsystems-...

NeWS PostScript PizzaTool Source Code:

https://www.donhopkins.com/home/archive/NeWS/pizzatool.txt

PizzaTool shipped with Solaris, and here's the manual entry I wrote:

https://www.donhopkins.com/home/archive/NeWS/pizzatool.6.txt

replies(1): >>44371493 #
8. ◴[] No.44370842[source]
9. wmf ◴[] No.44370872{4}[source]
I don't know if he contributed anything but Don is a vocal fan of NeWS which was genuinely more advanced than X11 (although it's not clear if those advances provided much value to users).
10. sprash ◴[] No.44371493{5}[source]
> Oracle owns the rights to the NeWS source code so I'm not allowed to post it on my Github page.

They are certainly not making any money with it right now. All patents should be expired by now. Have you ever sincerely asked if you are allowed to publish the code?

> Do you have any ... display servers that solve all the problems too?

X11 has extensions which correct for most of its original flaws. Most importantly XRandr (as mentioned in the article), DRI3 (fast hardware access) and XRender (accelerated drawing primitives that don't suck). With the exception for the availability of a decent toolkit and HDR extension X11 solves all the problems.

> Or comments on any of these?

Oh boy... well, you asked for it.

> Pie Menus

Great for demos and to collect grant money, i guess. But in principle a total anti-pattern. People read from left to right and from top to bottom. Traditional context menus are therefore far superior, especially for varying numbers of options.

> Weirdly dragable tabs

Not impressed at all, sorry. Creates much more visual confusion than generic title bars.

> HyperTIES

The most revolutionary component are links... which are not invented by HyperTIES.

> PSIBER

Genuinely very impressive. A proper visual postscript debugging tool. But also necessary for a rather unintuitive stack based language like postscript which is primarily designed to be machine readable.

> SimCity

Great Game. Thanks again for making that available to the FOSS community.

replies(2): >>44371544 #>>44372420 #
11. zozbot234 ◴[] No.44371544{6}[source]
> Traditional context menus are therefore far superior, especially for varying numbers of options.

Traditional context menus suck on touchscreens. Pie menus support swiping naturally as an idiomatic interaction, which aligns with the most effective means of providing touchscreen input.

12. DonHopkins ◴[] No.44372420{6}[source]
>> Oracle owns the rights to the NeWS source code so I'm not allowed to post it on my Github page.

>They are certainly not making any money with it right now. All patents should be expired by now. Have you ever sincerely asked if you are allowed to publish the code?

Ha ha! Good luck, kiddo. Have you ever tried asking a lawnmower for favors? Do you really think "sincerity" would help?

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

https://youtu.be/-zRN7XLCRhc?t=33m1s

>X11 has extensions which correct for most of its original flaws.

Oh, then I guess there's no reason for Wayland, then. Have you broken the news to them? How did they react?

So is there an X-Windows extension yet that lets you download code into the window server where it can execute right next to the hardware and handle input events and draw interactive user interfaces locally without network traffic and context switching, and implement efficient application specific network protocols and rendering pipelines, just like NeWS?

Or, you know, like a web browser running an AJAX app like Google Maps? Certainly not Display PostScript, it can't do that, and nobody uses it any more for some reason or another.

>> Pie Menus

>Great for demos and to collect grant money, i guess. But in principle a total anti-pattern. People read from left to right and from top to bottom. Traditional context menus are therefore far superior, especially for varying numbers of options.

A lot more than grant money: The Sims has made EA $5 billion (as of 2019), putting pie menus into 70 million people's hands, and Blender and many other programs use them too. Have you ever played The Sims or used Blender?

https://fortune.com/2025/01/31/the-sims-25-anniversary/

What's your evidence for that claim that "Traditional context menus are therefore far superior"? Citations, or are you just bullshitting? Thanks to Fitts's Law, which every user interface designer should be familiar with, pie menus are much faster and have a significantly lower error rate than linear menus, so you're simply wrong about traditional menus being "far superior".

https://en.wikipedia.org/wiki/Fitts%27s_law

https://en.wikipedia.org/wiki/Pie_menu

We empirically proved that and published our findings at ACM SIGCHI in 1988, and since then many other people have performed controlled experiments replicating and elaborating our frequently cited results.

https://donhopkins.medium.com/an-empirical-comparison-of-pie...

>> Weirdly dragable tabs

>Not impressed at all, sorry. Creates much more visual confusion than generic title bars.

Have you ever used a web browser? I'm guessing you are using one right now! You must be pretty easily confused, so speak for yourself, please don't project your confusion onto others, we're doing just fine being not confused. Is the confusion in the room with you right now? ;)

Maybe you can reduce your confusion by reading the wikipedia article about tabbed windows. That screen dump in the article is an illustration of UniPress Emacs with tabbed windows and the HyperTIES hypermedia browser with pie menus and interactive PostScript "applets" (long before that term was coined for Java applets, or the term "AJAX" was coined for JavaScript web apps), which I developed for NeWS in 1988 or so. No coincidentally, James Gosling developed UniPress Emacs, NeWS, and Java.

https://en.wikipedia.org/wiki/Tab_(interface)

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

DonHopkins on April 12, 2016 | parent | context | favorite | on: NeWS – Network Extensible Window System

NeWS was not actually Adobe's Display PostScript, but it was Sun's independent implementation and specialized dialect of PostScript, supporting light weight processes, overlapping arbitrarily shaped canvases, window management, event distribution, garbage collection, networking, object oriented programming, etc.

The most important ability that NeWS had, but was missing from Display PostScript and its successors (OS/X Core Graphics, PDF, SVG, canvas API, etc), is the ability to download code to create an efficient custom high level application specific protocol between the client and server.

That essential ability is what people call "AJAX" these days, now that PostScript has been supplanted by JavaScript and a whole bunch of different APIs, and now we're even downloading shaders to the GPU! Truly exciting!

James Gosling chose PostScript from the start, for how its network programming ability dovetails with its graphics and data representation, instead of nailing it onto the side of a bunch of different technologies as an afterthought.

To quote the comparison from the wikipedia article:

NeWS was architecturally similar to what is now called AJAX, except that NeWS coherently:

1) used PostScript code instead of JavaScript for programming.

2) used PostScript graphics instead of DHTML and CSS for rendering.

3) used PostScript data instead of XML and JSON for data representation.

13. Qwertious ◴[] No.44372877{5}[source]
>Somebody just ASKED me to post more information, and they were even so kind as to say "please", so I did. If you object to that, then there is a "next" link you can press to skip over it without wasting your time replying! If that's too difficult and your panties are still in a bunch about my posting replies to legitimate questions, then take it up with sprash for asking. Happy clicking and toxic whining!

Oh shit, is that what the "next" button is for? TYVM, and I mean that unironically.