Live data from Hacker News

Why Hypercard Had to Die

loper-os.org

131–140 of 142 posts

Re: Why Hypercard Had to Die

#131
post #16

This doesn't seem to be anything special about Hypercard. Hypercard was the BASIC of the Macintosh in that it served the same niche. It certainly was not BASIC, but the idea was the same, a little language and environment that fit into the machine's environment that allowed novices (and then highly practiced novices :-)) to create stuff on the machine for other people to use. It was killed for the same reason BASIC,…

> This doesn't seem to be anything special about Hypercard. Tell that to the thousands of otherwise non-programming people who developed real, useful applications (some of them best-selling) in Hypercard. > it's going to be something else over the JS/CSS/HTML stack Like building a castle on a swamp. Foundations matter: http://www.loper-os.org/?p=55

You are lauding HyperCard and calling JS/CSS/HTML a swamp? Seriously?

JS/CSS/HTML all have flaws -- some more vexing than others -- but they (and the browsers that put them to use) are infinitely superior to HyperCard.

Re: Why Hypercard Had to Die

#132
post #7

Sigh. Maybe instead of ranting at your "typical software engineer", the author should spend a moment to consider that maybe it "could be built again" - but it never has. So the question then turns to, why has it never been built? Is it maybe because Hypercard (and other visual systems) become entirely unmaintainable once we get to large-scale systems? And maybe it is because most people don't want a trivialized progr…

> They either want a full system, or just a product. While I think this is true at the moment, it seems that there is an interesting question behind that, as well. Why don't more people want to create their own software? I do think the author has an implicit point: because, frankly, creating software stinks. Jon Skeet's talk [1] demonstrates this admirably. I spend a shockingly large part of my time working around bu…

Hm. I've never seen a HyperCard project that was both maintainable and of a large-ish size. I think _that_ is where the HyperCard idea broke down - navigating through a bunch of cards is significantly more difficult than through a bunch of text files.

Granted, that _may_ be a question of the tools. But I do find it telling that in the long time since the "death" of HyperCard nobody could come up with compelling tools.

