And, it was literally right there if you had a Mac. After selling it briefly as a standalone product for $49.95, Apple started bundling it with every new Mac for about a decade. If your Mac came with System 6, 7, 8, or 9, you had HyperCard. It also came with the Apple IIGS during that time. (Great machine, BTW!) Despite its limitations, I even remember seeing a couple of nontrivial apps implemented with it.
More than anything, HyperCard made personal computing personal again, in a way it hadn't been since computers would boot straight into a BASIC interpreter, and that was a very good thing.
If my little spiel wasn't convincing enough, take a look at this excerpt: http://www.cvxmelody.net/HyperCard%20IIGS%201.1%20-%20The%20...
Oh! Good to hear this from someone else.
I imagine that Inform 7 has been a net positive for accessibility over older "code"[1] Inform syntax (personally, I bounced right off Inform 6 as a kid), but there were times where it felt like I needed a great understanding of the underlying model that would have been more self-evident from the "code" syntax.
That said, that's my experience from many years ago. Might be better now.
[1] Inform 7 is code too in a sense, but I mean syntax that doesn't look like natural language.
To me, HyperCard is the definitive execution of Jobs’ “Bicycle for the mind” statement.
Myst being perhaps the most well-known example.
Interestingly, for Riven (Myst's sequel) they were still using Hypercard to author the game, but the game no longer ran through Hypercard; instead, it ran on a custom C++ engine which ran on the data files output by the Hypercard authoring tools.
I think what drove them away from being HyperCard-native for Riven was the difficulty in producing a Windows version
I'm pretty sure Apple stopped development of it before System 8, and I'm certain it wasn't bundled. I'm also pretty sure (but not absolutely certain) it wasn't bundled with System 7.1.
Hypercard 2 (1990) definitely required a separate purchase (I had to talk my parents into buying it), but I think we had Hypercard 1 from being bundled with System 6.
I think Hypercard was one of last gasps of the idea that computer users should have the tools to create their own applications.
The full story here is:
Bill Atkinson went on an LSD trip and had the idea for HyperCard (literally according to his own account), and wrote it. He gave it to Apple in return for the promise that they would bundle it with every Macintosh for free.
Eventually Apple realized that selling and giving away Macintosh software like MacWrite, MacDraw, etc, undercut their attempts at getting people to write software for the platform, so they spun off their software division as Claris, which coincided about the time of HyperCard 2.0 releasing, which became a paid Claris product. From then on, every Macintosh shipped with a copy of HyperCard Player, which just let you run stacks other people made but not author them yourself.
There were ways around the Player issue though. The copy of HyperCard on our family Mac somehow had the HyperCard application from 2.0, but the Home and other stacks from HyperCard 1, leading to me always being confused with reading any documentation, it took me literally years to realize what was going on (we didn't have AOL or anything back then, all I had were two HyperCard books from my uncle)
The last major update to HyperCard was in 1992, after which it was abandoned (but still sold, with no updates, for another decade)
There was an effort to rebuild HyperCard as a new interactivity layer for QuickTime 3.0 so that you could build multimedia applications and host them cross-platform on the web with the QuickTime plugin. This made it to an early alpha that was demoed at WWDC. Steve Jobs came back, and hated Bill Atkinson since he was a traitor who stayed at Apple instead of going to NeXT, so killed it.
There's another (to me more plausible) story. Steve Jobs had plans for a 20MB hard drive, but marketing could not find users who wanted that much space. So Steve asked Bill to create an application full of graphics and sounds/media where people would build huge documents making floppy discs too painful.
And in a way it hasn’t been since, either. Web browsers and Javascript just aren’t the same. Javascript, shell, even Emacs Lisp are just too low-level. HyperCard gave one a GUI builder and a simple yet powerful language to get things done in, and it was everywhere.
_Manhole_ --- billed as "Where Alice would have gone if Alice had HyperCard"
and
_Myst_
were developed in HyperCard.
It was a well-done Smalltalk-like language with a RAD component that made making, albeit limited, GUIs about as complicated as using PowerPoint.
You could give it to a "smart" kid, and they could, at the very least, make interactive fiction with it with very little instruction. The vast majority of HyperCard stacks could be considered to be non-linear PowerPoint slide decks---cards with buttons that called goto statements that jumped to other cards.
> It is among the first successful hypermedia systems predating the World Wide Web.
But HyperCard was not ported to OSX, now MacOS; which has Slides and TextEdit for HTML without MacPorts, or Brew,.
HTML is Hypertext because it has <a name= href=> edges and scripting IIUC.
Then there was Flash by Macromedia, which also created Dreamweaver for HTML editing before Adobe acquired Macromedia.
By now there are Open Web Standards like HTML5 and ECMAscript (ES (JS not JavaScript)), WebSockets, WebRTC, WebGL, WebGPU, WASM, and various UI-to-state bindings, as Flash called what e.g. React is used for today.
Instead of the DOM and JS addEventHandler, with React/preact you call setState(attr, val) to mutate the application state dict/object so that Components can register to be updated when keys in the state dict are changed with useState() https://react.dev/learn/adding-interactivity#responding-to-e...
The HyperTalk language has a fairly simple grammar compared to creating a static SPA (Single Page Application) with all of JS and e.g React and a router to support the browser back button and deeplink bookmarks with URI fragments that "don't break the web": https://github.com/antlr/grammars-v4/blob/master/hypertalk/H...
TodoMVC or HyperTalk? False dilemma.
You could learn HyperCard by reading an article in a magazine, and you could share your stack with the rest of the world.
There has been nothing like it before, or after.
Edit: A bunch of takes from a few weeks ago https://news.ycombinator.com/item?id=40294301
My favorite hypercard game is Manhole.
Once I got into the Mac ecosystem, it was stunning how quickly you could build sophisticated (for the time) GUIS, demos etc. It sure beat trying to build interfaces using curses on a traditional unix box and was a lot cheaper than a Sun box or a Lisp machine!
I remember it being called object oriented programming, and putting things together like jigsaw puzzles.
It was 1991, my family had just bought a Mac LC, and I was 8 years old. I had learned BASIC from reading an old book from 1978 that a co-worker of my dad had given me when I expressed interest in computers. That same friend said I should try HyperCard.
It literally changed my life. It is hard to explain to people who have grown up with the internet, but at this point my family had no internet access at all (we didn't even get a modem for a few more years) and I didn't know anyone who knew how to program. Everything was self taught from reading books that I either got from my dad's co-worker or from the library.
HyperCard was so easy to learn for me as a kid. For one, it was all visual. If you wanted to add a button for someone to click, you would select "Add Button" and drag it to where you wanted it to be. In addition, you could learn how to do things from other HyperCard stacks by clicking on various buttons and reading what the script for those buttons did.
Since I was self taught (and very young), I didn't know anything about data structures or algorithms. However, HyperCard made everything intuitive to me. To persist data, you could output it into 'fields' (which like buttons, could be created by clicking 'new field' and placing it where you wanted). While I later learned how to make these fields invisible, when I first started I would just make them really small and put them in a corner behind something else. I would then write data to them from button scripts, allowing me to persist data.
Since I didn't know about data structures, I would treat everything as strings that I would store in these fields. I didn't know what an array was, so I just would create a long string of comma separated values that I would read in, act on, and then write back out to the fields. I created primitive databases by having each line of the field be a different record... I had never heard the term 'csv' at the time, but it just seemed natural to me.
Debugging was easy; I could just expand the fields into my visible view to see what was being written to them. Things being 'object oriented' was very natural, since everything in HyperCard is a visual object you can interact with.
I learned SO MUCH hacking around with HyperCard. It made me love programming, and it was so much fun. I didn't even realize how much I was learning until much later in life; I avoided majoring in computer science because I feared ruining my favorite hobby if I pursued it as a career. Later (after not finding an alternative to pursue after graduating college) I decided to give software development a try, and I realized how much I already knew just from HyperCard. Event driven architectures just made sense, because that is how HyperCard always worked. I had a pretty good grasp of data structures because I had created them visually as I needed them, without realizing what I was doing.
33 years later, I still get a thrill from programming that HyperCard instilled in me.
So yeah, HyperCard changed my life.
It was essentially MacPaint with a few controls and a scripting language. While fundamentally it was persistent cards with fields, buttons, and actions, as presented with the assorted demos, it was graphically rich.
And myself, I am not graphically rich. Hardly. I find it intimidating. I find the web intimidating for the same reason. I really struggle trying to make a web page, even with a zillion templates. For whatever reason, it’s very hard for me.
It’s a cool system. It was a bit hamstrung later on by being trapped with its original card size. Even as screens got larger.
HyperCard never felt like it does designing a web page... i just placed buttons wherever, and they were never properly lined up in my stacks. All slightly different sizes, not aligned, horrible UI choices all over the place... but I never really concerned myself about it because I very rarely shared my projects. They were for myself.
That said I have made a couple web apps for personal & work use (and I have a Neocities) and it is certainly a freeing experience to write them without giving a crap about aesthetics or design. I get the job done, it's not pretty, but once the functionality's there I'm happy.
Fighting with CSS to make things align properly is the least fun aspect of this, but it is pretty fun to figure out the logic to generate the HTML, interact with the backend, have some JavaScript for basic interactivity, etc.