170 comments

[ 3.2 ms ] story [ 211 ms ] thread
>HyperCard is an echo of a different world. One where the distinction between the "use" and "programming" of a computer has been weakened and awaits near-total erasure. A world where the personal computer is a mind-amplifier, and not merely an expensive video telephone. A world in which Apple's walled garden aesthetic has no place.
That world still exists and many of the users of this site live in it. I program my computer all the time, from scripts all the way up to whole apps and services. I run a company that writes software.

What happened is that computing became popular, vastly increasing the user base, and the majority of these new users didn't want to program any more than the average driver wants to work on the engine of their own car. They just wanted a computer to be a gadget they could use to do specific things: online interaction, spreadsheets, games, word processing, etc.

Is that bad? I don't do anything with my car but drive it (and rarely these days!). Am I missing out on the car experience?

Today's hobbyist computer market is larger than it was back in the good old days. We have an embarrassment of riches from cheap hardware (secondhand laptops that can run Linux are virtually free and there are dozens of <$50 Linux SBCs) to vast quantities of open source software available on aggregators like GitHub. There are vastly more creators than ever before. There are just orders of magnitude more passive casual users than those.

I really don't think that world does still exist, at least not quite in the same way. Even on today's Linux systems, there's a huge barrier between using the system and changing something about it. I wrote a little bit about this a while back: https://jfred.dreamwidth.org/479.html

Suffice to say, I think many more people would make small changes that make their lives easier if if were easy and straightforward to do so as a user. Right now, it's not.

I think the answer to this part of it is at the bottom of that rant: the increase in complexity. The barrier you describe exists because there is so much damn complexity in modern systems, much of it unnecessary.
On one hand I'm completely with you that acting like programming is "an echo of a different world" is just romanticizing a past that never existed, but I can't help but feel there is some (and only some) truth to it.

A car is a means of transportation, the fact that you can tweak the engine is tangential to its function, a computer is useful because, and not in spite, of its universality.

There isn't any logical way of using a computer that isn't programming, but ironically, it's often a mere afterthought in commercial products. To continue the obligatory car analogy, writing complex software in a full development environment is the equivalent of tweaking the engine. It's a job for professionals and I don't expect the average user to be able to do it. But writing a simple script for the system interpreter that wires premade components is more like changing your oil or changing a tire, it's really baffling that most people can't do it.

On a Podcast, Bill Atkinson theorized the reason Steve Jobs killed Hypercard was because it was the reason Bill had refused to leave Apple to join Steve at NeXT.
This assumes Jobs was a particularly petty person.
I take it you haven’t read Small Fry
Have you read any stories about him? Something like this wouldn't even crack the top 10 petty things Steve Jobs did.
You're right, it's a big assumption that he was a person.
Of all the reasons I've read or heard, this one rings true. HyperCard at least for Bill was bigger than NeXT or Jobs which wont be tolerated. Its mere existence mocks.

Reminds me of Apple's stance on mice with two or more buttons. To this day they still make them so it looks like it has one (or no) buttons.

Interesting article from November 2011
Honestly, people need to get over HyperCard.

Yes it was cool, but there’s no conspiracy behind its demise. It died because the World Wide Web accomplished basically the same thing, not initially as elegantly or powerfully, but open and universal (and today, very much more capable than HyperCard was).

HyperCard usage declined and Apple gave up on it. It’s not complicated.

> World Wide Web accomplished basically the same thing,

This is incorrect and I'm convinced that you agree after you think it little more. HyperCard was tool for non-programmers. Like spreadsheet. Web is not alternative to HyperCard. You have to learn web programming to do anything.

We should not get over it, but create replacement or recreate it.

The Web was a gateway tech for a whole generation of “non programmers”, and for at least its first 10-15 years (through 2005 or so) you could build reasonable sites without being a programmer.

But as with all simple things in tech, there are more people whose pay depends on complexity. And so Web 2.0 rose and CSS+JavaScript became what it is today.

You still can build reasonable sites in the circa-2005 style - I'm actually helping one of my mentees work through doing just that, as a way to learn the basic concepts of web dev without having to fight through all the added abstraction that more modern tools involve.

(If anything, it's easier today to build a circa-2005 style site than it was in 2005! The native API has grown up enough that you don't need jQuery any more, and honestly good riddance.)

The trouble with the circa-2005 web is that it wasn't actually all that simple. You still had similar complexity to what people do today, but not very many ways to make that complexity manageable. So it was very easy to create situations in which things went wrong a lot and you couldn't really figure out why - something I think the rosy glow of nostalgia easily obscures, these days.

My early career, in hindsight, really was built on dealing with that kind of "unfixable" complexity, finding ways to reduce or replace it or at least make it more manageable - if often just in self-defense, as I typically was also largely responsible for maintaining the same stuff I built. The "capstone project" of that phase was something that we would today describe as an SPA, built in 2011 when the concept barely existed - I hadn't set out to (re)invent that wheel, nor did I even understand until a few years later that that was what I had done, but I found my way to it as the only reasonable option for coping with the essential complexity of the user interaction it expressed, and it worked really well!

That work was for one of our biggest contracts, which we were at risk of losing if I didn't find a way to fix their broken and unusable registration process. It would probably have sunk the company if I'd failed. Reworking it into an SPA avant la lettre solved the problem and saved the contract, and it was some of the hardest work I've ever done precisely because, at that time, there were no tools to help manage all that complexity. It's only gotten easier since then, as successive frameworks have built on prior work in removing accidental complexity and making essential complexity easier to express and manage.

