3 ms·
> GUIs have always been a shitshow w.r.t. compatibility. I completely agree with your assessment that vendors will never agree on a common GUI toolkit. Howeve
by cmroanirgo 6y ago
> GUIs have always been a shitshow w.r.t. compatibility.
I completely agree with your assessment that vendors will never agree on a common GUI toolkit.
However, if one were to think about it, anything shown on the screen is a gui of sorts. It's just that text mode was long ago standardised with the use of ascii and the corresponding cga/ega/vga drivers.
> Before 1963, computer manufacturers had over sixty different ways of representing characters in computers. Machines could not communicate with one another [0]
There were some wild inconsistencies with the different display drivers back in early days. It's just that no one seemed to want to standardise on renderable gui elements afaik. Every platform has redesigned the wheel, so to speak, giving us the mess we've always had.
It'd be interesting to see hardware level support for UI elements, but as you suggest, we're probably too far down the road for anyone to give up their niche GUI library.
[0] https://ethw.org/ASCII https://ethw.org/ASCII
- jart 6y agoYeah it's pretty old. Textmode interfaces began with the teletypewriter in the nineteenth century and UNICODE began around that time too. The programming interface for these machines wasn't standardized until the 1960's with ASCII, which was extended a decade later by ANSI X3.64-1979, and then again in the 90's by UTF-8. That's the trifecta of textmode definitions which, only as of these last few years, became basically universally supported. CGA is kind of just a uint16_t[20][80] array for personal computers. See also: https://github.com/jart/cosmopolitan/blob/ea0b5d9/tool/build/lib/pty.c#L40 https://github.com/jart/cosmopolitan/blob/ea0b5d9/tool/build... You're absolutely right that the inconsistencies with textmode used to be about as awful as the inconsistencies we see with GUIs today. I'm certain things will get better if we consider that GUIs are a relatively recent invention by comparison. So it'll probably take another fifty years for widget authors to forge out a consensus that's as good and widely supported as the one we have now for terminals.