Hacker News new | past | comments | ask | show | jobs | submit login
HyperCard: What Could Have Been (2002) (wired.com)
135 points by jacquesm on Feb 9, 2020 | hide | past | favorite | 56 comments



The game Myst was originally written in HC, and a game engine (Mohawk) had to be written for Windows to provide similar functionality in order to port it. There's a documentary about it: https://youtu.be/EWX5B6cD4_4 Definitely one of the rare indie game success stories. They really poured themselves into making it as awesome and expansive as technology would allow. IIRC, they're still writing games for fun.


Such a great documentary. Really recommend it to anyone considering. Myst / Riven were both awesome games.


Before Rand and Robyn Miller developed Myst, they created "The Manhole" and "Cosmic Osmo and the Worlds Beyond the Mackerel" in HyperCard:

https://en.wikipedia.org/wiki/The_Manhole

>The Manhole is a notable computer game because like Cosmic Osmo and Spelunx it has no goal and no end; as a software toy the object is simply to explore and have fun.

>Reception

>Describing The Manhole as "the first children's software to require a hard disk", Macworld in March 1989 stated that its "realistic sounds, the fantasy-filled graphics, and the stack construction are truly impressive". The magazine "highly recommended [the game] for young children[, and] it's hard to imagine a playful soul of any age who wouldn't enjoy exploring the mind-tickling world inside The Manhole".

>The Manhole won a Software Publishers Association Excellence in Software Award in 1989 for Best New Use of a Computer.

https://en.wikipedia.org/wiki/Cosmic_Osmo_and_the_Worlds_Bey...

>Cosmic Osmo was created by brothers Rand and Robyn Miller, who went on to form the company Cyan and develop the best-selling adventure game Myst.

>It was created, and runs, using HyperCard. Animated portions were made using MacroMind VideoWorks, a linear animation program that later became Macromedia Director. A XCMD plug-in enabled VideoWorks animated sprites to be displayed with an alpha mask on top or behind HyperCard's graphic layer.

Cosmic Osmo (Apple Macintosh):

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

I will never forget the fun of watching a friend's little kid delightedly playing around with Cosmic Osmo, excitedly explaining and demonstrating everything to all the bewildered adults!

Navigable games like Myst, Cosmic Osmo, and Manhole are so memorable, thanks to the Method of Loci:

https://en.wikipedia.org/wiki/Method_of_loci

"What did you expect from a blind mouse playing a piano made of Swiss cheese?"

https://www.youtube.com/watch?v=K30UmVsqTn8&t=14m00s

(Then at 14:25: Yo dawg, Cosmic Osmo in Cosmic Osmo!)


I maintain the 'HyperCard Online' collection[1] at the Internet Archive, where over 3,500 stacks are able to be run directly within the browser.

We're always looking for more stacks, and have an upload form[2] for stacks to be added to the collection. If you've got some old stacks lying around, they'd be a great addition to the collection.

Extracting stacks off old Macs, floppy disks and SCSI hard drives from the 80s / 90s isn't always the easiest, but I'm always happy to help people with this - my email is hypercardonline@gmail.com .

[1] https://archive.org/details/hypercardstacks

[2] http://hypercardonline.tk/


Do you have the first commercial HyperCard stack ever released: the HyperCard SmutStack? Or SmutStack II, the Carnal Knowledge Navigator, both by Chuck Farnham?

SmutStack was the first commercial HyperCard product available at rollout, released two weeks before HyperCard went public at a MacWorld Expo, cost $15, and made a lot of money (according to Chuck). SmutStack 2, the Carnal Knowledge Navigator, had every type of sexual adventure you could imagine in it, including information about gays, lesbians, transgendered, HIV, safer sex, etc. Chuck was also the marketing guy for Mac Playmate, which got him on Geraldo, and sued by Playboy.

https://www.zdnet.com/article/could-the-ios-app-be-the-21st-...

>Smut Stack. One of the first commercial stacks available at the launch of HyperCard was Smut Stack, a hilarious collection (if you were in sixth grade) of somewhat naughty images that would make joke, present a popup image, or a fart sound when the viewer clicked on them. The author was Chuck Farnham of Chuck's Weird World fame.

>How did he do it? After all, HyperCard was a major secret down at Cupertino, even at that time before the wall of silence went up around Apple.

>It seems that Farnham was walking around the San Jose flea market in the spring of 1987 and spotted a couple of used Macs for sale. He was told that they were broken. Carting them home, he got them running and discovered several early builds of HyperCard as well as its programming environment. Fooling around with the program, he was able to build the Smut Stack, which sold out at the Boston Macworld Expo, being one of the only commercial stacks available at the show.