Yes, today's tools are themselves more complicated than jQuery or whatever, sure. That's fair. You need to spend more time learning how to get the most out of them, that's also true. But the tools also do more, and largely do it in ways that are worth having.

A Bridgeport mill takes a lot more learning than a chisel, too, and you can do a lot more damage with a Bridgeport mill used wrongly. Used rightly, though, you can achieve far more with a Bridgeport mill, far more quickly and easily, than any chisel in the history of the world could ever let you do.

I agree, though I think the same can be said for HyperCard. Extending it was complicated.
> You have to learn web programming to do anything.

Sorry, but I don't see how that is at all different than "you have to learn the Hypercard scripting language to do anything."

(comment deleted)
You could learn enough HyperTalk to do useful things inside a day - I know; I did exactly that, when I was 11 or 12 and had a chance to find out on a Mac at the museum where an uncle of mine then worked. Granted I already had experience with Apple BASIC, so wasn't a complete programming novice, but I'd never worked in a graphical environment before, and yet still managed to turn out a fairly presentable, if short, "choose your own adventure" style game with some complex world state in just a few hours.

It would be utterly risible to suggest that a child of similar age and prior experience could do the same today, starting from scratch with web technologies. Yes, you can do more with the modern web. But the initial complexity barrier is very much higher.

Not that risable: my 11 year old has gone through the Python Crash Course book and built a basic Django pizza ordering website with a database in a day.

That’s after work his way through much of the book, of course, but... as with any complex domain, the right teacher can make a big difference.

I think that goes to both your point and mine; sure, the website does a little more in that it can be accessed from computers other than the one where it's running, but he also needed a whole book to do not much more than scratch the surface of what we call "web programming".

That's not to say it isn't a significant accomplishment, and he should be proud of it!

I don’t know that it is only scratching the surface - the book gets you into an interactive site that is styled with Bootstrap, uses a database, uses web APIs, pushes to Heroku so it’s HA and scalable, etc.

It’s pretty much all the major elements of web programming but using the more elegant ways of simplifying the experience.

I’m not denying the complexity just saying that there are still many (particularly in Python or in cloud PaaSes) who value streamlining the experience.

I'd still call it scratching the surface in that I doubt it goes into details on how any of those things actually work, and that's an important consideration because it's the basis for knowing how to deal with any of them going wrong. No doubt you'd have been able to provide support in that case, but it still goes to the point of there being a much larger potential depth of complexity here.

I get the sense the book tries to surf the reader over the top of most of that ocean, and that's reasonable enough, but the ocean is still there. I wouldn't consider it all that comparable to Hypercard, which in this metaphor I guess is more like the town pool back when those still existed? People who are ready for the deep end can dive into it, and people who feel like paddling around in the shallow end is more their speed can safely do that too.

I think the key part is "in a few hours." No one, even professional devs, can do this "in a few hours" today.
I mean, I can, if you spot me Node/Express or even TS/React as the stack to use. Those are at the core of my professional discipline, and I know what's going on well enough with them that standing up a new project, complete with compilers, linters, style formatters, style linters, and so on, doesn't take me much.

But that's building on close to twenty years of working in the field, and a bit over three decades since I first put my hands on an Apple IIe's keyboard and wrote

    10 PRINT "HELLO"
    20 GOTO 10
Which is the key part, really - I wasn't far past 10 PRINT "HELLO" when I happened upon Hypercard, and I was still able to use it effectively with no more background than that. I don't know that there's anything comparable today.
Depending on the toolchain, they absolutely can. Tech is more complex but there are still pathways to extreme productivity.
Yes, todays web is far more complex. But the early web from the time when HyperCard failed was totally different. At that age I absolutely learned enough to make my own home page. For many years that's simply all the web was: home pages, webrings, etc.
Hypercard scripting was intended for non-programmers. Normal people can do wonders with simple tools after little learning. Just like people using spreadsheets. Hypercard made programming available for non-programmers.
> We should not get over it, but create replacement or recreate it.

I feel that enough people complain about it not existing and then quickly proceed to not recreating it. If there was market for this, it would exist.

I've never used Hyper Card, but I guess that for prototyping of 'real software', programs like InVision work. Most of the trivial programs you could create with HyperCard (from the examples shown) can be recreated in other software (like excel or soulver) or already exist.

I learned how to build web pages by hand writing HTML and copy pasting it into Geocities when I was 9. It wasn’t real programming then and it isn’t now.

Don’t mistake the explosion of JavaScript land for being the same thing as the World Wide Web. Static websites are as easy to build now as they were in 1995, and in some ways easier.

I think that TFA said it well, if brusquely:

> And if you think that XCode, Python, Processing, or the shit soup of HTML/Javascript/CSS are any kind of substitute for HyperCard, then read this post again.

The thing that made HyperCard great was that it wasn't very capable. Which made it approachable.

Sure, Xcode today isn't a substitute. But Xcode is a large step back from what NeXTstep had, at least when it comes to this kind of capability.

The standalone Interface Builder had palettes, which you could fill with custom objects. There were third party palettes that allowed non-programmers to click together and configure custom applications for specific domains.

There were palettes that extended the whole shebang with scripting languages so that you could also add custom logic in Interface Builder.

I hope that "extended the whole shebang with scripting languages..." was an intentional pun.
That's no different to Xcode. You just need to decorate properties for simple things, and maybe write a setup method or two if you want live-updates (eg to pull a weather map from a server)... Google @IBInspectable and @IBDesignable.

