top | item 40794969

(no title)

alexambarch | 1 year ago

As someone who’s too young to have been around for HyperCard, what was the main draw? Was it the accessibility of the tech or was it just really well executed?

discuss

order

Paul-Craft|1 year ago

It was both, really. HyperCard put the power of a GUI into your hands with simple metaphors and syntax. The language is English-like enough to feel easy to use, but not so much as to fool you into thinking it can do things it actually can't do (looking at you, Inform 7!). You'd attach code to widgets in a visual way that drove home the idea that this bit of code generated that behavior when you clicked a button, typed into a text field, etc. Oh, and, let's not forget that the HyperCard environment also implemented object persistence, which came in handy, because you wouldn't have to write file handling code, or any kind of "save state" functionality. Of course, you could also mess up a stack in such a way that it was hard to figure out and hard to fix due to said semantics, but, on balance, I'd say transparent object persistence was a pretty big win.

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...

frogulis|1 year ago

> looking at you, Inform 7!

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.

sircastor|1 year ago

> HyperCard made personal computing personal again

To me, HyperCard is the definitive execution of Jobs’ “Bicycle for the mind” statement.

fredoralive|1 year ago

Macs only had a free version of Hypercard for a few years in the late '80s / early '90s, before it became a commercial product again (first under Claris then back to Apple). By the Mac OS 8 / 9 era it was a moribund product on life support, not something bundled with new systems.

brendoelfrendo|1 year ago

> I even remember seeing a couple of nontrivial apps implemented with it.

Myst being perhaps the most well-known example.

kalleboo|1 year ago

> 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

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.

tivert|1 year ago

> If your Mac came with System 6, 7, 8, or 9, you had HyperCard.

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.

eadmund|1 year ago

> 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 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.

PontifexMinimus|1 year ago

It's a shame Apple doesn't do something like this today. (Or maybe they do and I don't know about it?)

w10-1|1 year ago

Aside from that excellent summary of features: the model of cards in stacks sending messages to components or up through a hierarchy was SmallTalk-inspired and enabled plain old people to do a kind of object-oriented programming long before there were any languages for it.

carimura|1 year ago

When I was in 5th grade, HyperCard was akin to early software development for me. I would spend hours after school creating games and choose your own adventures. You could put in goto statements, loops, animations, simple functions (play this sound when clicked and then go to this page), and more. I was totally hooked and it probably led to my passion for BBS development.

spogbiper|1 year ago

I actually used Hypercard to write a BBS (of sorts) that worked via filesharing on our high school appletalk network. We had maybe 10 users at it's peak. Chatting and message boards that updated via polling a shared file. It was very amateurish but it worked

WillAdams|1 year ago

You were in good company as the games:

_Manhole_ --- billed as "Where Alice would have gone if Alice had HyperCard"

and

_Myst_

were developed in HyperCard.

azinman2|1 year ago

This was before the web or even Flash existed. It was a relatively simple multimedia/interactive program authoring tool for non-programmers that had WSYWIG layout. You could build all kinds of things in HyperCard from ways of interacting with databases to stories for school kids.

roywiggins|1 year ago

I remember being introduced to HyperCard and the idea of linked cards- hypertext, in other words- blew my mind. I imagine it was a lot of other people's introduction to hypertext too, even if they didn't realize it. It was the Adobe Flash of its era.

ok123456|1 year ago

Yes.

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.

qq66|1 year ago

And in fact PowerPoint is Turing Complete and you can implement some basic programs in PowerPoint.

westurner|1 year ago

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

> 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.

InsideOutSanta|1 year ago

Power, accessibility, and execution. A doctor could make a stack to manage their office. A child could make a game. A teacher could make an interactive tool to teach a lesson.

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.

pvg|1 year ago

It was very accessible and I think it really made a difference that it appeared on a new computer that was supposed to represent the future of computering (i.e. had a GUI) yet was not meaningfully programmable out of the box, unlike the supposedly obsolete 8-bit computers it was replacing which came with BASIC. HyperCard looked like a thing that could fill that same ecological niche.

Edit: A bunch of takes from a few weeks ago https://news.ycombinator.com/item?id=40294301

plussed_reader|1 year ago

It is/was a great tool to prime minds that didn't think in stack or heap. You could see it as a weird powerpoint/excel precursor, but so much more.

My favorite hypercard game is Manhole.

KineticLensman|1 year ago

In 1998 I started work at the 'Advanced Techniques Department' of a traditional UK engineering company (Plessey). We primarily used Symbolics Lisp machines (and later, TI Explorer Lisp cards for Macs) but one of our contractors used HyperCard to build demos that could be easily taken to customer sites / used in exhibitions to get customer feedback. We also used it to mock user interface concepts, etc. We also made a lot of use of ResEdit which was great for creating and modifying assets such as icons, strings, bitmaps, etc.

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!

lispm|1 year ago

Btw., with the MacIvory Nubus-based Lisp Machine for the Mac, one could call Lisp on the Lisp Machine from HyperCard.

LightBug1|1 year ago

For me it was: WOW ... the internet before the internet ... we were kids who'd grown up programming Basic on BBC Micro's in school! (or Basic on Atari 800xl's at home!)

I remember it being called object oriented programming, and putting things together like jigsaw puzzles.

cortesoft|1 year ago

It is hard to separate out HyperCard from where I was in life when I was using it.

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.

whartung|1 year ago

It’s funny, the graphic nature of Hypercard is what put me off of it.

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.