Hacker News new | ask | show | jobs
by CharlesW 6 days ago
Out of curiosity, are you now or have you ever been a "Mac person"? I'm curious if you've ever gone down the rabbit hole on Apple's history of technologies for what I think you'd call "malleable computing" at the OS level, like Open Scripting Architecture/AppleScript and now App Intents?
2 comments

Short answer, yes I am a Mac guy. AFAIK, both AppleScript and Shortcuts/Intents are mechanisms Apple has provided to support orchestration between apps. I do not consider them “malleable computing” mechanisms as they do not allow for adapting and reshaping the apps themselves. That said, AppleScript and Shortcuts are only as useful as the support given to them by 3rd party apps, which IMHO has always been mid.
If you're into malleable computing you'd never have been a "Mac person"
Yeah, NeXTSTEP is notoriously a locked-down, untweakable OS. It's not like anyone was able to use it to program anything of consequence.
I had an argument with Steve Jobs about pie menus at the Educom conference in Washington DC, October 26 1988 -- right after he finally shipped NeXTSTEP (people had been teasing it as vaporware with "NeVRSTEP" t-shirts).

I was demonstrating the work I'd done at the UMD Human Computer Interaction Lab on a color Sun 3/60 that Sun lent me to use at their booth, which happened to be right across from the NeXT booth.

Ben Shneiderman dragged Steve Jobs over to the Sun booth, and I gave him a NeWS demo for about half an hour: HyperTIES, UniPress Emacs, pie menus, PostScript windows in arbitrary shapes — the Hubble Space Telescope in orbit, Bill Joy's head popping up when you pointed at it, that kind of thing. Jobs has RELIGION about UI, and he argued wonderfully. He also has volume. On the show floor, in a suit and tie, he was jumping up and down yelling:

"That sucks! That sucks! Wow, that's neat! That sucks!"

Not discouraged, I figured one neat to three sucks was a good score from Steve Jobs. When I explained how flexible NeWS was -- programmable PostScript in the window system, malleable windows, extensible UI, transforming all menus of all apps into pie menus, etc -- he told me:

"I don't need flexibility -- I got my window system right the first time!"

Okay, agree to disagree. Then I gave him a free NeWS "NeRD" button, which he gracefully accepted, then he departed leaving my reality intact and undistorted.

So empthought's joke isn't far from the design philosophy. NeXT was world-class software, but malleability for the user was exactly what Jobs was proud of not offering. That's a big part of why the Emacs / NeWS / PostScript / Smalltalk / Self / Oberon / JavaScript / AJAX branch of computing and the Mac / NeXT / Display PostScript / Objective C / Cocoa branch diverged.

More context from that week:

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

Also, during the conference I was giving essentially the same rolling demos to anyone who walked by, and some scruffy looking dude was hanging out and watched the whole series until it looped back to Emacs, then he finally remarked "I used to use EMACS on ITS." (i.e. the original TECO version)

...I said "Wow, what was your user name? Mine was A2DEH@AI!" and he replied "WNJ".

Only then did I realize I had been giving demos to Bill Joy, the author of VI, of UniPress Emacs for NeWS, and of HyperTIES embedded graphical pop-up links demo with his own inflatable pop-up head. I didn't recognize him because he'd shaved his beard!

HyperTIES founders storyboard: https://donhopkins.com/home/ties/emacs/founders.st0

Bill Joy's Head Target: https://donhopkins.com/home/ties/emacs/obj/founder.curly.tn0

NeWS PostScript pop-up target class: https://donhopkins.com/home/ties/target.ps

At least it wasn't RMS, who would have immediately objected strongly to the "Evil Software Hoarder" version of Emacs I was using.

Here are some examples of not-locked-down NeWS user interfaces:

HCIL Demo - HyperTIES Browsing:

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

HCIL Demo - HyperTIES Authoring with UniPress Emacs on NeWS:

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

Just the Pie Menus from All the Widgets:

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

Ben Shneiderman, Don Hopkins, and pie menus in Spring 1989 on a Sun Workstation, running NeWS:

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

Nelson Spins Pip While Emacs Watches:

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

(Oops that was a different Emacs, my cat.)

Thanks for sharing this! You are a legend!
How was OSA/AppleScript not an OS-level malleable computing layer?
I don't know first hand of anyone who ever used it for anything. Maybe I knew the wrong Mac users (mostly teachers).
Re CharlesW: OSA was an OS-level malleable-computing layer, on paper. Apple Events exposed scriptable objects; OSA let multiple scripting dialects share the same runtime. The gap was who actually shipped working product.

Dave Winer's Frontier (UserTalk) is the piece these threads usually skip. Frontier 1.0 shipped in January 1992 -- the same month Apple finally held its one-day scripting developer conference, after years of canceling and restarting AppleScript.

Winer's history:

http://scripting.com/dwiner/historyOfFrontier.html

UserTalk wasn't bolted on. It was registered as an OSA dialect: Script Editor, HyperCard, Nisus ("Do Script"), and other OSA hosts could run UserTalk, not only Frontier.

Manual:

http://scripting.com/frontier/manual/chapter01.html

UserTalk as OSA dialect:

https://sbc.apeth.com/frontierDef/ch34.html

What made it malleable in practice: syntax is an outline (code and data are the same tree); object DB + interpreter + outliner in one app; and one of the most complete Apple Events client/server stacks on the Mac -- I used Frontier and Radio Userland to automate other apps heavily, often before their AppleScript dictionaries caught up.

So yes: OSA/AppleScript was malleable computing at the OS layer if you count UserTalk and HyperCard and scriptable apps, not only Apple's English-like syntax. AppleScript won the namespace; that doesn't mean nobody used the layer. SoftTalker's teachers weren't the crowd wiring Finder, FileMaker, HyperCard, and CGI with UserTalk.

Later the same core powered Manila, Radio Userland, RSS, OPML, XML-RPC. Short timeline:

https://eclecticlight.co/2025/02/22/a-brief-history-of-scrip...

I've posted about this at length before on HN — ThinkTank, MORE, UserTalk, Apple Events, Radio Userland, the whole outline-as-language lineage. Two long ones:

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

(on Excel / visual data models — why we still need "Google Trees", and how Frontier got there from MORE)

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

(on Xanadu open source, Hugh Daniel in the winged cap, and why hypertext without a scripting language is hyper-crap)

Index post linking several of these threads:

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

Excerpts from the first (30871497):

The thing that's missing from "Google Docs" is a decent collaborative outliner called "Google Trees", that does to "NLS" and "Frontier" what "Google Sheets" did to "VisiCalc" and "Excel".

And I don't mean "Google Wave", I mean a truly collaborative extensible visually programmable spreadsheet-like outliner with expressions, constraints, absolute and relative xpath-like addressing, and scripting like Google Sheets, but with a tree instead of a grid. That eats drinks scripts and shits JSON and XML or any other structured data.

Dave Winer ... originally developed a wonderful outliner on the Mac originally called "ThinkTank" and then "MORE", which later evolved into the "Frontier" programming language, and ultimately the "Radio Free Userland" desktop blogging and RSS syndication tool.

More was great because it had a well designed user interface and feature set with fluid "fahrvergnügen" that made it really easy to use with the keyboard as well as the mouse.

After the success of MORE, he went on to develop a scripting language whose syntax (for both code and data) was an outline. Kind of like Lisp with open/close triangles instead of parens! It had one of the most comprehensive implementation of Apple Events client and server support of any Mac application, and was really useful for automating other Mac apps, earlier and in many ways better than AppleScript.

Then XML came along, and he integrated support for XML into the outliner and programming language, and used Frontier to build "Aretha", "Manila", and "Radio Userland".

He used Frontier to build a fully programmable blogging and podcasting platform, with a dynamic HTTP server, a static HTML generator, structured XML editing, RSS publication and syndication, XML-RPC client and server, OPML import and export, and much more.

Excerpts from the second (26217472):

I was a "random turist" high school kid visiting the AI lab on a pilgrimage. That was when I first met Hugh Daniel: this energetic excited big hairy hippie guy in a Xanadu baseball cap with wings, who I worked with later, hacking NeWS. Hugh and I worked together for two different companies porting NeWS to the Mac.

The fact that Xanadu didn't have a built-in extension language was a disappointment, since extensibility was an essential ingredient to the success of Emacs, HyperCard, Director, and the World Wide Web.

Anyway, my take on all this hyper-crap is that it's useless without a good scripting language. I think that's why Emacs was so successful, why HyperCard was so important, what made NeWS so interesting, why HyperLook was so powerful, why Director has been so successful, how it's possible for you to read this discussion board served by Frontier, and what made the World Wide Web what it is today: they all had extension languages built into them.

If you're into malleable computing and you've never looked at outline-as-language systems (Frontier/UserTalk, MORE, later outliner-programming ideas), you're missing half the Mac story — the half that shipped before AppleScript stabilized.

Always a pleasure to sit down for Mr Hopkins' story time. Many gems of ideas and memories.

For others like me who hadn't heard the word "fahrvergnügen", it translates to "pleasure of driving". From German fahren ("to drive") + Vergnügen ("pleasure/enjoyment"). The term was popular in advertisements for Volkswagen vehicles, which seem to have certain affinity to Apple products (past and now, good and bad sides).

Dave Winer's personal site is still up and running on UserLand Frontier! http://davewiner.userland.com/default

> ..how I got involved in outlining while I was learning about programming on my way to doing an BBS which turned out to be an outliner which turned out to be part of a scripting system.

> the idea came from LISP programming systems that had hierarchic program editors. I wanted to see if the same thing could be done for Pascal. The result was a development system that ran on PDP-11s under Unix that viewed and edited source code as a tree. This embryonic outliner could dive and surface, displaying one level of the hierarchy at a time. Programmers could edit the structure of their programs directly.

Fascinating stuff, this is like a structural/projectional editor for oulines and documents, extensible with scripting. Well, I have a dozen tabs open now, I'll enjoy reading through them. The Frontier manual with little screenshots of classic Macintosh interface is sweet, nostalgic and inspires me to imagine what a new take on the idea might look like, with modern web tech and benefit of hindsight.