https://archive.org/stream/MacWorld_9008_August_1990/MacWorl...

Page 69 of https://archive.org/stream/MacWorld_9008_August_1990

>Famham's Choice

>This staunch defender was none other than Chuck Farnham, whom readers of this column will remember as the self-appointed gadfly known for rooting around in Apple’s trash cans. One of Farnham ’s myriad enterprises is Digital Deviations, whose products include the infamous SmutStack, the Carnal Knowledge Navigator, and the multiple-disk set Sounds of Susan. The last comes in two versions: a $15 disk of generic sex noises and, for $10 more, a personalized version in which the talented Susan moans and groans using your name. I am not making this up.

>Farnham is frank about his participation in the Macintosh smut trade. “The problem with porno is generic,” he says, sounding for the briefest moment like Oliver Wendell Holmes. “When you do it, you have to make a commitment ... say you did it and say it’s yours. Most people would not stand up in front of God and country and say, ‘It’s mine.’ I don’t mind being called Mr. Scum Bag.”

>On the other hand, he admits cheerily, “There’s a huge market for sex stuff.” This despite the lack of true eroticism. “It’s a novelty,” says Farnham. Sort of the software equivalent of those ballpoint pens with the picture of a woman with a disappearing bikini.

https://archive.org/stream/NewComputerExpress110/NewComputer...

Page 18 of https://archive.org/stream/NewComputerExpress110

>“Chuck developed the first commercial stack, the Smutstack, which was released two weeks before HyperCard went public at a MacWorld Expo. He’s embarrassed how much money a silly collection of sounds, cartoons, and scans of naked women brought in. His later version, the Carnal Knowledge Navigator, was also a hit.


When young 13-year old me discovered hypercard, it gave me a feeling of awesomeness, and HyperTalk, the programming language of HyperCard, was a lot of fun.

I think that if hypercard had been the engine of the web instead of html/css, we would have had the current state of the web (ie. with client-side dynamic applications) a lot sooner.

Wether Hypertalk would have been a better choice than javascript to program the web, this is another story :)

For the curious, the Hypertalk entry in wikipedia contains a lot of code examples: https://en.wikipedia.org/wiki/HyperTalk


ViolaWWW (at least in version 3.0) was much like this (mostly thanks to an object-based, entirely scriptable layout engine based on vertically and horizontally spreading, nested panels). An alternative history opportunity for the Web, but probably also a security nightmare.

http://www.viola.org/


Apple's OpenDoc based browser, CyberDog, was also quite amazing and flexible, because it was completely component based and integrated with OpenDoc. But that plane never got off the ground, because Steve Jobs rightfully focused on saying "No" and "put a bullet in OpenDoc's head".

https://en.wikipedia.org/wiki/Cyberdog

>Cyberdog was an OpenDoc-based Internet suite of applications, developed by Apple Computer for the Mac OS line of operating systems. It was introduced as a beta in February 1996 and abandoned in March 1997. The last version, Cyberdog 2.0, was released on April 28, 1997. It worked with later versions of System 7 as well as the Mac OS 8 and Mac OS 9 operating systems.

>Cyberdog derived its name from a cartoon in The New Yorker captioned "On the Internet, nobody knows you're a dog."

https://medium.com/@donhopkins/focusing-is-about-saying-no-s...

>“Focusing is about saying no.” -Steve Jobs, WWDC ‘97. As sad as it was, Steve Jobs was right to “put a bullet in OpenDoc’s head”.

As was Sun's original "HotJava" browser, implemented in Java of course, which was less formally component based than OpenDoc (since Java didn't have a comparable user interface component system like OpenDoc at the time, but it was at least very object oriented, modular, and extensible). HotJava served the purpose of opening a lot of people's eyes to the possibilities of Java and the web, but, like CyberDog, it was ahead of its time, and wasn't fully developed into a viable product, and served more as a technology demonstration and source of inspiration.

https://en.wikipedia.org/wiki/HotJava

>HotJava (later called HotJava Browser to distinguish it from HotJava Views) was a modular, extensible web browser from Sun Microsystems implemented in Java. It was the first browser to support Java applets, and was Sun's demonstration platform for the then-new technology. It has since been discontinued and is no longer supported. Furthermore, the Sun Download Center was taken down on July 31, 2011, and the download link on the official site points to a placeholder page saying so.

Unfortunately, neither CyberDog nor HotJava (nor Netscape, until JavaScript finally arrived on the scene) had scripting languages built in, which I believe is an essential ingredient to the success of web browsers and component systems (and text editors like Emacs, and user interface editors like HyperCard or HyperLook or Bongo, or content management systems and blogging tools like Frontier and Radio Userland, etc). Even something as terrible as Microsoft OLE, which evolved from Visual Basic VBXs, was successful because it was built around a scripting language (Visual Basic for VBX, but OLE opened it up to any language via COM/IDispatch/ActiveX/IScriptingEngine/etc).


