
Hypercard – Way Too Early - shawndumas
http://avc.com/a_vc/2014/02/hypercard-way-too-early.html
======
jacobolus
I think this blog post is overly caught up on the word “card” – HyperCard
“cards” weren’t particularly like the cards inside android or twitter or
facebook. Indeed, if HyperCard cards were like anything, it’s web pages,
except designed for the limitations of the hardware of the time and targeting
only one hardware platform (standard display, etc.) and running on a single
non-networked computer.

Also, why “way too early”? Too early for what?

The most important feature of HyperCard, in my opinion, was that it gave end-
users powerful general-purpose tools for programming and solving their own
problems, in a way that was easy to get started with. Instead of being locked
into someone’s existing program designed with an idealized customer’s needs,
any HyperCard user could create or customize a HyperCard stack to suit their
own preferences.

Unfortunately, tools requiring customer learning and mastery are very
difficult to design and implement, and even more difficult to demo and sell.
And so our software is designed in a very narrow and limiting fashion. The
“cards” in android and facebook and twitter &c. are doing nothing to combat
this, and to compare them favorably to HyperCard is in my opinion to
completely (and tragically) miss the point of HyperCard.

I don’t see any particular signs of this trend toward closed systems
reversing; indeed, as more people come online, and giant corporations spend
billions of dollars hiring all the smartest people to work on developing
software that gives them (the corporations) as much control as possible over
uses of computer hardware/software, the popular machines and software systems
are only getting more closed and locked down. The web itself is an open and
flexible platform, but increasingly people are spending their time in a few
centralized and controlled parts of it.

~~~
swdunlop
I thought the same when I read the article -- they missed the point of the
programmability, and some of the downfall of hypercard (it was an unholy mess
to sort out a badly written stack.) Sometimes I wonder if the spiritual
successor of hypercard was in fact Visual Basic.

~~~
joezydeco
I believe it was indeed VB.

Remember that HyperCard was introduced in 1987 or so, the GUI/WIMP era was
just getting started. The learning curve of writing a Macintosh application
was incredibly steep - nearly impossible IMO - but here was a way to make a
simple point-and-click app that actually _did_ something (write to a file, do
some calculations, show information, even talk out the serial port, etc) with
a minimal amount of lifting. My first paid piece of software was a point-of-
sale application written in HyperCard. And it worked just fine.

VB was pretty much the equivalent for Windows, once it came along.

~~~
dahjelle
Has their been a successor to VB?

The web is close in some respects (HTML is easy) and not in others (servers
and single-page apps are not).

I suppose, in another respect, Excel is a successor for many, though it isn't
a good solution for making apps of any sort.

Surprisingly, the closest I've seen has been Microsoft's Project Siena[1].
I've not used it extensively, but my 5 or 10 minute made it look like it had
the dirt-simple-to-get-started appeal of HyperCard and VB.

Anyone know of other "spiritual successors" out there?

[1] [http://apps.microsoft.com/windows/en-us/app/microsoft-
projec...](http://apps.microsoft.com/windows/en-us/app/microsoft-project-
siena/5ae47651-e8f3-4e41-aab7-e19ab1b80180)

~~~
freehunter
As a non-programmer, I've been looking for a VB successor for a long time.

~~~
dahjelle
Not sure if either of these are useful to you, but there are some interesting
projects in LiveCode[1] and in Alpha Anywhere[2]. I've not used either.

I'm hoping Mozilla's AppMaker[3] comes to something, but I haven't been able
to actually make it work yet.

I can't say that I find any of these really (yet) hitting the sweet spot that
HyperCard did, but that may be my own ignorance. :-D

[1] [http://livecode.com/](http://livecode.com/)

[2] [http://alphasoftware.com/](http://alphasoftware.com/)

[3] [https://appmaker.mozillalabs.com/](https://appmaker.mozillalabs.com/)

------
kabdib
If HyperCard had had a good network API, things would have been a lot
different. The thing that steamrollered HyperCard was Visual BASIC, which
could talk to all kinds of system services, and once it had COM support, could
talk to just about anything on the planet. Also, everyone understood BASIC,
and HyperTalk, though interesting and easy to use, was very closed and pretty
much a toy.

Apple's networking APIs weren't very well designed. In fact, you couldn't even
get to AppleShare volumes; there wasn't an official API to mount 'em. So I
wrote one, and I was still getting occasional email about the Mount XCMD a
decade later. Apple just didn't have much vision or follow-through back in the
late 80s and early 90s.

~~~
flomo
> The thing that steamrollered HyperCard was Visual BASIC

True from a market standpoint, I recall one of the Mac magazines had an
article about jerry-rigging a database front-end in HyperCard, and it was
clear it was no VB.

However, more similar in spirit to HyperCard was Lotus Notes, with its
networked hypertext document databases where data storage was largely
abstracted away. That was a proprietary web before there was the web. (However
with an awful UI and ugly templates.)

~~~
doctorwho
Lotus Notes was an awful way to do anything. It allowed people with little to
no programming skill to destroy the IT capabilities of small business and non-
profits. If that had been backed by anyone except Lotus it would have died on
the drawing board (as it should have).

~~~
flomo
That was the entire appeal of Notes/Hypercard, people could throw together a
small database application and it wasn't any more difficult than creating a
spreadsheet. (The big difference was that Notes apps were automatically
network client-server.) I think it's rather cynical and elitist to say that
something which empowered users "destroyed IT capabilities", and it's not like
many of those small orgs really had IT capabilities.

But like HC, the Notes designer software was turned into an added-cost
product, and after that both Notes and HC became the domain of 'IT experts'
that knew how to work around the limitations of a rinky-dink platform.

This was all long ago, for most people now Notes is just a terrible email
application.

~~~
doctorwho
Notes was always a terrible email application :)

You are right about the level of IT capability of most small shops, maybe I
"crippled" would have been better than "destroyed".

But elitist?

Have you ever considered working on your home furnace? There are people who
can do these things. The ones who THINK they can do it are Darwin Award
winners.

The downside of an amateur rolling their own solution in Notes was not life
threatening but it certainly wasn't smart.

Notes gave people who had no idea what they were doing the confidence to build
solutions that were fine for personal use but completely unsustainable at even
small office scale.

The "experts" who adopted HC and Notes were the ones who did the real damage
though. These folks (and I knew a few) were just a step above the guy in the
office who refilled the toner in the photocopier. They created half-working
systems and then moved on. They didn't have to live with the technical debt
they left in their wake.

They set unrealistic expectations for what good IT solutions should cost and
left guys like me trying to clean up their mess for years.

~~~
flomo
Sorry, I wrote a fairly long reply and HN told me my link had expired and the
text was lost. Perhaps too long then :)

In any case, Notes ended up sucking, anyone who saw what happened can toast to
that.

~~~
lutusp
> Sorry, I wrote a fairly long reply and HN told me my link had expired and
> the text was lost.

Some suggestions. First, if you've typed longer than a minute, make a backup
copy of your reply, even go so far as to compose it in a separate text editor,
then paste the result into HN. Second, if you encounter the dreaded "link
expired" message, select all (Ctrl+A) then copy (Ctrl+C) the content of the
entry window, then press browser refresh, then paste (Ctrl+V) the text you
just copied. Then click "Reply."

~~~
flomo
Hypothetically, if you stumbled upon some folks arguing about Lotus Notes R3,
wouldn't you assume they knew the standard windows shortcuts?

(Trick question, R3 only had ctrl-insert etc OS/2 shortcuts!)

In any case I apologize my paste-buffer foibles denied you my three paragraphs
of immense wisdom regarding the good & bad of an obsolete end-user friendly
distributed database system that went out of style a couple decades ago.

~~~
lutusp
> Hypothetically, if you stumbled upon some folks arguing about Lotus Notes
> R3, wouldn't you assume they knew the standard windows shortcuts?

Lowest common denominator, as they say. When I encounter someone who loses his
content on the HN interface, I make some simplifying assumptions. :)

------
thinkcomp
I've thought a lot about HyperCard.

In 1994, when I was in fifth grade, I used HyperCard to make a demo of a
program that would allow you to fax a grocery order to a store using a modem
after you checked off the items you wanted to buy. Then the store would
deliver your order to you. I didn't actually know how to make use of hardware
devices like modems, but it was possible to make the user interface work
reasonably well on a Macintosh LC II. I was of course bummed that there was no
color. (HyperCard was black and white only unless you used proprietary
extensions, which could sometimes make things run very slowly.)

The author of this post seems to think that HyperCard was "before its time,"
but it wasn't. It defined its time, and ours. It was a huge part of what made
the Mac so appealing to so many people--the ability to sculpt new technology
in a custom manner. There was no comparably easy-to-use tool on the PC--Visual
Basic didn't come close--and there never would be. The result was that all
kinds of Mac owners developed their own stacks that solved exactly whatever
problem they thought needed solving; PC owners had to hope that a software
company would make something for them.

What's sad is that now our computers are so much faster than the LC II I used
in fifth grade, but even if they're a hundred times faster, they're certainly
not a hundred times easier to develop for. Most fifth graders, even smart
ones, probably couldn't write an app in Objective-C that does today the same
things a HyperCard stack did in 1994. HTML5 is the next best option, but it's
still not as easy.

I worked on a prototype of a modern-era web-based HyperCard with a friend, but
we stopped working on it because there was no VC interest and it wasn't clear
if there would be a good business model. It's a shame, because HyperCard is
one of the things that most excited me about computers when I was a kid. I
still miss it.

~~~
dahjelle
Do you think the world has changed such that a modern HyperCard is just not
something people would use? Or has the massive influx of "there's an app for
that" papered-over the hole in the market?

~~~
thinkcomp
I think it might be used, but I wonder if anyone would pay.

If Apple were run with a different mindset, they might turn XCode into
HyperCard again. If Google were run with a different mindset and Android were
something other than Java, you might see them build their own HyperCard-style
development environment instead of relying on the abomination that is Eclipse.

------
abalone
There is nothing new about the card metaphor in mobile.

The very earliest mobile web app standard, HDML (later WML), used a deck-of-
cards metaphor. This was around the mid-90s.

"The fundamental building block of HDML content is the card. The user agent
displays and allows the user to interact with cards of information. Logically,
a user navigates through a series of HDML cards, reviews the contents of each,
enters requested information, makes choices, and moves on to another or
returns to a previously visited card." \- HDML spec [1]

I'm not sure what Fred Wilson is getting at with "cards" today (he seems to be
lamenting restricted APIs more than anything with the UI paradigm?). But in
the HDML era they served a specific purpose: decks could be downloaded over
high-latency networks in one shot and navigated offline, instead of waiting
for each "page" to load.

[1]
[http://en.wikipedia.org/wiki/Handheld_Device_Markup_Language](http://en.wikipedia.org/wiki/Handheld_Device_Markup_Language)

~~~
x0n
Yep, I wrote a few apps in WML. Here's someone back in 2000, (fourteen years
ago now... wow) making the connection between WML and HyperCard:

[http://www.wirelessdevnet.com/columns/mar2000/mobdev05.html](http://www.wirelessdevnet.com/columns/mar2000/mobdev05.html)

------
jaysonelliot
Watching this demo of what Hypercard could do in 1987, it seems like there are
a lot of things that would be great if they were translated into a modern
context right now.

[http://www.youtube.com/watch?v=EMFscTOazS0](http://www.youtube.com/watch?v=EMFscTOazS0)

~~~
cadr
Which things? Does [http://runrev.com/](http://runrev.com/) do them? (I
believe it is suppose to be a modern Hypercard.)

------
jarpineh
I think what HyperCard got right was easy structured form based editing. You
could insert fields into cards and use those as a template. When inputting a
field you actually edited a property of an object directly. I can't remember
if fields allowed rich text editing nor programmatic access to it, so
replacing Word was probably not possible. Creating complex forms and
interfaces for data was certainly easier than with web browser. You could
start your own solution by simply copying a suitable card. One knowledgeable
user could create a powerful app tailored to company's needs and others could
build on that.

In the browser the presentation, runtime and persistence layers (otherwise
known as DOM, JavaScript and the web/LocalStorage) are completely separate.
So, you need loads of code to bootstrap your particular version of editable
web that HyperCard gave you for free, without any save buttons, serialization
protocols or web server and database installs. This seems so basic thing, yet
it's so hard to get there in the modern browser. Forms have in their own,
peculiar data structure completely unusable for all but simple cases without a
clever encoding system and JS data binding. Rich text editing is so unreliable
across implementations that you need to get a library like CodeMirror to turn
textarea into transformation pipeline simulating the process of input. Saddest
part is that the priorities of developers are elsewhere, in building the
browser into best consuming platform and a fastest tool to send little
snippets of text to social network silos.

One of these days I might turn LigthTable into the past version of HyperCard,
with the future build in. Since it comes with a browser, server and the JVM
there should be more than enough code to replicate functionality of few
megabytes of 68000 assembler ;)

------
AlphaGeekZulu
HyperCard lives on in LiveCode - with card metaphor, HyperTalk and all. Plus
color, images (with alpha channels), regex, (limited) sockets, resolution
independence, XML-parsing, IDE for Mac/Win/Nix, compiles to OSX, Win, Nix,
iOS, Android. And it is OpenSource, thanks to Kickstarter (Store deployment
requires commercial closed source license though).
[http://livecode.com/](http://livecode.com/)

~~~
scj
It isn't open source if it discriminates based on endeavour.

[http://opensource.org/osd-annotated](http://opensource.org/osd-annotated)

~~~
AlphaGeekZulu
It is a dual license model. They offer a commercial license for those
developers, who want to distribute their products as closed source (as it
seems, exactly this is required by the Apple store).

------
aytekin
I had really hard time understanding AVC's point so I searched for hypercard
screenshots and found this screen tour: [http://www.loper-
os.org/?p=568](http://www.loper-os.org/?p=568)

It is an IDE to build small visual Mac apps. A card is basically an app.

~~~
AlphaGeekZulu
The card in HyperCard was not an app, but rather served multiple purposes:
First, it was a container for widgets, or, in other words, a canvas for the
user interface. If the user interface would not fit in the fixed size screen
of the card (it was 640x480px in the beginning and became resizable later on),
it could be organized into multiple cards, each containing parts of the ui and
with some navigation ui elements to browse between the cards. Second, the card
could serve as a database record. In that case the card would contain editable
widgets to make a form (for example for addresses), then the card was declared
to be a template (in HyperCard notation a "background") and then as many cards
were created from that background as database records were required. In that
case field-widgets served as database columns, cards as records and
backgrounds as tables. Third, the card (and its template-variant, the
background) could contain code. Events (like a mousedown etc) were sent by the
engine first to the respective widget on the card, then, when not handled, to
the card itself, then to its template, then to the stack. The HyperCard stack
was the app, and a stack was a collection of cards and cards served as user
interface canvas, and, very much depending on the application logic,
additionally as code or data containers.

~~~
grkvlt
> it was 640x480px in the beginning

Less than that. Must have been 512x342; as I remember using it on 9" Mac Plus
and Classic BW screens?

~~~
AlphaGeekZulu
You are right! To quote the HyperTalk 2.0 reference by Dan Winkler and Scot
Kamins: "Locations 0,0 through 511,341 are within a standard card's area and
are therefore visible on all Macintosh displays. Points outside those
boundaries might or might not be visible, depending upon the size of the
display you're using." Page 872 defines the Standard card pixel size as 512
horizontal, 342 vertical. HyperCard 2.0 allowed already to make custom sizes
for stacks and my screen at that time was 640x480.

------
pirateking
Seems like the author never actually used HyperCard, and is just another trend
watcher.

~~~
e12e
From tfa: "I built a few Hypercard based applications in the late 80s and
early 90s as I was winding up my programming “career”."

That doesn't mean the author built something like Myst, though.

------
thomasfl
I spend a lot of time creating hypercard (and supercard) applications 20 years
ago, before moving on to web development. HyperCard could not adapt to
different screen sizes, and html+css+js is just way more advanced. But the
idea of having a development platform that everybody can learn in a few
minutes is very good, and could be used inside web sites today.

------
julianpye
The whole history is explained nicely by Jakob Nielsen:
[http://www.nngroup.com/articles/hypertext-
history/](http://www.nngroup.com/articles/hypertext-history/)

Meanwhile, before Hypercard, there is a notable product: Guide by OWL in
Scotland, who were approached by Tim Berners-Lee as his desired candidate for
the world wide web. Matsushita had then in an 80s Japanese shopping frenzy
bought up OWL (lawyers on the same trip to Scotland went on to buy a couple of
distilleries and golf courses in the same week). Japanese management of OWL
then turned down Berners-Lee.

------
doctorwho
This is becoming a common (but idiotic) meme... "Anything that had die hard
fans, that didn't succeed - Way Too Early"

Maybe it was just bad technology or a bad implementation.

If it was really that good (it wasn't) then it would have survived. The fact
that nothing of any consequence works this way today is telling.

You could only go so far with HyperCard before running into limitations and
that's deadly.

It was easy for beginners but offered no advantage to experts. Once you
graduated beyond HyperCard you could never go back.

Market death.

------
mildtrepidation
Hypercard was my first real programming exposure. Going back and looking at my
stacks (which I found many years after forgetting about them) was a humbling
lesson in "holy crap, I can't believe I was that terrible at programming." But
it definitely did get me interested, and it was really freaking powerful for
something we treated like a toy.

------
protomyth
I think the important difference between Hypercard and the web is the all-in-
one approach to Hypercard. You ship a stack and it works. Single environment
and not a huge number of different technologies.

I don't think VB killed Hypercard. Apple never got color, networking, etc.
working and put no effort into it. Hypercard would have died with or without
VB.

------
ballard
Speaking of Android, there's a neat hacker dude at GOOG that has an unreleased
Android-based visual environment based on Squeak complete with animated 3D and
2D examples. It's pretty neat that basically anything in it can be changed,
and other bits of code can be imported from the web. Would be a fun
environment to build a game in.

------
blt
Like several other commenters, Hypercard was my first programming-like
experience. I don't think I made anything more complex than a series of pages
linked together with buttons. It was a great learning tool, easier than HTML
where you still have to worry about embedded images and it's difficult to
vertically center something.

------
wavefunction
Ugh... I worked with a guy who kept complaining that the web of today is "just
Hypercard."

I did a lot of stuff with Hypercard back in the day and it's such a ridiculous
statement that I ended up writing the guy off completely. He was real big on
generated code and full of BS in general.

------
blueskin_
Nowhere does it even define a 'card'.

A design style? Individual screens rather than a scrolling document?

------
djyaz1200
Loved it, Hypercard was my first programming experience :)

------
kimjotki2
Hypercard was never too early. I remember some 'dot com' guys building a
'business management suite' in hypercard, maid fortune which evaporated after
two years. Hypercard was a mere joke, like applescript.

