7 ms·
The Xerox Smalltalk-80 GUI Was Weird
- linguae 3y agoGreat article helping to dispel the myth that Apple simply stole the GUI from Xerox. The Lisa and the Mac were truly revolutionary, introducing many GUI concepts that we take for granted today. Another rather interesting Xerox PARC technology in the history of GUIs is the Xerox Star interface, which actually beat the Apple Lisa in releasing a GUI with a desktop metaphor. The Xerox Star was a commercial workstation and was this one of the first GUIs that customers could actually purchase. However, it was very expensive (more expensive than the Lisa, which failed partly due to its $10K [in 1983 dollars] price point). Even though the Xerox Star preceded the Lisa when it came to the desktop metaphor, the UI would be unfamiliar to Mac and Windows users, featuring rather complex mouse and keyboard gestures to use GUI features, compared to the Lisa’s conventions, which have largely endured to this day, to the point that it shouldn’t take too long for a Mac or Windows user to learn how to use a Lisa.
- masswerk 3y agoEveryone involved in the efforts of developing a consistent and consumer-ready UI and stringent metaphors from the beginnings at PARC deserves due respect. E.g., the team at Xerox SDD (Systems Development Department) developing the Star, the team at PERQ (Three Rivers), and, of course, Apple (there were probably a few more). They are probably somewhat undeserved in the shadow of what was still early (and often inconsistent) experiments. And, yes, the first commercial GUI systems were expensive, as they required fast processors and comparably lots of RAM, which was expensive. It was probably still too early for consumer oriented systems and the systems that were had to address special niches, like knowledge workers and experts. Even the Mac just barely managed a certain level of affordabilty, and this only by (initially) including just a barely viable amount of RAM. (Compare 128K for Mac vs 2MB for the Lisa, which also meant stripping advanced features like multitasking.)
- deleted 3y ago[deleted]
- drewcoo 3y agoXerox did not "beat" Lisa. They showed what they had to Jobs and like all great artists, he stole . . . https://www.newsweek.com/silicon-valley-apple-steve-jobs-xerox-437972 https://www.newsweek.com/silicon-valley-apple-steve-jobs-xer...
- AlbertCory 3y agoYou fell for the myth. Stanford explodes it: https://web.stanford.edu/dept/SUL/sites/mac/parc.html https://web.stanford.edu/dept/SUL/sites/mac/parc.html I was there. This is mostly correct. Jobs didn't "steal" it; he finally believed what his own people had been trying to tell him.
- masswerk 3y agoSee also "On Xerox, Apple and Progress" by Bruce Horn https://www.folklore.org/StoryView.py?&story=On_Xerox,_Apple_and_Progress.txt https://www.folklore.org/StoryView.py?&story=On_Xerox,_Apple...
- masswerk 3y agoEven it were true that the Lisa had been a simple copy of Alto software (it isn't), or there hadn't been any prototypes for a windowed bitmap display at Apple before this visit (there was), it's technically somewhat difficult to steal what you own. Notably, the (in)famous PARC visit was coordinated in fulfilment of a condition for an exchange of stocks between Xerox (who had advanced Apple on the matter) and Apple, when Apple was still a private company. So Apple actually co-owned part of Xerox PARC. (In this regard, it may be even a bit ironic that the Apple delegation was shown less than what had been the usual program for similar tours, of which there had been many before this.) Nevertheless, Apple licensed quite a bit from Xerox. Also, it may be important to note that the focus at Xerox PARC and Apple was quite different. If there had been inspirations initially (of course, there were), these developed quite differently, even radically so. You may also say, Xerox had a fair chance with the Star, being on the market without competition for years before the Lisa was eventually released. But Xerox PARC was so much more than just Smalltalk, and Xerox still got a rich return of investment out of PARC. (So it wasn't a failure either.)
- AlbertCory 3y ago> the UI would be unfamiliar to Mac and Windows users True. Star had something no other system's ever tried to do, namely dedicated MOVE / COPY / PROPERTIES / DELETE keys, which were supposed to be universal for all types of objects. Nowadays, cut / copy / paste have become the universal operations, and mouse button chording / two finger press have become the equivalent of the PROPS key. Also, Star had no menu bar across the top, another thing that would be pretty confounding for a modern user. That's not to say dedicated keys were the right idea! It was just one of those things that sounded good at the time but didn't catch on.
- koito17 3y agoI'm assuming the "by the Bluebook" implementation they're referring to is this: https://github.com/devhawala/ST80 https://github.com/devhawala/ST80 It's nice to use, but awkward because almost nobody has a three-button mouse laying around. One of the cool things about the Blue Book is that it lays out exactly how to implement e.g. graphics primitives and even the object system itself. In fact, the implementation I linked above uses the exact implementation of these things as outlined in the Blue Book, just written in Java. > The first thing is that the Smalltalk environment wasn't really an operating system the same way something like Mac OS was. It’s more like an IDE that runs on bare hardware. I disagree with this. It is an operating system. Just because it doesn't have barriers like a kernel and doesn't treat debuggers as third-class citizens doesn't make it any less of an operating system. It just makes it "not Unix". Lisp machines were also very similar in this regard: there is no "system" in the Unix sense: your compiler, debugger, and runtime were a whole unit and that is what you booted into. > The Smalltalk environment was a revolutionary GUI, but it was still a system you would have had to have been a computer operator or something to really use. Probably true. But I'd also like to mention the images in the GitHub link I posted are very early snapshots of Smalltalk-80 and may lack any features that were added later. More importantly, the author is missing that these machines came with a manual that likely described how to use the interface. But I do have have to concede: these machines were extremely expensive and definitely not targetted towards "everyday people", but can we even say the same about the Lisa? I know the Macintosh was definitely designed for everyday people, but the Lisa was pretty expensive even for its time, and many attribute its commercial failure to this.
- jonhohle 3y ago> almost nobody has a three-button mouse laying around With the exception of a trackpad or Magic Mouse (or whatever Apple calls it), doesn’t everyone using a mouse have a three button mouse? Is the scroll-wheel click no longer used as middle click by default? Even Apple’s best mouse, the Mighty Mouse, can middle click.
- gumby 3y agoThe apple trackpads support multi-finger clicks and swipes, though of course the chording is different (you can’t simply press the “middle” button by itself).
- shaunxcode 3y agoweird is an odd way to spell brutalist ux.
- gumby 3y ago> The first thing is that the Smalltalk environment wasn't really an operating system the same way something like Mac OS was. It’s more like an IDE that runs on bare hardware. This was true of Xerox’s InterLisp-D environment and the MIT Lispms and their descendants as well. For the Lispms we typically didn’t save the world (essentially the memory image) but instead used cloud storage. As the article says on the PARC machines we mostly saved a band (memory image). Filesystems and many other things we would consider local services were (LAN) cloud services instead. This was late 70s/early 80s and mostly took decades to become mainstream.
- lispm 3y agoThe Xerox Interlisp-D system also then got a user interface metaphor: rooms. https://dl.acm.org/doi/pdf/10.1145/24054.24056 https://dl.acm.org/doi/pdf/10.1145/24054.24056 Rooms: The Use of Multiple Virtual Workspaces to Reduce Space Contention in a Window-Based Graphical User Interface D. AUSTIN HENDERSON, JR., and STUART K. CARD Xerox Palo Alto Research Center
- ChainOfFools 3y agoWhile we're at it you can add the ucsd p-system to that group, although there was actually one iteration of it that came bundled with its own hardware (by Western Digital, with an overly complicated CPU design implemented partially in discretes!) rather than the other way around using platform-independent VMs. Sort of anticipating the similarly forgotten PicoJava project.
- mepian 3y agoYou can play with another early Xerox GUI called Interlisp in your browser: https://interlisp.org/medley/using/running/online/ https://interlisp.org/medley/using/running/online/ It was being developed in parallel with Smalltalk-80 (and earlier versions of Smalltalk): https://interlisp.org/medley/history/timeline/ https://interlisp.org/medley/history/timeline/
- djur 3y ago> For example, there’s no traditional file system... The whole desktop metaphor isn’t really there, because that isn’t really what it was. The earliest Macs feel 'weird' in this way too, since the hierarchical filesystem wasn't introduced until the Mac Plus and multiple applications running simultaneously weren't officially supported until System 5 (with MultiFinder). It doesn't really start feeling like the modern 'desktop' until System 7, where they started treating the desktop like a folder.
- lispm 3y agoThe Mac also had no preemptive task switching, no memory protection between applications and/or the OS. Early on there was also no software development on the Mac - one needed an Apple Lisa for that.
- lproven 3y agoI think it's important to note that the Mac didn't have multitasking because it was so savagely cost-reduced, and the team had to fit a GUI OS into 128 kB of RAM. The Lisa did have multitasking. It is one of the Lisa features that was cut from the Mac. And then Apple spent a decade or so trying to put it back in again.
- lispm 3y agoThough it was cooperative Multitasking, something with the MacOS also got, years later A good overview of the Apple Lisa is this: https://www.researchgate.net/publication/2996607_The_Architecture_Of_The_Lisa-_Personal_Computer https://www.researchgate.net/publication/2996607_The_Archite... "The Architecture Of The Lisa-Personal Computer"
- igouy 3y ago> For example, there’s no traditional file system. Is that correct? The first screen-grab in the article shows a "System Workspace" window with some script snippets that seem to do "traditional file system" stuff. "The Smalltalk-80 system includes classes FileDirectory, File, and FilePage to represent these structural parts of a file system." etc etc page 209 "Smalltalk-80: The Language and its Implementation" https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Bluebook.pdf https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Blueboo...
- II2II 3y agoBefore I go into a rant, I will acknowledge that Apple did usability research with the introduction of both the Lisa and Macintosh, along with acknowledging that most popular GUIs being based upon the foundations they laid. ... but ... It is important to remember that people were still figuring things out in the early days. There were many variations in how GUIs worked, some of which were minor and others of which were quite significant. None were predestined to be the final word in what constitutes a good GUI. In fact, one could argue that the Macintosh (and particularly the Macintosh of 1984) did not prevail. Far more people use Windows to this day, and most people will interact with touch interfaces more often than desktop interfaces. Those touch interfaces have ditched most of the traditional forms of interaction and the metaphors they are based upon. As for the interface as an IDE, I think a lot was lost when the developer tools were separated from the OS. That's not to say people should be required to use them, but the ability to probe more deeply and modify if desired is amazing. The presence of such tools doesn't have to take away from usability either. Just consider the developer tools found in most web browsers. Everyone has those tools (at least on desktop browsers), they don't take away from the UX either.
- xkriva11 3y agoAn example of what was possible on the living Smalltalk-78 system: https://www.youtube.com/watch?v=eEz08IlcNMg https://www.youtube.com/watch?v=eEz08IlcNMg
- lovelyviking 3y agoThank you for your thoughts. I wander if downvoters have managed to comprehend what you’ve said. I doubt it.
- not2b 3y agoSorry, no. I saw a demo of a Xerox workstation at PARC in 1982, probably not that different from the demo Steve Jobs got. It was a lot more advanced than suggested by this article, which seems to miss that office applications were written on top of the system the article describes and provided much of the needed functionality. As a programmer you had a much worse interface, but the programs that had been written did the work. The Lisa end user experience wasn't that different from the Xerox Alto. The Mac made a lot of simplifications to make things smoother.
- AlbertCory 3y ago"Sorry, no" no to what? "this article" - what article? Jobs came to PARC in December 1978. 4 years later was an eternity. By 1982 PARC had Dorado-based systems on Cedar. "The Lisa end user experience wasn't that different from the Xerox Alto" -- except that the Alto had many different programs, each with their own interface, so I don't know what you're referring to. I guess you're talking about Smalltalk, but that was a tiny part of what people at Xerox were doing. It had a negligible influence on the Star.
- coldtea 3y ago>"Sorry, no" no to what? "this article" - what article? TFA ( https://collindonnell.com/the-xerox-smalltalk-80-gui-was-weird https://collindonnell.com/the-xerox-smalltalk-80-gui-was-wei... ). >Jobs came to PARC in December 1978. 4 years later was an eternity. Not in desktop GUI land, since nobody did anything interesting commercially in desktop GUIs for those next 4 years. And of course in those 4 years Apple started the project, designed the hardware and implemented the OS, GUI, and basic programs. Lisa actually began in 1978 itself, so it took all those years until its release in 1983. By which time they'd probably also had a look at the Star's ongoing developments. Doesn't mean they didn't take a lot of their inspiration from that demo. >"The Lisa end user experience wasn't that different from the Xerox Alto" -- except that the Alto had many different programs, each with their own interface, so I don't know what you're referring to. He's referring to the GUI concepts as implemented in it (and exhibited in those programs), not necessarily some overall GUI shell or some particular individual program. >I guess you're talking about Smalltalk, but that was a tiny part of what people at Xerox were doing. It had a negligible influence on the Star. TFA mistakenly talks about the Smalltalk GUI as if the common understanding is that Smalltalk-80s' GUI was what Apple saw and copied from Xerox. TFA then goes on to reject that Apple copied Xerox, because he finds that Smalltalk-80 GUI was hardly like a Desktop, but more like an IDE. That description of Smalltalk-80 GUI is of course correct, but he missed the crucial part: people don't say Apple copied Xerox because of Smalltalk-80, but because of Alto's (and perhaps Star's) GUI concepts. So it's not the parent who is confused, he merely replies to TFA.
- alexshendi 3y agoI think a better candidate for a comparison to the 1984 Mac would be the Xerox Star: 1. https://en.m.wikipedia.org/wiki/Xerox_Star#/media/File%3AXerox_Star_8010_workstations.jpg https://en.m.wikipedia.org/wiki/Xerox_Star#/media/File%3AXer... 2. https://en.m.wikipedia.org/wiki/Xerox_Star https://en.m.wikipedia.org/wiki/Xerox_Star
- lproven 3y agoYou are missing the point here. The point is the often-repeated story that "Apple stole the GUI from Xerox." It's not true, because when Apple saw the Xerox Alto, it was almost a prototype. It wasn't a commercial product, and it had no standard UI. Different tools had different UIs, a lot in the "apps" was keyboard-driven, and the famous GUI part, the Smalltalk system, did not have a lot of things we today take for granted. The Alto didn't have them because they had not been invented yet. That is because Apple invented them. Apple's Lisa OS, and later Mac OS, invented things like title bars with standardised control buttons, menu bars and pull-down menus, graphical iconic toolbars, dialog boxes with standard buttons in standard places, desktop icons, graphical file managers representing files and folders with icons that the user can position, and so on. Now, all GUIs have these. Later Xerox GUIs have these, such as the Star. But the Alto didn't, because the ideas hadn't been invented. Xerox came up with the GUI and overlapping windows and graphical menus and things like that, but Apple refined it into something more usable by non-experts, and also simplified it so that it was usable with a single mouse button. What Apple saw in the demos was indeed weird, which is the point of TFA.
- lispm 3y ago> The Xerox Smalltalk-80 GUI Was Weird "Weird" means only that you haven't used other similar UIs. Smalltalk 80 was a development environment. There were applications written in it with more extensive UI examples. > At first glance, this looks incredibly similar to something like the desktop of the Apple Lisa or early Mac OS. Not at all. But the Smalltalk 80 UI was only one of several that were developed. It would be better to compare the Mac OS UI to the office system from Xerox. An early application domain for the Mac was "Desktop Publishing" (Apple LaserWriter, Adobe Postscript, Aldus Pagemaker). > The first thing is that the Smalltalk environment wasn't really an operating system the same way something like Mac OS was. It’s more like an IDE that runs on bare hardware. The Mac hadn't also much of an OS in the early days. It was like running c/pascal/assembler code on bare hardware with a loader and a system library. > You can’t even move or resize a window by clicking and dragging. The "Direct manipulation interface" was made popular by the Mac. https://en.wikipedia.org/wiki/Direct_manipulation_interface https://en.wikipedia.org/wiki/Direct_manipulation_interface A good idea to compare those systems is to check how early applications looked and worked. On the Mac that would have been MacPaint and MacWrite. You'll find earlier such applications for the Xerox systems, too. The Xerox Star UI: https://www.youtube.com/watch?v=xJzYRgmnJrE https://www.youtube.com/watch?v=xJzYRgmnJrE http://toastytech.com/guis/star.html http://toastytech.com/guis/star.html Apple also had Smalltalk 80 running on the LISA: https://www.macintoshrepository.org/23277-lisa-smalltalk-80 https://www.macintoshrepository.org/23277-lisa-smalltalk-80
- coldtea 3y ago>At first glance, this looks incredibly similar to something like the desktop of the Apple Lisa or early Mac OS. It’s easy to see why people might think that Apple sort of stole the graphical user interface from it’s rich neighbor Xerox. It’s not true, though. People don't think Apple stole the GUI from Xerox because of the Smalltalk-80 GUI, but because of the Xerox Alto and Xerox Parc [1]. [1] Xerox Star
- asimpletune 3y agoSometimes I wonder if small talk had thrived how different the world might be. For example, we’ve experienced a trend over the last decade of building platforms out of micro services. They have interfaces, which are sometimes statically typed and serialized with rpc libraries, and ultimately they send messages to each other, because they are isolated. Now imagine small talk. It’s virtually the same thing, but 50 years ago (and not networked). Still each object is isolated, and they only communicate by sending messages. Everything is an object that’s inspectable and can “independently deployed” by editing it in real time. This seems really nice. Are we living in a worse version of the world (technologically) than what we could have had? I don’t know a lot about small talk though so perhaps someone here can chime in and say why it wasn’t that great. To me though it seems like it was a serious system that was more than just a good demo. I can only imagine how it could have developed over 50 years if it was embraced. To me it still looks futuristic.
- bruce343434 3y agoWhat is the difference between "sending a smalltalk message" and "calling a method" (i.e., jumping the central thread of execution to a particular label until a ret instruction is reached)? This isn't truly distributed, it's still centralized. If one method gets stuck in a loop, the entire system grinds to a halt. If each "object" or "service" gets its own process or thread however, this doesn't happen, and you get graceful system degradation which can be mitigated by spinning up redundant services. You're right, most businesses don't need microservices, indeed "monolithic" (not distributed) architectures are totally fine and they have less overhead. And yeah probably a lot of businesses that do use microservices don't even make use of the benefits of a distributed system yet have all of the drawbacks. That's just people being people (stupid).
- t43562 3y agoIf we wrote things as objects sending messages we might be able to disregard their remoteness most of the time. The value could be in writing software which wouldn't need to change much as you changed the way it's getting used radically. For a crappy example, a tool like rsync can talk to a copy of itself over any kind of stream and sync things that are remote so because it has this abstraction, you can rsync over ssh but you're not limited to ssh. If some future stream protocol arises rsync could probably be made to work over it without a rewrite.
- watersb 3y agoI may be mid-remembering details, but The first Mac development environment from Apple that you could run on a Mac was the text-based Macintosh Programmer's Workbench. Superficially, it was a command-driven shell. But it was not hosted in a terminal emulator window. The command shell was just a text document; you would type a command sequence, then tell the environment to execute it. I believe you could run it by typing Command-Return, but then I seem to recall you would execute the text by selecting it with the mouse and invoking "execute selected text" via a menu option. There was no enforced distinction between input text or output text; commands usually printed something by way of feedback. Overall, your command shell text document would soon get built up into something worth keeping, at which point you could save it to a file, or it was a complete mess you could discard. But visually, it looked more like Prof. Doug Englebart's legendary demo, or like Plan 9 Acme, than Bash in a terminal session. In much the same way that Emacs is a Lisp Machine environment. Is it a document? A command? M-x e. Later on, NeXTStep used SmallTalk ideas; Objective-C is close to being SmallTalk in C. The columnar browser for object/command hierarchy is still used in the AppleScript Script Editor app (which predates NeXT). The NeXT file browser had an area (the "Shelf") above the hierarchy columns that you could use for keeping references to objects you wanted to use later. macOS retained the Shelf in the Finder until ?? Tiger 10.4? But over time the shelf degenerated into a semi-customizable toolbar. You can't drag files up there anymore.
- cmrdporcupine 3y agoThis style of command interaction via buffer was kind of how a lot of early systems worked and it's kind of sad how this method disappeared and was replaced with the Unix shell (and I assume VMS) command/response flow. Consider the C64 BASIC environment. In that case not a "buffer", like emacs, but just really the text screen memory, but same effect. To repeat a command, move the screen arrows up and hit return. Execute any content off the screen. It's nifty.
- t43562 3y ago> For example, there’s no traditional file system. Smalltalk environments were > stored as images which contained the entire state of the system. That means > all of the objects, code, data, whatever, were stored as Smalltalk objects. > The creators of Smalltalk wanted to make a system where the person using it was > also modifying and programming the system as they used it. That’s really cool > as a programming environment, but not really how we think of normal people > using computers today. Seems like it was much more advanced than what we actually have today. Why do we need "filesystems" anyhow? Why do we "not think of normal people" programming their computers?
- igouy 3y ago> For example, there’s no traditional file system. Is that correct? The first screen-grab in the article shows a "System Workspace" window with some script snippets that seem to do "traditional file system" stuff. And "The Blue Book" says: "Class FileStream is a subclass of ExternalStream. All accesses to external files are done using an instance of FileStream. … Classes ExternalStream and FileStream are provided in the Smalltalk-80 system as the framework in which a file system can be created. Additional protocol in class FileStream assumes that a file system is based on a framework consisting of a directory or dictionary of files, where a file is a sequence of file pages. The Smalltalk-80 system includes classes FileDirectory, File, and FilePage to represent these structural parts of a file system." etc etc page 209 "Smalltalk-80: The Language and its Implementation" "The Blue Book" https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Bluebook.pdf https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Blueboo...
- t43562 3y agoPossibly the VM can operate without a filesystem but it might be necessary to have a way to interface with the external world. https://en.wikipedia.org/wiki/Smalltalk#Image-based_persistence https://en.wikipedia.org/wiki/Smalltalk#Image-based_persiste... ^^ Here I think the point is that you can stop the VM, restart it and you're back where you were before you left - there's no need to "save your document" because it's an object in the image and when you edit it, the persistence is handled automatically. Just as today your IDE saves your source files for you every time you make a change but obviously not on every character you type.
- sebastianconcpt 3y agoThat's not how to review something from the past. Everything in these days "was weird". Because of mere chronology, your neural networks were trained to a completely different understanding of normalcy (as in not-weird) which your article doesn't address.
- glimshe 3y agoThis feels like hindsight. Even this is revolutionary compared to the text terminals that came before it. You could arrange stuff on screen, pull down menus etc? That was science fiction.
- AlbertCory 3y agoYou hear a lot about the Xerox Star, but most of the articles (and there were many) are behind paywalls, or just plain lost. But they're all in one PDF on bitsavers. I posted them here. https://news.ycombinator.com/item?id=36574631 https://news.ycombinator.com/item?id=36574631
- sfuller808 3y ago[dead]
- sfuller808 3y ago[dead]
- igouy 3y ago> For example, there’s no traditional file system. Seems like Collin Donnell, the writer of "The Xerox Smalltalk-80 GUI Was Weird" is just wrong. Yes, Smalltalk-80 provided a way to snapshot and resume — the image. Yes, Smalltalk-80 provided a way to represent the file system — FileDirectory, File, and FilePage (change log, change set, sources). These are not mutually exclusive. Smalltalk-80 provided both. The first screen-grab in "The Xerox Smalltalk-80 GUI Was Weird" shows a "System Workspace" window with some script snippets that seem to do "traditional file system" stuff.