> we would have had the current state of the web (ie. with client-side dynamic applications) a lot sooner

But is this a good thing? After all, the web started and succeeded as a simple platform for passive document-browsing rooted in markup (SGML) technologies. There never was a need for a new general-purpose app platform (because that existed, and still exists, in the form of operating systems). Arguably, seeing the web as primarly an app delivery platform is what ruined the web even.

As to HyperTalk, it's an odd language for sure (did a HyperCard app for budget control in an agency around 1992), but listening to Bill Atkinson is still very inspiring.


As someone who had been building web stuff professionally since 1997 and got on it in 1994, I can say we were always trying to make it interactive back then because that's what people wanted.

There's a whole stream of forgotten technologies (server push images? Image maps? Html layers?) that show this.

Don't believe this rose tinted view of the old web. There was lots wrong with it and the current web stack is much, much better.

(Also SGML was never deployed as part of the web)


You're totally spot-on with the 'forgotten technology'.

Computer-Academia is a society which goes through cyclic periods of ignorance and dominance over industrial standard processes which produce viable exchange with the mass public, i.e. successful companies.

Between the 'cool new shit learned in school' and the 'top secret lab tech', there is a lot of re-invention, invention, refactoring, re-discovery, re-research.

Alas, the only good framework is the one in front of the user.


It doesn't seems like a rose-tinted view, with a background then in heavily-networked operating systems and hypermedia. Much of what was wrong was due to Mosaic and co.

The HTML standards were explicitly SGML applications, and the Amaya browser/editor had a fairly generic SGML engine. (As far as I know, Emacs W3 was the only browser even to implement everything in HTML 1, though.) Then, XML is an SGML application profile.


Everybody thought NCP's 8 bit host ids were enough, until TCP/IP happened. Then everybody thought OSI was going to take over and rule the world, until TCP/IP didn't stop happening. And then everybody though IPV6 would quickly take over, until IPV4 refused to die. And everybody thought the world was going to run on SGML, until HTML happened. And then everybody thought SGML might rise from the dead until XML happened. And then everybody thought XML would never just go away and die, until JSON happened. Just goes to show, you never know!


Check out this mind-blowing thing called "LiveCard" that somebody made by combining HyperCard with MacHTTP/WebStar (a Mac web server by Chuck Shotton that supported integration with other apps via Apple Events)! It was like implementing interactive graphical CGI scripts with HyperCard, without even programming (but also allowing you to script them in HyperTalk, and publish live HyperCard databases and graphics)! Normal HyperCard stacks would even work without modification. It was far ahead of its time, and inspired me to integrate WebStar with ScriptX to generate static and dynamic HTML web sites and services!

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

>In fact, one of the earliest tools that enabled anyone, even children, to author and publish their own interactive dynamic web applications with graphics, text, and even forms and persistent databases, was actually based on HyperCard and the MacHTTP/WebStar web server on the Mac:

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

>One of the coolest early applications of server side scripting was integrating HyperCard with MacHTTP/WebStar, such that you could publish live interactive HyperCard stacks on the web! Since it was based on good old HyperCard, it was one of the first scriptable web authoring tools that normal people and even children could actually use!

MacHTTP / WebStar from StarNine by Chuck Shotton, and LiveCard HyperCard stack publisher:

CGI and AppleScript:

http://www.drdobbs.com/web-development/cgi-and-applescript/1...

>Cal discusses the Macintosh as an Internet platform, then describes how you can use the AppleScript language for writing CGI applications that run on Macintosh servers.

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

MacHTTP / WebStar from StarNine by Chuck Shotton! He was also VP of Engineering at Quarterdeck, another pioneering company.

https://web.archive.org/web/20110705053055/http://www.astron...

http://infomotions.com/musings/tricks/manuscript/0800-machtt...

http://tidbits.com/article/6292

>It had an AppleScript / OSA API that let you write handlers for responding to web hits in other languages that supported AppleScript.

I used it to integrate ScriptX with the web:

http://www.art.net/~hopkins/Don/lang/scriptx/scriptx-www.htm...

https://medium.com/@donhopkins/1995-apple-world-wide-develop...

The coolest thing somebody did with WebStar was to integrate it with HyperCard so you could actually publish live INTERACTIVE HyperCard stacks on the web, that you could see as images you could click on to follow links, and followed by html form elements corresponding to the text fields, radio buttons, checkboxes, drop down menus, scrolling lists, etc in the HyperCard stack that you could use in the browser to interactive with live HyperCard pages!