And creating software is hard because ultimately, it requires analytical thinking. Which, by itself, is hard. Yes, the choice of tool modulates the hardness of the problem - but the underlying issues are still hard. (Note: I do not claim non-programmers _can't_ reason analytically. I claim the effort/result ratio is not right for them)

It's the same reason most people buy furniture instead of building it. Acquiring the necessary skill set is simply too much effort for the result.

Re: Why Hypercard Had to Die

#133
post #55
post #7

Sigh. Maybe instead of ranting at your "typical software engineer", the author should spend a moment to consider that maybe it "could be built again" - but it never has. So the question then turns to, why has it never been built? Is it maybe because Hypercard (and other visual systems) become entirely unmaintainable once we get to large-scale systems? And maybe it is because most people don't want a trivialized progr…

Spreadsheets are arguably a "trivialized programming environment".

Point well taken. So the question then becomes, why only one (or a small number of) such environments? (Also, I consider spreadsheets hardly trivial. I marvel at what some people can do in Excel ;)

And my answer to my own question is still the one I previously implied: There is no market for this kind of environment.

Consider, your problem needs to be:

* Repetitive enough to benefit from automation

* Complicated enough that automating it would yield a significant gain in the long run.

* Simple enough to not require going to an actual full-blown programming environment.

* Not numerically solvable, since spreadsheets have that covered.

* Not solvable via macro-recording or workflow solutions, since that market is also well-covered.

I'd say that does leave a fairly small sector. Hence, low demand for Hypercard-like solutions.

Re: Why Hypercard Had to Die

#134
post #55

Earlier quoted context omitted.

Spreadsheets are arguably a "trivialized programming environment".

Point well taken. So the question then becomes, why only one (or a small number of) such environments? (Also, I consider spreadsheets hardly trivial. I marvel at what some people can do in Excel ;) And my answer to my own question is still the one I previously implied: There is no market for this kind of environment. Consider, your problem needs to be: * Repetitive enough to benefit from automation * Complicated enou…

I had the same reaction of "no market" from the article, but on reflection I suggest turn it around: instead of thinking of it as "a programming environment", think of it as a specific application first, which has customization added to it, and eventually becomes programmable. Seeing it this way, such environments are very common - they are just not presented as "programming environments". And that may be what is different about Hypercard - how it it thought of, not what it actually was.

- I think macro-recording etc counts as a trivialized programming environment

- Many standard desktop applications are programmable (though today point, they just throw in a pre-existing language) - Word processors (Word uses VB, .net; OpenOffice uses Java/Python; Adobe acrobat uses Javascript. I think you'll find in earlier word-processors (for eg), they had more limited programming environments, before that, not fully programmable scripting; before that, only macros, before that only specific and limited explicit configuration... and before that, no customization at all.

- Flash authoring tools can do what Hypercard did, and more; they are also very easy to use for simple things, and even do it in a similar way to hypercard (but include a full programming environment for more complex things, like spreadsheets do). NOTE: flash's programming abilities have been enhanced tremendously over the years. I don't know the origins, but I wouldn't be surprised if it initially didn't have a "programming" capability, but just customizing some aspects of playing movies.

- html + javascript itself is not that different from hypercard, especially if you include an "authoring tool", of which a great many exist.

- wiki's are also hyperlink based...

- online forms (wufoo, google forms) - they derive a database from forms (like ORM, but skipping the objects, to be "FRM"), and include constraints, different paths, and reporting tools.

- vim has a programming language, but it's about as pretty as programming with a spreadsheet. This is because it evolved from something simpler, to get specific tasks done - I don't think vi was programmable! certainly not in the earliest versions (emacs is the exception, beginning with an actual programming language). I'm not even sure that shells were initially programmable for that matter... and that's about as close to a programmer as a tool can get.

[Also please check my follow-up comments, esp: visicalc was not initially about programming.]

---

TL;DR I put it to you that any tool can have automation added on to it - and if we view it this way, "trivialized (or specialized) programming environments" are the norm, not the exception. Their goal is not "programming", but to solve the specific problems and meet the specific needs of their users. But the natural direction of a customization/configuration is programmability (and then to add programming features to help manage complexity, e.g. libraries, namespaces etc). It might take a while to get there. Some instances we see are only part-way there (see above); some stop growing/die before becoming attaining that level of customizability.

Going back to flash, ActionScript 3 added optional static types, enabling dramatically faster performance; before then, it was a version of Javascript; before that, it was a kind of hacked together script thing. I don't know what they had way back in Flash 1.0, but I suspect it wasn't yet programmable... just as visicalc 1.0 wasn't programmable...

Re: Why Hypercard Had to Die

#135
Still surprised that nobody's made the connection to FileMaker.

FileMaker actually predates Hypercard (depending how you define it), and is similar to the point where you can still find Hypercard->FileMaker conversion tools.

Filemaker is also screens + controls + simple scripting language (albeit not quite as easy to grasp as HyperTalk/Applescript), and is wildly popular for an audience similar to that of Hypercard users.

Re: Why Hypercard Had to Die

#136
post #16

This doesn't seem to be anything special about Hypercard. Hypercard was the BASIC of the Macintosh in that it served the same niche. It certainly was not BASIC, but the idea was the same, a little language and environment that fit into the machine's environment that allowed novices (and then highly practiced novices :-)) to create stuff on the machine for other people to use. It was killed for the same reason BASIC,…

HyperCard was one of the most influential programs in history. Consider it was released in 1987 and ran in 1MB of RAM. It had four major impacts: 1) It was a concrete implementation of the idea of hypertext that actually worked. The fact that comments in HTML begin with 2) It was the first graphical IDE that I know of. (Clunky? At the time -- 1987 -- it was glorious.) 3) It was one of the easiest programming language…

SuperCard is one clone that picked up where HyperCard left off, with the extremely similar SuperTalk language. It fixed a lot of Hypercard's issues, like built in color support, access to native UI widgets, multiple windows, and the ability to create standalone applications. Updates added both OS X and Intel compatibility.

But it's definitely a niche product, which we've seen isn't something Apple is interested in. Supercard.us is down right now, so I'm not sure whether it's on the market or not. As Apple has discovered, the vast majority of computer users aren't interested in creating software; they're content consumers. SuperCard probably got as much use for making quick mockups before building a "real" application as it did by amateur developers.

One thing that I'll give HyperCard is that it made it easy for me to play around with programming while I was in elementary school. Today's programming tools are largely not that accessible.

Re: Why Hypercard Had to Die

#137

Earlier quoted context omitted.

HyperCard was one of the most influential programs in history. Consider it was released in 1987 and ran in 1MB of RAM. It had four major impacts: 1) It was a concrete implementation of the idea of hypertext that actually worked. The fact that comments in HTML begin with 2) It was the first graphical IDE that I know of. (Clunky? At the time -- 1987 -- it was glorious.) 3) It was one of the easiest programming language…