Unless you're saying that the most recent versions of Xcode don't do that, which would be news to me.

I agree that it's not well-used, but that's not the fault of Xcode. As far as I can tell it provides everything you'd need.

I am familiar with IBInspectable and IBDesignable, and have, for example, put my own Smalltalk and Postscript implementations in IB that way.

Not the same thing. At all. Not even close.

Palettes were final-packaged components that were at the same level as pre-built ones.

IBDesignable is a way for adding some interactivity to the views you are creating for an app while you're building said app. Like SwiftUI Previews. And it works about as well, that is not really at all.

With IBDesignable, Xcode was continually trying to build the entire dependency tree, meaning for example the entire Postscript interpreter. And failing >50% of the time, which then kills your view. I hear the same happens with SwiftUI previews once your project gets bigger. It certainly happened to me almost immediately when I was trying it out.

Again, they're not even close.

Although it was capable of Myst.
> Which made it approachable.

And still WWW had orders of magnitude more users almost immediately.

Hypercard is only easier to learn than "regular" programming languages if you're English speaker.

I think that that point actually supports the gist of the argument.

In 1995, putting together a website was easier than using Hypercard. And so people flocked to it. Even people who were already somewhat familiar with Hypercard. Even though, at the time, Hypercard was largely more powerful. Some of that was because the Web made it so much easier to share. But I don't think that's the whole story.

Fast forward 25 years, and the Web has become much more powerful, but the number of people making websites recreationally who don't also get paid to write software seems to have dropped precipitously.

>not initially as elegantly or powerfully

i wouldn't call the web elegent or powerful today either

If you’ve got something important to say, why say it like a mad, embittered old crank?
This is what the internet used to be like when people had opinions and weren't afraid to express them in amusing ways.
I liked seeing the examples of creating a calculator in HyperCard, but I don’t think that Steve Jobs killed it because it was some existential threat to Apple’s profits. Apple gives away its software for free when you buy a Mac, and to my knowledge they don’t make a large fraction of money on selling software licenses.

It’s also completely possible to run your own code today on a Mac, so we would have to believe that Jobs was only out to get the in-house easy to use programming language.

More likely is that Jobs wanted to use work from NextStep for OSX which would mean rewriting HyperCard to work with NextStep, and Apple wasn’t exactly flush with cash when Jobs returned.

One of the commenters notes that there was a clone for NextStep called “HyperSense” which failed to sell. So another possibility here is that HyperCard just wasn’t as popular as we’d want it to be.

I see it as not-invented-here. He was in love with NeXT Step because it was his.

The Apple ][ shipped with BASIC. Apple was not founded on letting you consume your computer.

But the world had changed since the 1970's and there was a software ecosystem.

Hypercard would seem to have brought programming to the masses. But by then there was a broad base of software companies that would provide users the calculator app, etc. This leaves Hypercard, like BASIC before it, a rather more beautiful and modern tool for nerds.

And you can tell Jobs always had an uneasy relationship with nerds. :-)

> He was in love with NeXTSTEP because it was his.

Famously, when he returned to Apple, he used NeXTSTEP/OpenStep instead of a Mac until Mac OS X 10.1 came out and it was stable enough for production use. I can't find the article, but someone received an email from him around 2000 where the headers said NeXTMail.

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

Keynote was developed as a ripoff of the presentation program he used on NeXTSTEP called Concurrence, so it's an easy point in time to check how late (2003) Jobs used NeXT at least for some work.

iWork suite didn't become "free" until 2013, and even then you have to buy a new mac or iOS device (so for example, given that I bought my mac used, I'd have to buy it new)

> Apple gives away its software for free when you buy a Mac,

Correction: Apple charges a premium for their computers because that premium pays for all the software packages they include with it. XCode, Keynote, Pages, Numbers, etc... None of that is included in Windows but I can buy a fully usable by most people Windows laptop for $299 vs the cheapest Mac laptop is $999. Of course some of that $700 difference is that Mac is a better piece of hardware but much of it is you're paying for all the extra software.

BTW: If I could choose to buy a Mac for $200-$300 less without most of the extra software I would since I don't use any of it.

It‘s a nice theory, but impossible to prove. I‘d like to imagine the difference is because Apple makes a very nice profit, unlike many others.
The bigger point is it's not free. Otherwise you can claim any part of a Mac is free. You're paying $999 for an OS and getting a free machine. You're paying $999 for a keyboard that has a free computer attached to it. Etc..

no, you're paying $999 for the entire bundle of features that come with your Mac. That includes the software. It's not free any more than any other part of it is free.

Thank you, free was not the right choice of words. My point was that Apple does not make its money selling individual pieces of software which would be endangered by HyperCard. Apple should be indifferent whether someone prefers using the OSX calculator or a version written in HyperCard. They’ve already paid for the machine and the software before they can start using HyperCard.
"paying for all the extra software" Are you referring to the productivity suite (Pages, Keynote, etc.) and GarageBand? These are apps that haven't seen significant new features in years, just occasional patches for OS requirements and a bit of iCloud functionality.

These apps are functionally "complete." I think there's a pretty grey line between "you're paying for bundled software" and "Apple is just giving away these old things that cost them nothing to keep functional."

If you had a peek at the spreadsheet that lists the expenses of "macbook" (materials, TSMC fees, industrial design man-hours, OS programming hours, etc.), "Pages" would not be a $50 line item. And if Apple dropped that bundled software Macbooks wouldn't drop by $200 or whatever.

I think you've about got it.