That was the earliest easiest way that non-programmers and even kids could both not just create graphical web pages, but publish live interactive apps on the web!

Using HyperCard as a CGI application

http://aaa-proteins.uni-graz.at/HyperCGI.html

https://web.archive.org/web/20021013161709/http://pfhyper.co...

http://www.drdobbs.com/web-development/cgi-and-applescript/1...

https://web.archive.org/web/19990208235151/http://www.royals...

What was it actually ever used for? Saving kid's lives, for one thing:

>Livecard has exceeded all expectations and allows me to serve a stack 8 years in the making and previously confined to individual hospitals running Apples. A whole Childrens Hospital and University Department of Child Health should now swing in behind me and this product will become core curriculum for our medical course. Your product will save lives starting early 1997. Well done.

- Director, Emergency Medicine, Mater Childrens Hospital


I can’t find any reference now to it to save my life except one on Usenet. But there was also a Gopher Server hosted on HyperCard. A professor reached out to me in 1994 on AOL because he saw my Eliza (https://en.wikipedia.org/wiki/ELIZA) HyperCard stack and wanted to port it to run using Gopher.

He paid me $1500 to port it. That was my first paid software job. It led to an internship somewhere else and the rest is history.

Funny enough, while trying to find information about it, I found a Usenet post in Google Groups where the professor mentioned my name in 1993 about the stack. I never knew he posted about me before today.


I'd be interested to know more about both your Eliza stack and the Gopher Server hosted on HyperCard. In the 'HyperCard Online' collection of stacks[0] (which I maintain), there is one Eliza-like stack[1], but I'd love to see another.

What's the reference you've found on Usenet?

[0] https://archive.org/details/hypercardstacks

[1] https://archive.org/details/hypercard_hyperpsych


Unfortunately, it seems to be lost to history unless there is an active mirror to the old Info-Mac archives.

It’s referenced here:

http://mirrorservice.org/sites/ftp.cdrom.com/pub/cdrom/cdrom...

search for “Professor X”. I first used a MacinTalk HyperCard plug in and later used a PlainTalk plug in.

That was actually my second version. My first version was written in AppleSoft Basic for the Apple //e and used Software Automated Mouth (https://en.wikipedia.org/wiki/Software_Automatic_Mouth)

Here is the Usenet reference. The professor still works for the same University.

https://groups.google.com/forum/m/#!search/HyperCard$20gcedu...


I think maybe you are replying to the wrong post? I liked Hypercard!


I was describing how HyperCard was used as an authoring and runtime tool to implement one of the earliest interactive and graphical web applications.

It took a screen snapshot of the HyperCard stack, and showed you an image of it in the web browser. And you could click on the image, which would map back to a simulated click on the stack, run whatever handlers and make whatever changes to the card or stack that HyperCard was programmed to do (draw something, switch to the next page, etc), and then it would download the next screen snapshot showing the change. Also it rendered any user interface widgets (text input fields, checkboxes, dropdown menus, etc) as html form fields below the image, that you could fill out in the browser and submit, whose values were then stuffed back into the actual HyperCard control fields. So you could use HyperCard stacks over the web that created, updated, and queried HyperCard databases, flipped between different cards and backgrounds, drew dynamic graphics, or did any arbitrarily programmed stuff like that.




don't forget https://livecode.org which is the GPL version. ;-)


Ah! I did not know they were on different domains, but I should've mentioned there is an open source version yes!


From all of the interviews I've read of Atkinson, he seems like one of the most humble programmers of all time.

"I have realized over time that I missed the mark with HyperCard," he said from his studio in Menlo Park, California. "I grew up in a box-centric culture at Apple. If I'd grown up in a network-centric culture, like Sun, HyperCard might have been the first Web browser. My blind spot at Apple prevented me from making HyperCard the first Web browser."

"If I thought more globally, I would have envisioned (HyperCard) in that way," he said. "You don't transfer someone's website to your hard drive to look at it. You browse it piecemeal.... It's much more powerful than a stack of cards on your hard drive.

No pussyfooting around it, no "My idea was so much better, it should have taken off," no "It has been demonstrated repeatedly that what has happened was bad," just flat out: "I messed up, and missed the boat."

So much better than almost everyone who also nearly struck the same gold mine as Berners-Lee.


I got to see Bill Atkinson at a guest lecture for a class I took last year (recording available online [1]), and this is so true.

He talks about General Magic, which shipped basically an early smartphone in 1994:

I co-founded a company called General Magic, we wanted to make personal communicators that would be intimate devices, with you all the time... we wanted to do something smaller that would be in your pocket and with you all the time, and we failed. We really couldn’t - the components were too expensive, there wasn’t a good capacitive touch sensing that you could do gentle swipe...

And the meteoric rise of the Internet drew the attention away from it and all our partners kinda went to work on the Internet. And yeah, they were right to do so.

We were just ahead of our time. I’m pleased to see some of the ideas that we had bore fruit in the long run, and that’s really what I saw, and the first iPhone was hey - somebody’s finally done the personal communicator.

The lecture also has one of my favorite lines from any lecture I've attended: You know, I’m not like advocating that every software designer should go out and take LSD, but it worked for me.

[1] https://scs.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=...


There is documentary called General Magic which used old footage and interviews to describe their rise and fall. In one scene, Bill is said to have written a big chunk (don’t remember exactly what but I was in awe) of it very quickly. I saw it on a plane when browsing through Emirates’ catalogue.


Bill Atkinson has always been one of my personal programmer heroes.

He is evidence that you can be 95% right and ten years ahead of the market, yet still miss the boat.


Thanks for posting that! Also, here's a link to scans of Bill Atkinson's photos that he showed in the guest lecture for Brad Myer's UI class:

http://www.cs.cmu.edu/~bam/uicourse/05440inter2019/Bill_Atki...

And here are some more links to the original interview with Leo Laporte, the Mondo 2000 article, and some other stuff about his talk, that I posted to a previous HN discussion:

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

Bobbie: Was Brad really serious when he said "no hands" were raised in response to Bill's question??! Kids these days, sheez! ;)

>Then at 1:03:15 a student asked him the million dollar question: what was the impetus and motivation behind HyperCard? He chuckled, reached for the transcript he had off-camera, and then out of the blue he asked the entire class "How many of you guys have done ... a psychedelic?" (Brad reported "No hands", but I think some may have been embarrassed to admit it in front of their professor). So then Bill launched into reading the transcript of the LSD HyperCard story, and blew all the students' minds.

>See video of Bill's talk:

https://scs.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=...

>The next week I gave a talk to the same class that Bill had just traumatized by asking if they'd done illegal drugs, and (at 37:11) I trolled them by conspiratorially asking: "One thing I wanted to ask the class: Have any of you ever used ... (pregnant pause) ... HyperCard? Basically, because in 1987 I saw HyperCard, and it fucking blew my mind." Then I launched into my description of how important and amazing HyperCard was.

>See video of Don's talk:

https://scs.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=...

>Here is an index of all of the videos from Brad Myers' interaction techniques class, including Rob Haitani (Palm Pilot), Shumin Zhai (text input and swipe method), Dan Bricklin (spreadsheets, Demo prototyping tool), Don Hopkins (pie menus), and Bill Atkinson (Mac, HyperCard):

https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.a...


Thank you so much for sharing, Don!


> I grew up in a box-centric culture at Apple...

There was a HN post earlier today about what people miss after leaving (mostly) big tech companies, and it almost was entirely about tooling.

There's also org structure (done right, this can be empowering), access to ideas, and ways of seeing the world. Like Atkinson realized, these can also be blind spots.


TIL Bill Atkinson has an app in the iOS App Store! https://apps.apple.com/app/bill-atkinson-photocard/id3332084...


He's looking to offload it to someone else: https://news.ycombinator.com/item?id=17911573.


Must read (with plenty of Bill):

https://folklore.org


Yeah I love this site! So much to take inspiration from.


I think the first thing I ever coded was a simple game in Hypercard. It was a racetrack and you moved your mouse around the track.

While your mouse was hovering over the track it was an icon of a race car.

I used 4 different icons so that the car was pointing in the right direction as you moved around the track.

If you moved out of bounds you lost.

To be honest I didn't even know that it was "programming" as far as I was concerned Hypercard was just another app I was using like paint etc.

In retrospect it was very intuitive and might be the best version of "zero code" I have seen to date!


Concerning the Sun/networked remark: There was a later networked HyperCard-influenced system in the SunOS4 world -- HyperNeWS (calling Don Hopkins!). I can't remember how structurally similar it was to HyperCard, to the extent I knew HyperCard, but probably not very.

The WWW before it had escaped from CERN, and you weren't on a NeXT system, looked terribly primitive when you already had networked hypermedia like NeWS, particularly when you didn't understand the significance of the WWW protocol and addressing.


Thank you! Here's an article I wrote about HyperLook (nee HyperNeWS (nee GoodNeWS)) [as it went through several revisions over the years, and the name kept changing each time]. The article is actually just an early draft that I haven't had time to finish and polish, and is kind of rambling, meandering, incoherent, and unfocused, but I hope you'll get the drift.

https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g...

>SimCity, Cellular Automata, and Happy Tool for HyperLook (nee HyperNeWS (nee GoodNeWS))

>HyperLook was like HyperCard for NeWS, with PostScript graphics and scripting plus networking. Here are three unique and wacky examples that plug together to show what HyperNeWS was all about, and where we could go in the future!

[...]

>The Axis of Eval: Code, Graphics, and Data

>We will return to these three important dimensions of Code, Graphics and Data as a recurring theme throughout this article. But which way to go from here?

>Alan Kay on NeWS:

>“I thought NeWS was ‘the right way to go’ (except it missed the live system underneath). It was also very early in commercial personal computing to be able to do a UI using Postscript, so it was impressive that the implementation worked at all.” -Alan Kay

It was indeed deeply inspired by and indebted to HyperCard, but of course had networking built in thanks to NeWS, and used PostScript as the data format and networking protocol (like XML and JSON are now used), and as the scripting language (which is more like Lisp than HyperTalk), and as the imaging model instead of pixels (including a nice built-in structured graphics editor component that supported EPS and raster images too, which you could use to build your own apps, property sheets, and editors, like the editable Clock component the article shows).

Another significant difference between HyperCard and HyperLook is that HyperLook used its own "stacks" to implement its own user interface for property sheets, etc. HyperCard just used the traditional Mac Toolbox for its user interface, instead of property sheets and dialogs being stacks. So you could edit and customize HyperLook property sheets and dialogs, and define new classes of HyperLook widgets, and then build your own seamlessly integrated property sheets for them (or just customize the property sheets of existing components). For example, I defined some NeWS Toolkit OPEN LOOK components like sliders and buttons and menus to support SimCity, all configurable with their own property sheets. The property sheets could use as many PostScript graphics editor components as they needed: for example, the editable clock component's property sheet let you edit its clock face, minute hand, and hour hand, which it rotated and drew around the clock. ...But it was just too slow to practically redraw a second hand once per second, so I left that out! Then you could copy and paste your custom clocks into any HyperLook stack, in case you cared what time it was.

However, this feature did enable "user interface vandalism", so HyperLook has a non-editable runtime system with the editors stripped out, that you could ship with apps:

http://www.art.net/~hopkins/Don/hyperlook/TalkRunTime.gif

In case you don't like PostScript as much as I do, Arthur van Hoff also wrote "PdB", an object oriented C to PostScript compiler that you could use to write classes and scripts. Later, after working on Java at Sun and leaving to found Marimba, Arthur wrote Bongo in Java, which was inspired by HyperCard (and called the Java compiler he wrote at Sun to dynamically compile scripts), and Danny Goodman wrote the book on Bongo! (He also wrote the book on HyperCard.) Arthur's working at Apple, now.

https://en.wikipedia.org/wiki/Arthur_van_Hoff

https://www.amazon.com/Official-Marimba-Guide-Bongo-Goodman/...

https://books.google.nl/books?id=NToEAAAAMBAJ&pg=PA47&lpg=PA...

I've included links to a bunch of brochures, articles, product info, documentation, and SimCity README and manual at the end of the article. Here's the link to the HyperLook product info, which summarizes it pretty well, and the HyperLook SimCity manual, which has a lot of screen snapshots and shows what it can do.

HyperLook Product Info:

http://donhopkins.com/home/HyperLook-Product-Info.pdf

HyperLook SimCity Manual:

https://donhopkins.com/home/HyperLook-SimCity-Manual.pdf

Also here's an illustrated transcript of a HyperLook SimCity demo (that shows all kinds of other HyperLook and NeWS stuff too, and includes a link to the original video):

https://medium.com/@donhopkins/hyperlook-simcity-demo-transc...

Imagine a window manager built on top of something like HyperLook, where users can not only edit the "chrome" in the window frames to make them look and behave any way they prefer, but also compose custom task-oriented interfaces by copying and pasting components from different parts of the same app, or even different apps, and integrating them by scripting, so you don't have to flip between different windows and navigate to different parts of multiple apps, and you just have all the controls you need together in one place, without any unnecessary junk. For example, SimCity came with an audio mixing server that other apps could use by sending messages to it, which would be mixed with SimCity's sounds, so you could make a button that went "PING" whenever you pressed it, then copy and paste it into any other HyperLook stack, and it would work! Or you could make a custom "SimCity Surveillance" window by copying three different map views into the same window:

https://miro.medium.com/max/556/0*XknyNX0FMotAR7y_.gif

>The neat thing is that this view here itself is just another user interface component, and I can copy and paste that, and have multiple views. Each one of these animated scrolling SimCity editors, once I’ve made one, I can put them anywhere. This window, you can click here to get three of them.


For another interesting approach to sampling, customizing, and remixing existing user interfaces, check out Morgan Dixon's PhD thesis on "Prefab"!

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

>Morgan Dixon's and James Fogarty's work is truly breathtaking and eye opening, and I would love for that to be a core part of a scriptable hybrid Screen Scraping / Accessibility API approach.

>Screen scraping techniques are very powerful, but have limitations. Accessibility APIs are very powerful, but have different limitations. But using both approaches together, screencasting and re-composing visual elements, and tightly integrating it with JavaScript, enables a much wider and interesting range of possibilities.

>Think of it like augmented reality for virtualizing desktop user interfaces. The beauty of Morgan's Prefab is how it works across different platforms and web browsers, over virtual desktops, and how it can control, sample, measure, modify, augment and recompose guis of existing unmodified applications, even dynamic language translation, so they're much more accessible and easier to use!

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

Web Site: Morgan Dixon's Home Page. http://morgandixon.net/

Web Site: Prefab: The Pixel-Based Reverse Engineering Toolkit.

https://web.archive.org/web/20130104165553/http://homes.cs.w...

Video: Prefab: What if We Could Modify Any Interface? Target aware pointing techniques, bubble cursor, sticky icons, adding advanced behaviors to existing interfaces, independent of the tools used to implement those interfaces, platform agnostic enhancements, same Prefab code works on Windows and Mac, and across remote desktops, widget state awareness, widget transition tracking, side views, parameter preview spectrums for multi-parameter space exploration, prefab implements parameter spectrum preview interfaces for both unmodified Gimp and Photoshop:

http://www.youtube.com/watch?v=lju6IIteg9Q

PDF: A General-Purpose Target-Aware Pointing Enhancement Using Pixel-Level Analysis of Graphical Interfaces. Morgan Dixon, James Fogarty, and Jacob O. Wobbrock. (2012). Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI '12. ACM, New York, NY, 3167-3176. 23%.

https://web.archive.org/web/20150714010941/http://homes.cs.w...

Video: Content and Hierarchy in Prefab: What if anybody could modify any interface? Reverse engineering guis from their pixels, addresses hierarchy and content, identifying hierarchical tree structure, recognizing text, stencil based tutorials, adaptive gui visualization, ephemeral adaptation technique for arbitrary desktop interfaces, dynamic interface language translation, UI customization, re-rendering widgets, Skype favorite widgets tab:

http://www.youtube.com/watch?v=w4S5ZtnaUKE

PDF: Content and Hierarchy in Pixel-Based Methods for Reverse-Engineering Interface Structure. Morgan Dixon, Daniel Leventhal, and James Fogarty. (2011). Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI '11. ACM, New York, NY, 969-978. 26%.

https://web.archive.org/web/20150714010931/http://homes.cs.w...

Video: Sliding Widgets, States, and Styles in Prefab. Adapting desktop interfaces for touch screen use, with sliding widgets, slow fine tuned pointing with magnification, simulating rollover to reveal tooltips:

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

Video: A General-Purpose Bubble Cursor. A general purpose target aware pointing enhancement, target editor:

http://www.youtube.com/watch?v=46EopD_2K_4

PDF: Prefab: Implementing Advanced Behaviors Using Pixel-Based Reverse Engineering of Interface Structure. Morgan Dixon and James Fogarty. (2010). Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI '10. ACM, New York, NY, 1525-1534. 22%

https://web.archive.org/web/20150714010936/http://homes.cs.w...

PDF: Prefab: What if Every GUI Were Open-Source? Morgan Dixon and James Fogarty. (2010). Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI '10. ACM, New York, NY, 851-854.

https://web.archive.org/web/20141024012013/http://homes.cs.w...

Morgan Dixon's Research Statement:

http://morgandixon.net/morgan-dixon-research-statement.pdf

Community-Driven Interface Tools

Today, most interfaces are designed by teams of people who are collocated and highly skilled. Moreover, any changes to an interface are implemented by the original developers and designers who own the source code. In contrast, I envision a future where distributed online communities rapidly construct and improve interfaces. Similar to the Wikipedia editing process, I hope to explore new interface design tools that fully democratize the design of interfaces. Wikipedia provides static content, and so people can collectively author articles using a very basic Wiki editor. However, community-driven interface tools will require a combination of sophisticated programming-by-demonstration techniques, crowdsourcing and social systems, interaction design, software engineering strategies, and interactive machine learning.


I have and maintain a retro computing collection, and have had a minor public exhibit of it in 2019. I have a lot of machines from the 70's to the 21st century, and have made it a bit of a passion to demo these things to folks.

I'm now unpacking and trying to work out how to proceed with further interaction in 2020, and the one machine that keeps crossing my scope is an old Macintosh Powerbook, the first with a trackball, which has indeed been loaded up with HyperCard stacks.

Now, one thing I must add to this discussion, as someone who has had to demo these things to a modern audience, is that the person you are showing it to should always be the one doing the driving. Never try to show someone a stack - always just describe them doing it for themselves.

Stacks are delightful. Get yourself an emulator, and explore them. Its a pretty good way to get some context on your newly-gained modern chops.


> Atkinson still uses HyperCard every day. His address book is a big HyperCard stack, and he has written a number of custom programs to help him with his photography and to maintain his website.

I wonder if he still does in 2020? Or if not, when did he stop?


SuperCard would be a kind of replacement:

https://supercard.us/index.html


Unfortunately, that one doesn't have 64-bit support (requires a full rewrite to get off of carbon). So no Catalina, but it is very impressive it works on Tiger through Mojave with no hitches! That's 10 versions of the OS.


Just as an interesting technical note, MacDraw Retro is another one that supports Tiger through Mojave.

And of course, there's a lot of small programs that support the range as well, sometimes just by chance (a Tiger-era program just happens to work), but you're right it's rare for bigger, more-complex stuff.


When was the last Mac that could even run HyperCard? 2006 I think?


Whichever PowerPC computer was the last one Apple released. (Then you can use Tiger + Classic Environment).

But, you could also use Mini vMac, which is a very capable emulator.


There are also turn-key OS7 and OS9 apps that can be run under Catalina with minimal fuss


For that matter, qemu can emulate a powermac.


^ It can, but I've found it to be not particularly pleasant to use. Lots of weirdness, particularly around input. It may have been my setup, but still.

Mini vMac by contrast is quick, pleasant, and plug n' plug. (It's also emulating a completely different era of course, but it's enough for hypercard.)


1987 Computer Chronicles: HyperCard

An introduction to Apple's Hypercard. Guests include Apple Fellow and Hypercard creator Bill Atkinson, Hypercard senior engineer Dan Winkler, author of "The Complete Hypercard Handbook" Danny Goodman, and Robert Stein, Publisher of Voyager Company. Demonstrations include Hypercard 1.0, Complete Car Cost Guide, Focal Point, Laserstacks, and National Galllery of Art. Originally broadcast in 1987. Copyright 1987 Stewart Cheifet Productions.

https://archive.org/details/CC501_hypercard



Hyperview is a mobile framework inspired in part by HyperCard:

https://hyperview.org


In what way does the original web architecture (HTTP/URL/HTML) not supersede and mostly independently improve on Hypercard?


Anyone who can click a mouse could make a HyperCard stack. You could draw like in MacPaint, and create connections between cards almost as easily. You could create template pages, and save data in the stack itself. You could send it to your friend, or back it up, simply by copying one file.

These days Apple is promoting "progressive disclosure" as a feature of Swift. HyperCard was an excellent example of that!

The web isn't. Doing these with the web requires at least a server, a programming language, and a database. Anyone can easily view a webpage, but you need a separate editing system to be able to easily create. Even then, there's probably no "View Source" for most of it. Without a big fancy editing system, there's a huge learning curve between "hello world in HTML" to sharing with your friend, creating a template shared between pages, or saving data between sessions.

Of course, that's modern web architecture. The "original web architecture" had no XHR, or even JS. It was 5 years before you could click somewhere on the screen and have it do anything other than "go to another HTML page".


Well, I still think that allowing Javascript onto the web was a fatal mistake. HTTP/URL/HTML and eventually also CSS was a fantastic combination. This stack was progressively learnable via self-discovery.

Once the Javascript-coders infected the web it almost immediately turned into a write-only medium.

I worked at a browser vendor whilst all of this was happening. I was busy with the mechanics of building a particular browser. Couldn't make sense of the javascript/webstandards stuff in detail, but I trusted these people were smart enough. I did notice the people who were running this stuff (they were making the formerly kinda static html/css web standards dynamic by defining vast amounts of javascript API:s) were all very young people. Probably a median age of 21 or so. (Some "wunderkids" around 17 or so.) The average age of the people actually implementing stuff was closer to 28-30 in this company. Nothing against young people in general.. they can bring new thoughts etc.. but.. they do tend to lack experience.

In retrospect I regret that I didn't engage with this young crowd more. In general I wish there had been more discussion between these two camps.


I never "got it" (hypertalk). Tried to write an app to put up some menus, get some input, read and write some files. Could never figure out how to get off the ground.


hehe;




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: