Xerox Star User Interface (1982) 2 of 2

57K views · 17 years ago · demo · intermediate · historical

The second part of a 1982 demonstration of the Xerox Star user interface, posted by VintageCG. It shows the Star's document and text editing, with its icons, windows and mouse-driven commands.

HN people use it as a primary source on early GUI design and point to its text editor as far ahead of its time.

“The Xerox Star had a wonderfully well thought out and implemented text editor”

6 comments from Hacker News

D
@DonHopkins2022 · in “Prime Video Uses WebAssembly”
I share that passion too! Most people grossly underestimate how difficult it is to implement something as seemingly simple as a text field or menu, when there are so many hidden issues and techniques that make them easy to use because you don't notice all the support you're getting. Well implemented user interfaces have polish that makes their inherent complexity invisible, but polish is actually millions of tiny little scratches, not just a clean simple perfectly flat surface. Accessibility and internationalization are two crucial dimensions that most people forget about (especially non-sensory/motor-impaired Americans), which each add huge amounts of unavoidable complexity to text fields and the rest of the widget set. Then there's text selection, character/word/paragraph level selection, drag-n-drop, pending delete, scrolling, scrollbar hiding, auto scroll, focus management, keyboard navigation and shortcuts, copy and paste, alternative input methods, type-ahead, etc, all which need to perfectly dovetail together (like auto-scrolling working correctly during selection and drag-n-drop, auto-scrolling triggering on a reasonably scaled timer regardless of mouse position instead of mouse movements only inside the text field, so scrolling is deterministically controllable and happens at a reasonable speed, and doesn't freeze when you stop moving the mouse or move it too far, etc). There are so many half-assed custom text fields out there written by well intentioned people who just didn't realize the native text fields supported all those features, or weren't intimately familiar with all of the nuances and tweaks that have been hashed out over the decades (like anchoring and extending the selection, controlling and editing the selection with the keyboard, inserting and removing redundant spaces at the seams of the beginning and the end of the selection when you drag and drop text, etc). Even when somebody achieves the straightforward task of implementing a text field that looks pixel-for-pixel equivalent to a native text field, they're usually making a promise that they can't keep, that it also operates exactly the same as a native text field. I've seen many text fields in games (and browsers) that break type-ahead by dropping keyboard input when you type too fast, because instead of tracking device events in a queue, they're polling the current state of the keys each frame update, so when you get slow frames and stuttering (which is often, like during auto save or browser thrashing), they miss key transitions. Most games poll the mouse buttons and positions this way too, so they break mouse-ahead by dropping mouse clicks if you make them too fast, and they perform actions at the current position of the mouse instead of its position when the click happened. Even a beautifully designed well implemented AAA quality game like Dyson Sphere Project running on a high-end PC has this problem. After you place a power pole, you have to hold the mouse still for a moment to let the game handle the mouse down event and draw the screen a few times, before daring to move your mouse away from where you want to place the pole, otherwise the pole goes into the wrong position, away from where you clicked the mouse, and this really throws a monkey wrench into smooth fluid interaction, predictable reliability, mouse-ahead, etc. The Xerox Star had a wonderfully well thought out and implemented text editor, which pioneered solutions to many of these issues in 1982 (including internationalization), demonstrated in this video: Xerox Star User Interface (1982) 2 of 2 ▶ this video See Brad Myers video "All the Widgets (Fixed v2) - 1990". This was made in 1990, sponsored by the ACM CHI 1990 conference, to tell the history of widgets up until then. Previously published as: Brad A. Myers. All the Widgets. 2 hour, 15 min videotape. Technical Video Program of the SIGCHI'90 conference, Seattle, WA. April 1-4, 1990. SIG
RecommendsView on HN
p
@pjmlp2013 · in “Tangle: a JavaScript library for reactive documents”
Except the original Lisp and Smalltalk environments are much more than a simple REPL. Sometimes I wish people would learn about computing history. Presentation from Kalman Reti about Lisp Machines, check the interactivity starting at 00:44:00 and how to introduce mouse sensitive images at 01:00:00 link Xerox presentations about Smalltalk-80 link link ▶ this video
RecommendsView on HN
p
@pjmlp2017 · in “Grappling with Go”
Faire enough, so prepare for an history lesson. :) Mesa/Cedar was created at Xerox PARC, as an extension of the Xerox Star 8010 system, which was programmed in Mesa, the language that inspired Niklaus Wirth to create Modula-2. link link ▶ this video Mesa evolved to Mesa/Cedar, which allowed for automatic memory management via reference counting and a tracing collector for the cycles. link The environment had a REPL and debugger inspired by the Smalltalk and Lisp systems at Xerox. Think of Swift Playgrounds, kind of. This system inspired Niklaus Wirth to create Oberon, which you can read about in his book, about how the OS was built. link In 2013, Niklaus Wirth revised the language and updated the book for a FPGA based computer. link There were several generations of the Oberon OS, the last one before it stop being relevant, the Bluebottle OS coded in Active Oberon variant. link It had a strange mix of UI, using a mix of text and mouse input. Basically all applications were dynamic modules and the procedures/functions with a special signature could be used from the UI. So you could select text or objects from applications, and invoke such operations on the selection. The Oberon System 3 and Oberon V4 with their Gadgets framework were the best experience, before AOS was designed. Most relevant OS in Modula-3 was SPIN OS, link There were a few others, this is just a small sample.
CitesView on HN
p
@pjmlp2014 · in “Web Starter Kit”
Self link Xerox Star User Interface link ▶ this video Tektronix 4404 Smalltalk link The Smalltalk-80 Programming System link The Final Demonstration of the Xerox 'Star' computer link Symbolics Hypertext Document link Warren Teitelman work at Xerox PARC link The Mesa/Cedar programming environment link Steve Jobs internal demo of NeXTSTEP 3, link Alan Kay on Xerox PARC work link link link
CitesView on HN
p
@pjmlp2014 · in “Shadow DOM”
Mainly videos Self link Xerox Star User Interface link ▶ this video Tektronix 4404 Smalltalk link The Smalltalk-80 Programming System link The Final Demonstration of the Xerox 'Star' computer link Symbolics Hypertext Document link
CitesView on HN
v
@vanderZwan2013 · in “German City Set To Make Linux A Norm For Citizens ”
"Abiword normally does not have built in facilities for mathematical formulas" The Xerox Alto had this in 1982[1]. NINETEEN FREAKING EIGHTY TWO. How is it possible that any WYSIWYG word processor is allowed to ship without this? [1] ▶ this video