SuperCard is one clone that picked up where HyperCard left off, with the extremely similar SuperTalk language. It fixed a lot of Hypercard's issues, like built in color support, access to native UI widgets, multiple windows, and the ability to create standalone applications. Updates added both OS X and Intel compatibility. But it's definitely a niche product, which we've seen isn't something Apple is interested in. S…

Good of you to mention SuperCard which was, in many ways, the obvious successor to HyperCard (and it was revived a few years back and died owing to lack of interest). These days Runtime Revolution fills that niche. SuperCard was kind of flaky (I developed some stuff with it) and, more importantly, took an IDE -> shipping app model (where the dev environment was pretty much split off from the standalone app). This made it more useful for "real programmers" but less accessible for tinkerers.

It's probably worth mentioning that HyperCard was incredibly stable. You could work in it for months on end without crashing or losing any work. That alone was pretty staggering for the time.

Re: Why Hypercard Had to Die

#138
post #119
post #97

I think what killed Hypercard, in some sense, was what it made popular: like the Amiga, it was too closely tied to its hardware. HyperCard ran black and white windows of 512*342 pixels because that is what the original Mac had (there was a version that did some color things, but that was and felt like a serious bolt-on job). Moreover, all graphics where bitmaps. Bringing that into the 'real world' as it existed at th…

I think that versions of Hypercard past v1.0 allowed for stacks of arbitrary window size; I know for a fact that I made up at least a few 1024x768 ones in v2.2. You are correct in that I don't think it supported resizable windows without the use of some XCMD though.

You are correct. Surprisingly, I even found evidence for that: http://support.apple.com/kb/TA31048:

* All the cards in a given stack must be the same size, even if there are several different backgrounds in the stack.

* Smallest card size: 64 x 64 pixels

* Largest card size: 1280 x 1280 pixels.

Re: Why Hypercard Had to Die

#139
post #134

Earlier quoted context omitted.

Point well taken. So the question then becomes, why only one (or a small number of) such environments? (Also, I consider spreadsheets hardly trivial. I marvel at what some people can do in Excel ;) And my answer to my own question is still the one I previously implied: There is no market for this kind of environment. Consider, your problem needs to be: * Repetitive enough to benefit from automation * Complicated enou…

I had the same reaction of "no market" from the article, but on reflection I suggest turn it around: instead of thinking of it as "a programming environment", think of it as a specific application first, which has customization added to it, and eventually becomes programmable. Seeing it this way, such environments are very common - they are just not presented as "programming environments". And that may be what is dif…

If you look at it as purely customization, yes, there's a thriving market. But the author is specifically looking for something that creates a world 'where the distinction between the “use” and “programming” of a computer has been weakened'.

And the point is that those are fundamentally different activities. There's only a very small intersection that needs the simplicity of "use" and the complexity of "programming". And given that's an incredibly hard balance to strike, I stand by "no market" - at least for a product _specifically_ aimed there.

Re: Why Hypercard Had to Die

#140

I had a sudden hypothesis after reading this thread last night. (No proof, mind you, just an idea.) I wonder if HyperCard's success was for the same reason as UNIX's success: a well-chosen, small set of interoperable tools that allowed the user to do far more than the sum of their parts. And, as computing and interfaces have become more complex, we've just tacked on complexity to them rather than reinventing them to…

IMHO, the Linux programming environment is a mess precisely because not everything is a file handler - not even sockets, as even though sockets can behave like files, there are differences. Plan9 was supposed to be the reinvention of Unix and a lot of useful stuff was ported from Plan9 to modern-day Linux, including the /proc filesystem which is really, really useful. Unfortunately the UNIX philosophy is so powerful…

Though I haven't done any Linux programming, I can definitely see your point. A abstraction seems only as useful as it is consistent.

You're right: HyperCard and Excel aren't a small set of interoperable tools like UNIX is. I would argue, though, that they are close: a walled garden of interoperable tools. Rather than guide you through steps to a specific end (the extreme example is a wizard for, say, a mail merge), they present you with tools you can use to get to that end. Obviously, they don't work particularly well outside their garden, and the great advantage of adding tools to your toolset is cumbersome at best.

I do wish I understood the UNIX philosophy better. Perhaps I'll learn more over time.

Post reply on HN