I don't think this was Apple's attempt to stifle the ability to code on your own computer. They shipped Project Builder on, what, day 1 of Mac OS X?

It's more likely that…

…this was not super popular, as what's the possible market for an app that builds applets that only work on Macs? Given Mac marketshare at the time, maybe not a lot of hobbyists who (a) wanted to make an app, but (b) didn't want to dive into building a full UIKit application.

…this thing was confusing to market. It's hard to give the 1-liner description of HyperCard.

…this got dropped because it was not part of the core focus of getting a next-generation operating system out the door.

…maybe they didn't actually know how to rewrite it for OS X? Like, did anyone know how the HyperTalk interpreter worked besides the guy who make it?

|maybe they didn't actually know how to rewrite it for OS X?

Carbon existed in OSX.

I don’t think the authors claim is about it killing money making potential.

It seems to me the authors claim is that HyperCard did not belong to Jobs’s vision of a computer as basically an appliance. HyperCard fit better in a vision where a computer was more of a tool.

Late-80/early-90s Apple marketing: "The computer for the rest of us" and "User friendly." (doesn't work well because people don't want to pay extra for something that feels like it's for "beginners" and also don't want to think of themselves as "newbies" or "amateurs")

Mid-90s marketing: "Think Different" (fine, but many people don't like to think of themselves as "weird") and "It just works"

late 2000s, 2010s marketing: Straight up luxury branding. Aspirational, like a BMW, Mercedes, or a high end appliance.

I don't think Hypercard saw many significant updates in its lifetime after version 2 came out in 1989. It barely supported color, was never PPC native, etc. Maybe its codebase wasn't fit to be updated (it was a very early Mac app written mostly by one genius coder, after all), or maybe it was just internal politics that made it languish, but by the time Jobs came back it was already an old, weird, out-of-place product. As much as I love it, it was my first exposure to programming, I'm not really surprised it was cut, and I strongly disagree with the friendly article that it was some conspiracy against computer users' freedom.
Part of the actual answer is buried way down at the bottom, and has nothing to do with the (probably imaginary) Jobs agenda angle:

> Either way, expect no HyperCard (or work-alikes) from Apple. But how about other vendors? What about open-source projects? Nothing there, either. Oh, there is no shortage of attempts. And all of them are failures for the same reason: they insist on being more capable, more complexity-laden than HyperCard. And thus, none of them can readily substitute for it.

That's it, not some conscious agenda by Jobs. A Mac will let you run anything you want, so why has nobody else made something like Hypercard? Why isn't there one for Linux or Windows or as a SPA web app?

Because of the second system effect and the general trend toward gratuitous unnecessary complexity at every level of the stack.

https://en.wikipedia.org/wiki/Second-system_effect

The other half of the answer is in my other reply. TL;DR: there are more programmers today than there were back then, but there are orders of magnitude more passive users who aren't "computer people" and just want a gadget that does a few specific things.

Walled gardens primarily service the latter, and do it acceptably well from their perspective. For the former there's Linux, FreeBSD, and commercial "real computer" OSes like MacOS and Windows that will let you run whatever you want with the proper incantations.

Hypercard was awesome.

Sorry to spam, but I am working on a scripting language for the web based on HyperTalk, the scripting language from HyperCard, to try to recapture that magic:

https://hyperscript.org/docs

   <button _="on click transition my opacity to 0 then remove me">
      Fade & Remove
   </button>
Reminds me of AppleScript, which I don't miss at all.
the syntax is definitely an acquired taste for developers who come from an Algol-derived background, but it's hard to argue with the readability, even if writing it is a bit unintuitive at first

applescript is also based on hypertalk, and I believe it suffered being too wide open and unfocused

hyperscript is much more tightly focused on DOM manipulation and event handling, so my hope is that it doesn't suffer from the usability issues that can creep in when using AppleTalk

it's an experiment, so let's find out

> it's hard to argue with the readability, even if writing it is a bit unintuitive at first

You can sure say that again. I always found it difficult to write nontrivial AppleScript code, which could have been ameliorated had the IDE been anything other than worthless for debugging.

But yes, it’s very easy to read.

Love this project. Parent is also creator of htmx
You have to scroll down past the last screenshot before the part of the article related to the headline begins. The rest is just filler.

The argument isn’t super clear and it is not anything resembling an official or definitive answer to the headline.

Tl;dr: the author believes that hypercard was in the way of making the Mac a consumption device, because it allowed users to make their own things instead of buying it via the Apple store.

Couple years ago, I wrote a commentary inspired by this post highlighting that there is a readly available HyperCard-like system called LiveCode. I went on to demonstrate the creation of the same project and some more. It is basically the same source.

https://andregarzia.com/2019/07/livecode-is-a-modern-day-hyp...

PS: I no longer work for LiveCode but I did back when I wrote that article.

There is a disturbing tendency to try to sideline imperfect, but productive and accessible programming environments in favor of both more complicated, heavyweight "real" programmer languages, or on the other extreme, extremely limited no-code/low-code solutions that are frustrating and impossible to do anything beyond toy workflows.

This ground that HyperCard or Visual Basic 6 or Flash occupied has been ruthlessly razed and salted.

This isn’t necessarily a vendor-led phenomenon as it is a mutual conspiracy between customers and vendors.

It is a pendulum swing between different members of the industry, some that prefer complexity as the source of their job security, and those that prefer simplicity and beauty (even if there are limitations).

Arguably NeXT IB and Objective C tried to straddle both worlds (and slid into complexity over time with iOS And MacOS)

Also See: Heroku vs Kubernetes

Those accessible programming environments tended to exhibit exponentially worsening performance and maintainability characteristics as the complexity of the system being built with them grew.

This would be have been fine, so long as these systems remained relatively simple, and were rebuilt in more heavyweight but scalable languages once they reached a certain level of complexity. But that isn't what happened. Instead, they just kept growing into twisted, unmaintainable monsters that organisations were completely reliant upon, but which were an absolute nightmare to maintain and extend.

As a result, the industry shifted to encouraging the use of "real" programming languages for everything, even the simplest systems, because the greater up-front costs were saved many times over by having a sane story for long-term maintenance and improvement.

Is this really the case, or does stuff just continue flowing into the tools that are still accessible to users?

I have seen an incredible number of businesses that run off of either Excel spreadsheets, or glomped together masses of Salesforce customizations. I'm not convinced that this is an improvement in matters.

I also think that there's just a lot of custom software that doesn't get built.

I believe the web has killed a lot of those 'single user' Excel applications. If they had value, they would probably have been reimplemented in the back-end of new web-based business services (if you're unlucky by 'enterprise programmers') around the turn of the century.
> As a result, the industry shifted to encouraging the use of "real" programming languages for everything, even the simplest systems, because the greater up-front costs were saved many times over by having a sane story for long-term maintenance and improvement.

That makes a certain amount of sense; I know I've sworn at insane Excel spreadsheets that have lived far longer than they should have.

The thing I'd argue is that the vast majority of business tools are only useful for very few people for a very short period of time. Sometimes they are never useful. Doing those in a "real" language can have an ROI of centuries (or never), so just never get automated or tried. There's a very important place for cheap prototyping and if non-developers can do it that's even better.

> This ground that HyperCard or Visual Basic 6 or Flash occupied has been ruthlessly razed and salted.

why build software that empowers people to also build software easily, when you can charge thousand of €s in consultancy fees

> Either way, expect no HyperCard (or work-alikes) from Apple. But how about other vendors? What about open-source projects? Nothing there, either. Oh, there is no shortage of attempts. And all of them are failures for the same reason: they insist on being more capable, more complexity-laden than HyperCard. And thus, none of them can readily substitute for it.

Eh. Making a calculator in LiveCode is a similar complexity to doing it in HyperCard:

https://subscription.packtpub.com/book/application_developme...

HyperCard and its successors are an accessible way to make very simple, fun little apps. You can use them to make more complex apps, but it's not significantly easier to use HyperCard than more conventional tools to do that. I think the reason HyperCard-like tools are not popular today is simply that there is little demand for such apps.

I loved HyperCard. A Mac with Hypercard allowed me to completely bypass the entire Windows 3.1 era. I wrote some insane things in HC. By the time HC was ready to die, Visual Basic was ready to use.

Of course it would be offensive to compare VB to HC, given that VB was worse in a lot of ways. Bear with me. ;-)

What HC did was provide an extremely limited palette of system features for you to play with. It was extensible, but only with difficulty, and there weren't many good extensions. (I used one that gave me access to the Mac serial port, and wrote one of my own that talked to a National Instruments data acquisition board). But I think the limitations were part of the secret of why it was so clean and easy to learn.

VB tried to be too much, by giving you all of the knobs and controls that let you create commercial-looking software. But you paid the price in complexity, and ultimately bloat. When VB-dot-net came along, I jumped ship and landed in the Python world.

And in the time between the introductions of HC and VB, computers got more complicated, with things like networking and databases that people wanted to mess with. And still more complicated between VB and VB-dot-net. Providing just the right degree of control for novices to write interesting programs, without exposing the ugly innards of the system, or deluging us with options, has always been the challenge of creating programming tools for the rest of us.

The rising complexity and expectations for modern computers is why it would be hard to resurrect HyperCard.

A non-obvious feature of HyperCard is that projects could be shared and distributed in source code form, meaning that there was no distinction between the development and user environments. It wasn't in text format, but a HC stack had a nearly 100% chance of working on someone else's computer without needing to worry about installers, dependencies, and so forth. And folks were encouraged to look at someone's code and learn from it.

There has always been a niche that blurs "use" and "programming," which is what is generically called "scientific programming." I work almost entirely within the Python ecosystem. I'm as happy, if not happier, than I ever was with HyperCard. A trick that I employ to deal with the complexity of the system is: Don't try to make it look and behave like real software."

This is a great point.

Also, the environment that feels most like an environment for “not really programmers but sort of if I need to” is the Jupyter Notebook ecosystem which evolved out of IPython. It’s like a spreadsheet for telling a narrative.

These days, Jupyter Notebook is my brain. Other than for the hidden state problem, it's the best thing since sliced bread. In fact, my favorite way of sharing "software" is in this form.
Jupyter notebooks are great but they don't have the physical immediacy of HC. Maybe we should build that in, there are some physical widgets that can be put on the notebook to interact with the user code, so the mechanism is there.

On the Amiga we had a system called CanDo that was very similar to Hypercard in how it enabled end users to make multimedia applications. The interview below has some excellent insight into CanDo and the relationship it had with HyperCard.

http://www.rcfinch.com/Amiga/INOVAtronicsInterview.pdf

And I was reminded of these other application building tools, https://en.wikipedia.org/wiki/Amiga_programming_languages#Ap... the 3d construction kit kind of occupied the same place as minecraft for a lot of kids in the 90s.

*edit, his is fascinating https://en.wikipedia.org/wiki/Hyperland

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

Pretty disappointed with the use of autistic as an insult. Really unnecessary and offensive.

I was a lover of hypercard. It seemed to rekindle some if the magic of AppleSoft BASIC when I moved from the Apple II to the Mac in elementary school. I remember being surprised at how difficult it was to program a Mac compared to an Apple II until I found HyperCard. It seemed full of possibility.

> Pretty disappointed with the use of autistic as an insult. Really unnecessary and offensive.

I'm inclined to agree. The word "annoying" would have worked about equally well without being as mean-spirited.

(comment deleted)
>Pretty disappointed with the use of autistic as an insult. Really unnecessary and offensive.

wahhhh

Obviously not exactly the same, but a lot of the magic here is something I felt with Macromedia Flash MX back in the day. I had been (at the time) unsuccessful getting a C++ with OpenGL project working, but when I had my pirated copy of Flash, I was very quickly able to make interactive stuff.

I never made anything even close to "commercial-ready", but I had a lot of fun doing it. It felt like within a day or two, you could figure out how to make buttons and event mappings, and I thought it was so cool that you could easily animate things in the form of movie clips without having to finagle with cycling through sprites. I made simple point and click adventures, interactive menus, and once I took physics and calculus in high school, a very simple platformer. It was a lot of fun.

Nowadays the closest thing I've found for a similar level of easiness is GameMaker Studio, and I have a copy (legitimate this time :) ), and it's fun to play with, but it still feels more complicated than it needs to be. With Flash, I never had to learn about shader programming or anything like that. To be clear, I'm not trying to knock GameMaker for this, it's a great tool, it's just not as simple as Flash, for better or worse.

Obviously Flash Player needed to die, and I'm not suggesting we resurrect it. It was a horrible buggy mess a lot of the time (especially on non-Windows platforms in my experience), but I don't feel like we've really "replaced" it fully yet, at least not on the development side.

Hypercard was a bit before my time, sadly (we didn't have a working Mac in the 90s), but it looks like something I would have really enjoyed playing with.

I commented the same sentiment a while back and someone pointed me to Construct [1] as a spiritual successor to Flash!

[1] https://www.construct.net/

I actually have a license to Construct as well, and like GameMaker it's fun and I do like it (though I think I actually like GameMaker a bit more).

I haven't used it in like 6 years, so my knowledge is fairly out of date, but if I remember correctly, it's kind of lacking my favorite feature from Flash: the ability to use a professional-grade animation tool directly within the program. No messing with exporting sprite sheets or a series of bitmaps or anything, you can just create a movie clip, double click it, animate it, go back, and click "export to code". It's a true "one-stop-shop" for doing almost everything in your project.

GameMaker actually has a pretty-ok sprite animation system built in, good enough for most retro-style games, but it's still pretty weak compared to Flash for anything more complex.

Looks like Construct has an Animations Editor too :) I get where you're coming from though, Flash was directly responsible for that golden age of creativity, because it was so accessible that literally children were making cool things with it.

https://www.construct.net/en/make-games/manuals/construct-3/...

I knew you could tweak imported animations and stuff, but it didn't hold a candle to Flash's stuff, since Flash was an "animation-first" program.

Maybe I need to play with Construct again though, it's probably improved substantially in six years.

What about Adobe Animate? Granted, I haven’t actually tried, but my understanding is that it is like Flash but targeting the modern web.
I haven't tried it, though if I recall they've greatly started de-emphasizing the coding aspect of it.

Even still, I don't believe I can export directly to anything supported nowadays, right? Does the HTML5 exporter work?

It seems to still support ActionScript 3, though again, not personally experienced. Still, this would suggest you can export an existing Flash project to HTML5: https://helpx.adobe.com/animate/how-to/create-publish-html5-...

edit: Looking more closely, I do now see that you have to manually convert the AS3 when exporting to HTML5. That’s a bummer.

Yeah, that's what I thought. I remember hearing that you couldn't magically export your AS3 into HTML5 like you can with something like GameMaker.

Somewhat ironically, due to something like Ruffle, exporting to an SWF like before might actually be a viable option again, since you'd get all the nice sandboxing of modern browsers while having pretty-ok flash compatibility.

Adobe Animate is actively developed and supported, so I'm sure it still exports to HTML5.
I tried it out when it was called Edge and found it really easy to make interactive stuff using it! Since I've never made anything using Flash I don't know and would be quite interested in what it's lacking in comparison.
What about Adobe Animate?

"Get Animate as part of Adobe Creative Cloud for just US$20.99/mo." from https://www.adobe.com/products/animate.html

It would be a hard thing to ask various professions that developed content using HyperCard to fork over the money.

That's why I haven't actually tried Animate yet. I eventually bought a legitimate copy of Flash 8, and paid for the upgrade licenses all the way up to CS6, but when they changed the pricing model to be subscription based I pretty much said "screw this" and jumped ship.
This is a subthread about Flash and not HyperCard, though, and Flash itself has been on this subscription model prior to the introduction of Animate. For around 3 years if memory serves correct. Though truthfully, it would be most fair to just consider Animate to be a rebranding of Flash, since as far as I know it’s the same codebase.
Flash was the perfect tool for someone to go from absolute beginner to fairly proficient developer. You could pick up the tool and the very first thing you could do was draw shapes, or maybe even a robot. Then you figured out you could animate them along a timeline, so now you can make the legs of your robot move from one side of the screen to another. Then you realized each shape is a discrete object, and you can attach scripts to that object to fire a laser across the screen, then...

As much as I appreciated having more advanced tools like Unity later in my career, you can't beat the self discovery that was possible with Flash.

Totally agree, and that's what I love about it, it allows you to focus on the fun parts of building games (e.g. moving graphics around, designing your own perfect control scheme) instead of spending twelve hours learning the intricacies of shader programming and whatnot.
I suspect that there is a sweet spot for learning and teaching programming, and it typically happens soon after a new technology emerges. There is a lot of excitement, many low-hanging fruit, and the tools tend to be easier to work with. As time goes on, there is less motivation since the excitement has diminished and there are fewer unique contributions to make. More important though, the tools become more complex since their development has to address the needs of larger projects with more specific needs.

I have seen this pattern repeat several times over in my life: programming personal computers with BASIC in the 1980's and web development in the late 1990's are the most obvious examples. HyperCard sort of fits in between since it was one of the more accessible GUI development tools, though it was by no means the only one.

You touch on something that for me is the real issue: there is only one level of complexity today: maximum.

Building a blog, a news website, a niche web app, or the new Facebook, it nearly doesn't matter, you must use the latest state of art tools. We have completely lost all the intermediate levels between beginner and professional.

Sometimes it's justified as an unfortunate effect of the internet for sites and apps handling personal and sensitive data, something that the semi-professional 90's shareware didn't have to deal with. But I feel like that doesn't explain it all.

Well there's always PICO-8.

https://www.lexaloffle.com/pico-8.php

Pico-8 is a lot of fun, I made a ray-casting FPS thing in there a few years ago.

That said, Pico-8 is (purposefully) limited pretty substantially. You can only have like 32kb of RAM, you are really limited in your sprite size, and I think the built-in editor is kind of annoying.

Flash was fun because it was super easy to get into, but it kind of felt like a "big kid" programming environment. While I know the performance wasn't great, outside of that I never felt limited by Flash.

PICO-8 has 2 MB of Lua RAM (every Lua variable is 64 bits minimum so that's not a huge lot to play with). If the limitations feel too restricting, there's always TIC-80.

https://tic80.com/

There is a very active open-source project called Ruffle[1] which aims to reimplement Flash Player to play the already existing Flash content. It runs in the browser via WASM as well as a standalone native app on all three desktop OSes. It doesn't support AS3 yet.

But as far as I can tell, there's no one trying to recreate Flash the authoring program. Which is a big shame IMO. We need something that enables creativity with a low barrier to entry.

[1] https://ruffle.rs

Yeah - now that a legacy of flash apps exist, having a runtime for them is important.

But as you say - back in the old days, the truly important thing had nothing to do with the runtime, and had everything to do with the authoring program.

Someone really needs to build something similar, and - because we're starting in a later era, the only influence it needs to take from flash lies in the UI/UX.

> the only influence it needs to take from flash lies in the UI/UX.

It could use the SWF file format too, there's nothing wrong with that IMO, and there already are many tools built around it.

Ruffle is pretty sweet, it resurrected Homestar Runner so I legally have to love it.

As I said, I do think GameMaker is a reasonable enough substitute for stuff. While I find having to write shaders a bit irritating, you don't have to do it very often, and you can get up and running in a fairly short amount of time, and it's HTML5 exporter works pretty much perfectly from what I've played with. Is it as easy as Flash? No, but it's still a pretty low barrier-to-entry for people, I think I could probably teach a kid how to use it and they'd pick up the basics.

> Is it as easy as Flash? No, but it's still a pretty low barrier-to-entry for people

IMO it is too high. People who are not very much into tech are easily scared away by the need to write any code.

The thing with Flash is that when you launch it and create a new project, it looks, feels and works like a vector graphics editor — because it is one, and a very good one. You start drawing stuff. You start animating stuff. If all you want to make is a cartoon, ActionScript is entirely optional. But then you start wanting to add buttons that do simple things like "go to frame X". You copy-paste ActionScript for that. You go deeper and deeper into the ActionScript rabbit hole. Before you've realized it, you're coding complex logic for a game.

Flash lures you into wanting to write code by being an extremely easy to use animation editor. GameMaker repulses you by making writing code a prerequisite for going any further.

>I'm not suggesting we resurrect it

They should and open source it.

I've never used Hypercard, but after reading the article and looking at the screenshots, it seems similar to my experience using bubble.io. I suspect the calculator example would be very similar.
Jobs had the balls to do to Hypercard what Adobe didn't do to Flash. If Hypercard was so amazing then why did products like Supercard fail. It matched Hypercard's feature set and was able to run on Windows and Macs.
I mean, there's a lot of potential reasons, maybe because it didn't have the marketing budget of a multi-[million|billion|trillion] dollar company behind it? Maybe it tried to be too much? It's tough to say.
HyperCard would have been a great platform if it was aggressively iterated. Despite being way ahead of its time in 1987, it died because it stood still and the world eventually passed it by.
Aggressively iterating it would make it too complicated to use for beginners which would also cause it to lose popularity.
This is from 2011 and has been posted 6 or 7 times over the years.

It has one interesting point: complexity is our industry’s addiction and downfall, but blames the wrong person. it’s not Steve Jobs’ fault that customers want what they want.

The dream that we’d all be in a web based on HyperCard is no different from other the Squeak Smalltalk folks or LOGO fans etc. Elegant, beautiful interactive environments to help people learn computers, but never became mainstream problem solvers. It’s an old tale.

Otherwise it is mostly a “get off my lawn” rant.

(For those that don’t know about Squeak, Alan Kay believed in children’s programming so much they went to Disney - Disney! - to create Squeak, named after Mickey Mouse, as a next gen Smalltalk for kids.)

Squeak was started at Apple. But when Steve Jobs came back to Apple and decided to kill research, they had to move elsewhere. They were able to convince Apple to release Squeak as open source (their very first attempt to do so) so they wouldn't have to start over at their new home.
Yes, that’s more accurate than my account - thanks.
Not convinced by the author's theory.

If you extend Hypercard to its logical conclusion you get either Flash or a browser running HTML locally. In any case you get a security nightmare, a lot of duplicated efforts, and the need to solve hard problems which didn't exist back then such as adapting UI to different screen sizes, accessibility, internationalization, publishing stacks on the web, etc.

Also, there were some commercial products developed with Hypercard back in the day... but these days you'd need a different development environment that supports things like versioning to entertain that possibility.

My takeaway is this:

"The reason for this is that HyperCard is an echo of a different world. One where the distinction between the "use" and "programming" of a computer has been weakened and awaits near-total erasure. A world where the personal computer is a mind-amplifier, and not merely an expensive video telephone. A world in which Apple's walled garden aesthetic has no place."

This is the antithesis of the UNIX way.

"The essence of the UNIX philosophy is not “make small utilities that can be fitted together with pipes” but to assume that at any moment, a user might decide to be a developer or a sysadmin and should have the tools to do that."

(unashamedly, -- me)

Quartz Composer had a very similar sort of level of ease of use. Drag some components out, wire them together, add some AppleScript or JavaScript if you want. And of course Apple has let that whither on the vine for the last ten years.

I still use it on occasion to debug HID devices because it’s so fricken easy. Drag out the HID block, pick my device, drag the value I want to inspect onto a text render block. Done. Updates in real-time, essentially built an HID oscilloscope.

Update - old video of me using it to inspect a keyboard

- https://twitter.com/donatj/status/1223093796558209026

To be fair, that's because the author of the project left Apple, and it was a one-man project.

I think the framework is even deprecated now.

I've mentioned this several times on HN before, but I maintain a collection [1] of over 3,500 HyperCard stacks hosted by the Internet Archive. The great thing about modern technology is they're all emulated in-browser - just select the one you want and press start.

You've got silly little animations[2], sound samplers[3], choose-your-own adventure stories[4], reference guides[5] and teaching materials[6]. But there's so much more in the collection.

I thoroughly recommend that those unfamiliar with HyperCard have a browse of the collection and see what was made possible by this groundbreaking 1980s tool.

I'm always looking for more stacks for the collection - if anyone reading this has any (either already as digital files or on floppy disks), please do email me: HyperCardOnline@gmail.com

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

[2] https://archive.org/details/hypercard_computer_sind_doof

[3] https://archive.org/details/hypercard_cheapsequencersit

[4] https://archive.org/details/hypercard_inigo_gets_out

[5] https://archive.org/details/hypercard_macprinters-11

[6] https://archive.org/details/hypercard_usgs---teaching-earth-...

Thank you, I remember playing Inigo gets out when I was a child!
I had a look at the first link and tried two decks at random. The very first one was a "gayme" (Get it? We're gay! It was the early 1990's), the second one "models" was girls in bikinis (Nice dithering!).

Point I'm making is that hypercard gave access to absolutely everyone. Which means it was used far outside the normal niche technical interests.

It's sort of a neat archaeological dig into the mind of a broad spectrum of people at the time. Rather than a slice of niche technical individuals.

Earlier [1] I posted about Chuck "Jesus" [2] Farnham's HyperCard SmutStack in a previous discussion of HyperCard stack archives (but I still haven't tracked down a copy):

[1] https://news.ycombinator.com/item?id=22285675

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&#x...

The conclusion feels bogus and forced:

>The various HyperCard clones and HyperCard-influenced software lack HyperCard's radical simplicity and the resulting explorability. Explorability of the "master of all you survey" variety matters. All of the extra features in a more feature-rich system like SuperCard (or even VB) are not harmless. There is a fundamental difference, especially for a child, between a system which you can fully wrap your mind around and one with countless mystery knobs.

Says who?

>4. Everybody pushing Javascript, Python, Wx/Qt, Cocoa, and other abominations as "HyperCard replacements" simply does not remember being a child. And/or lacks a creative bone in his body. And/or is a malicious idiot.

Or the author might remember being a kid himself, but he doesn't know what is to be a kid in 2021. There are kids todays (even 8-12 year olds) who do more with Javascript, Python, Swift Playgrounds etc, than the best things ever done with HyperCard.

And the reason they don't use something like one of HyperCards successors, is not that it's 'too complicated', but that it doesn't really solve problems they have in 2021.

>But what he really sold us was a (fairly comfortable) train for the mind. A train which goes only where rails have been laid down

And yet Apple under Jobs and later, continued to ship AppleScript, shipped Swift Playground, and other such tools. And their subsidiary makes a powerful "build your own app" tool (FileMaker).

It's BS to present it as if HyperCard-made basically toy apps would be some kind of threat (or even just perceived as such) to Apple's bottom line or core products.

HyperCard alongside with other stuff was killed to re-focus Apple and save it. Apple was dying in near bankruptcy with HyperCard and Newton and everything - not only they weren't some big success, but not even the core offerings were much of success at the time either.

>Seems like many readers continue to miss the essential point, just as they did in 2011.

Or the point was bogus and the author insists on flogging a dead horse (or blowing a rusty trumpet)...

Agreed. The conclusion of the article feels pretty unsupported, especially considering that AppleTalk still survives to this day.