I've been thinking about roads not taken lately, wondering whether we should revisit some of them...
What if windows could be any shape? It's nice when all the graphics are resolution-independent vector drawings, each running in their own threaded Postscript runtime too.
How about popup windows as persistent tear-offs instead of ephemeral floaters?
Meanwhile, in France... Centaur was an interactive graphical programming environment written in #Lisp+#Prolog featuring a built-in database, plus auto-generated structure editor, interpreter/debugger, and so on — for whatever language you want. hal.inria.fr/inria-00075774…
And an example PS program for NeWS to produce this output:
clippath pathbbox new path
2 div exch 2 div exch translate
250 250 scale 90 rotate
25 (0 .9 moveto 0 0 1 90 -90 arc
0 0 .9 -90 90 arcn fill
.88 .88 scale 22.5 rotate) repeat
☝🏻Screenshot of Cedar, the other great interactive computing project at PARC (aside from Smalltalk and InterLisp-D), which shows a system of similar spirit built on a strongly typed ALGOL-like language with garbage collection and lightweight processes.
It included early work on editor ergonomics: "[U]sing Tioga as a program editor has several important benefits. First, viewing programs as formatted documents with common typographic conventions makes them easier to read and share."
The OS had a REPL, and one could start several at once and have multiple commands running at the same time. Also: "world-swap" debugger, tiling window manager, version and release management, entity-relationship DB w/ semantic data model, &c.
Cedar had a huge influence on Wirth's Oberon, which resembles it more than somewhat. Oberon's TUI (text user interface) had a number of cool extensions based around using a 3-button mouse to interact with text tags in editor windows. en.wikipedia.org/wiki/Oberon_(o…
The TUI innovations in Oberon inspired Plan9's Rio and Acme, which manage to be very alive and malleable without depending on a single programming language. (A uniform filesystem interface and per-process mount tables make this possible). en.wikipedia.org/wiki/Acme_(tex…
Meanwhile, at Stanford, a group built a cool research microkernel OS called V with a windowing system called W (terse team). W was ported to Unix machines, but had terrible performance, which led Bob Scheifler to do an async rewrite that he called... X. en.wikipedia.org/wiki/V_(operat…
X was simpler but in most other regards worse than NeWS, but it was open source and ran relatively well on the workstations of the day, which is why it won.
And here's a video from 1990 showing a variety of widgets in different systems, including PARC's Bravo (1974), various Smalltalks, Interlisp-D, tStar (1981), Cedar (1982) Symbolics, NeXT, &c: vimeo.com/61556918
Also available from YouTube, with better interface:
Arabic text selection with right-to-left text and left-to-right numerals with Xerox Viewpoint in 1986.
/cc @ra
Recently, @Conaw asked me about old papers of interest to @RoamResearch. These 7 Issues for the Next Generation of Hypermedia Systems from the 80s should feel quite familiar. Hypermedia computation section very relevant to @sritchie's interests. /cc @mkvlr citeseerx.ist.psu.edu/viewdoc/downlo…
"Don’t Fidget with Widgets, Draw!"
What if there's a graphics server with which you can communicate through a pipe to send/receive scheme s-expressions to build interactive graphical applications?
As this is getting some attention and not everyone on the list is famous outside of CS history circles, here's a little bit about each of these people:
Ashby was a psychiatrist by training who pioneered cybernetics, systems theory and what we now call complex systems. His book _Design for a Brain_ and _An Introduction to Cybernetics_ were very influential mid-century. en.wikipedia.org/wiki/W._Ross_A…