
ViperCard – An open source re-creation and re-imagination of HyperCard - moltensyntax
https://www.vipercard.net/
======
ashleyn
HyperCard together with Qbasic both fell into that forgotten realm of
democratising programming; making it so that even your aunt could write a
simple program herself. A lot of people ended up learning programming because
of these simple languages/tools, and I used to love playing with their
projects I'd download from Geocities and the like.

It's a bit of a shame the industry gave up on the idea, and abandoned these
syntactically-sugared programming languages. HyperTalk reads just like
English; it very much seemed like the next generation of the niche BASIC aimed
to fill. Because computers of that era typically opened right into a
development environment (e.g. a simple BASIC interpreter), there was even
brief discussion of HyperCard potentially replacing Finder as the default Mac
OS environment.

~~~
schoen
People have written a lot about programming languages that try to use natural-
language syntax, but one idea that I remember is that both HyperTalk and
AppleScript are a lot easier to _read_ than to _write_ , because you can
relatively easily use your knowledge of English to understand what the code is
doing, but you can't easily use your knowledge of English to figure out how to
phrase instructions in a way that the interpreter will understand. And your
own praise of HyperTalk mentions its being easy to read, not easy to write.
:-)

One way to experiment with this distinction might be to look at the Wikipedia
page

[https://en.wikipedia.org/wiki/HyperTalk#Fundamental_operatio...](https://en.wikipedia.org/wiki/HyperTalk#Fundamental_operations)

and read through the examples and see if you follow them. I'm sure you will.

Now, close the page and try to write a valid loop, and a valid user
interaction, and a valid test for the existence of a file. I don't think
you're likely to succeed unless you've actually programmed in HyperTalk
recently.

But I could readily imagine that many people can learn HyperTalk more quickly
or comfortably than a language without the natural language elements. Maybe
part of that is the low psychological barrier to using a system that looks
like it makes sense semantically, compared to learning special meanings for
lots of symbols.

~~~
JulianMorrison
Inform 7 ( [http://inform7.com/](http://inform7.com/) ) is a modern
programming language with "English like" syntax. And as someone who's tried to
work from their manual (it has only "shallow end" and "learn by example"
formulations) when you actually want to do the thing, one particular English-
like construction will compile and a very similar English-like construction
will be rejected and it's awfully hard, except by repetition, to learn which
one will work.

~~~
nine_k
I find well thought-out formalized grammars easier to follow in either
direction. In particular, I find Python striking a good balance between
reading almost like English for the most part, and being compact and non-
ambiguous.

------
buserror
In 88 (I was 19) I was a 'professional mac developer' and wrote a stack in
hypercard to convert huge list of points to polygons, and split them with
other polygons.

The project was to split the parcels of land from Lille to Paris with the
track of the TGV (high speed train) to calculate the expropriation the state
was doing to the poor guys who'd end up getting their huge field cut in two,
and would have to drive 20 miles to go from one side to the other :-)

Seriously. Hypercard was pretty cool to throw together something quickly, with
a UI and more importantly it gave the client the impression they could go an
tinker with it afterward.

It was also excellent to mockup UIs and 'processes' and other bits of Mac apps
before committing to making them, so even internally at apple, Hypercard (and
Supercard) were used a lot for mockups.

There was a huge ecosystem around hypercard, and it lasted for a very long
time.

Oh, and Atkinson is still my hero!

~~~
gm-conspiracy
...and Myst.

~~~
djsumdog
Wait, was Myst in hypercard? I remember watching videos where they talked
about how everything was only in 256 colors with adaptive pallets, plus they
had Windows, 3DO and Plyastation ports.

~~~
sjm-lbm
The Mac version was in Hypercard, all of the other versions were different
engines written from scratch for Myst.

They actually had to use the same color palette for each age to ensure there
wasn't any strangeness as they flipped between cards to move around in the
game.

~~~
codezero
I thought it used Macromedia (Shockwave or precursor?)

edit: I guess not, neat!

------
notthegov
I used to make Hypercard stacks back in 7th grade when I was learning from
Quantum Link (Q-Link) hackers like Mobeius from the Pan-American Information
Network (#hellonearth).

And AOL hackers and soical engineers like HappyHardcore, creator of AOL4Free &
the Master Blaster, the famous Da Chronic, creator of AOHell and KT (Shameer)
who first taught me social engineering in 1995-

[http://www.stepbystep.com/America-Onlines-Dark-
Side-131812/](http://www.stepbystep.com/America-Onlines-Dark-Side-131812/)

Koceilah Rekouche aka Chron, photo from the 1990s-

[https://www.flickr.com/photos/captivating/3816111466/](https://www.flickr.com/photos/captivating/3816111466/)

~~~
shaunxcode
I love hacker news right now. Been a long time since I felt "home".

------
mikekchar
If I remember correctly, the only reason Ward Cunningham invented the wiki is
because HyperCard was discontinued. He was apparently writing CRC cards and
storing them in HyperCard (which seems like a completely reasonable thing to
do...) He wanted something that was as convenient for doing that kind of
thing.

~~~
shagie
In his own words: Ward Cunningham, Inventor of the Wiki WikimediaFoundation
[https://youtube.com/watch?v=XqxwwuUdsp4](https://youtube.com/watch?v=XqxwwuUdsp4)
at about 3:00 and on for a minute. There was a release of hypercard in ‘98 -
four years after he was working on the wiki.

~~~
mikekchar
Thanks for that! That's a great video!

------
peterburkimsher
I taught myself AppleScript when I was 13, to parse HTML and make
1000-character iPod Notes. I'd used LogoWriter in school since I was 7, but
never got a copy of HyperCard. I heard many good things about HyperCard, but
never thought it would be worth starting an emulator just to use it.

I just opened ViperCard, and the GUI is totally intuitive. The scripts used by
buttons share a lot of syntax with AppleScript. This is the GUI for
AppleScript I always wanted. Now I know why people love it. If I'd been able
to use HyperCard earlier, maybe I'd have become a front-end developer instead
of a back-end engineer.

~~~
dmix
AppleScript, for those who don't know, was heavily inspired by HyperCard. And
apparently was one of the (many) core language inspirations behind Javascript
too.

------
ada1981
I wrote a program called Virtual Journal 1.0 that was simply an infinite
paged, password protected text journal app.

I put it into AOL's ftp area as shareware and got checks from around the world
for $2. I was about 8 years old!

EDITED: I'm offering a $100 reward if anyone can find a copy of this software
in an archive or old shareware disc somewhere! I'd love to find it again.
Also, bonus points for finding my OneClick Palette called "AOL ROVER".

------
m8rl
HyperCard was about empowering users, the opposite of what many tech companies
want today, including Apple. It was a "predecessor" to the web (hypertext,
HyperTalk scripting language), of Flash (animations, graphics), of user
programmable databases (ok, Filemaker is older). It enabled users to smoothly
dive into programming, as it not only offered a simple but extremly powerful
concept of document-applictions called "stacks", drag-n-drop setup of your own
graphical user interfaces, but behind all this a very powerful, extendable
object oriented programming language with kind of "real" objects, as every
item of your stack could have it's own method. Thankfully we have web
technology today, else computer technology would miss its most democratic
tool. But still HyperCard was the only way to simply have your own data on
your own computer in your own application and not relying to a server, cloud
or even paid service.

------
dangoor
This is cool, but I wonder if anyone has made a modern, browser-based
variation of HyperCard? Something with a model akin to HyperCard's but
exporting stacks in a form that can be easily put onto a page.

There's Amber Smalltalk, but that's more powerful and the simplicity of
HyperCard is part of its charm.

~~~
walterbell
Not modern, but the original in a browser via emulation:
[https://blog.archive.org/2017/08/11/hypercard-on-the-
archive...](https://blog.archive.org/2017/08/11/hypercard-on-the-archive-
celebrating-30-years-of-hypercard/)

~~~
moltensyntax
I'm still kind of awestruck by this. Hosting an OS inside a browser. It's
great as a time capsule to perfectly see the past. But because it's an
emulator, it would be difficult to add a more modern feature, like ViperCard's
share-url-to-stack and save-stack-as-json.

------
gergles
This reminds me of my favorite story about old-school Macs. All Macs shipped
with Hypercard after its release for a while. Then, eventually, Apple spun off
Claris, who got HyperCard as part of the deal, and Apple decided to ship a
nerfed version of HyperCard that had most of the stack authoring tools
disabled.

However, you could open up a command console in this neutered version of
HyperCard, type in 'magic', and you'd be able to unlock the full set of
authoring tools.

Magic indeed.

------
soapdog
For those that like HyperCard, I really recommend looking at LiveCode
(www.livecode.com), it is a modern version of it that is able to generate
standalone applications for MacOS X, Windows, Linux, Android, iOS and the Web.

They have a FOSS version behind that confusing website, the livecode.org site
has access to the GPL version, you can download without acquiring a
membership. It is just a bit hidden.

------
zitterbewegung
I wonder how much material design is influenced by Hypercard. I know the web
was partially inspired but it looks like with material design the language is
sort of extended. Or maybe it was all integrated into the design language for
the web.

~~~
Karunamon
What I find amazing is that early B&W GUIs were more usable than modern
material design. Most takes on Material that I’ve seen take poor use of screen
real-estate, poor conveyance, and distracting/hard-to-read color choices to an
art form.

~~~
dman
In case some UX / HCI experts read this thread, are there any credible studies
of information density in user interfaces plotted over time?

~~~
kuschku
You could simply plot recommended sizes for clickable items over time.

Windows 9x used 125% text height of 10pt as clickable item height, that's
around 0.441mm.

Android 4.0 recommends a clickable item height of 48dp, "roughly one
centimeter".

Android 5.0 uses 56dp (1.17cm), and on Phablets and Tablets even 64dp
(1.33cm).

For items in lists, a second effect was seen, as it became recommend to show
more info earlier, the number of list items visible at the same time was
reduced. A multi line list item has a minimum height of 72dp (1.5cm), average
is more around 96dp (2cm).

A similar effect can be seen on Windows, in UWP, the average item height also
went to almost exactly 1cm in lists or menus.

This all fits well, as the smalest reliably clickable element in a UI is ~1cm
on its smallest dimension.

This is also a common issue with HN, where voting buttons are 0.3 by 0.3cm,
even on mobile, and as result I misclick ~2/3rds of the time, but no one seems
willing to fix this.

~~~
dman
Thanks for taking the time to write such a detailed comment!

~~~
kuschku
It’s honestly not much effort – I was compiling a new version of my app when I
wrote it, and the last change I had done was the size of a button, because
people complained about it. So I happened to have all the documents open by
luck :)

------
dbcurtis
I'll show my age here, but back when I took AI, I wrote a (toy, homework-size)
expert system as a Hypercard stack. There is actually a lot to be said for
Hypercard as a framework for quick UIs.

------
cocktailpeanuts
why is this flagged?

------
dfex
Wow! This takes me back! HyperTalk was probably my second language after
Applesoft BASIC and boy did it seem powerful at the time.

Hypercard overall was just great at getting out of the way and letting you get
things done. Looking back, if Apple had realised how powerful networking was
back then, Hypercard may have morphed into the browser one day, but they
missed that boat.

I remember reading somewhere a while back that Hypercard plus some XCMDs were
used to control the lighting system in Petronas Towers in Kuala Lumpar...
actually here we go: [https://www.wired.com/2002/08/hypercard-forgotten-but-
not-go...](https://www.wired.com/2002/08/hypercard-forgotten-but-not-gone/)

------
drivingmenuts
Ironically, it does not work in Safari. :(

~~~
moltensyntax
It looks like Safari implements regular expressions slightly differently, and
it leads to the parser behaving differently. Hope to be addressed by the end
of the week.

~~~
ddingus
Irregular expressions

------
jackvalentine
I've always thought that OneNote would be better as some kind of
hypercardesque application. Everything I wish my notebook could do it kinda
does, but with very poor linking to data or calendars.

------
GRobLewis
As for the problem with languages like HyperTalk and AppleScript being read-
only, the solution isn't to change the syntax, it's -- wait for it -- AI! If
Google can figure out what you want from a spoken free-form inquiry, then a
smart interpreter should be able to figure out what you're trying to say in a
line of code, even if you don't get the syntax quite right. And if your code
is ambiguous, it can ask you confirm your intentions. Why haven't we seen more
of this?

------
freesort
This is my first experience with HyperCard and I love it!

------
tomcam
www.livecode.com is a cross platform updated Hypercard descendant. Their free
Community edition is GPL

~~~
moltensyntax
I liked Runtime Revolution. I wish the broader coding community would taken
environments like this more seriously, is the text editor sacred? I left the
platform before they added more mobile+online support, I'll have to see what
they have added recently.

~~~
icebraining
_is the text editor sacred?_

No, it's the worst form of development, except for all those other forms that
have been tried from time to time.

------
shaunxcode
this pleases me greatly. I hope the $1000 level is reached ASAP so it can
import existing stacks!

------
tomc1985
I would think "Hypercard Reimagined" would finally cast off the iron chains of
its black-and-white, ancient Mac UI heritage...

edit: to clarify, even back in the day those were the two things that I really
disliked about HyperCard. No color and no Windows

------
dredmorbius
Hypercard was the inspiration behind much of the early Web. In particular the
Viola browser suite.

[http://www.viola.org/viola/violaIntro.html](http://www.viola.org/viola/violaIntro.html)

------
zokier
Considering the enthusiasm at display here, I feel like this project would
deserve bit better demo video for people like me who do not really understand
HyperCard.

------
intrasight
I had a early Mac in 1984 (still have the damn thing - sentimentality).
Showing people Hypercard was often the thing that convinced them to purchase a
Mac.

------
MR4D
“Mobile and tablet are not yet supported”

Well, heck. Now I can’t even see what is causing so much commentary on the
memories of HyperCard.

------
Angostura
Ironically, doesn't support Safari :)

~~~
Cyberdog
Click the "Click here to continue anyway" button. Like most sites that
advertise that they don't work on Safari, it actually works just fine.

(Reminder: If you're doing browser feature detection via User-Agent string,
you seriously need to re-examine your life.)

------
SpikeDad
Kind of ironic they "don't support" Safari, the browser for macOS.

Seems to work anyways.

------
tc7
Aw man. So much nostalgia. <3

------
meatsock
this is great, but how do i hit option on an android to draw multiple?

~~~
moltensyntax
The UI was so mouse-centric that I haven't tried it much on mobile. If the
menus work ok on mobile, it might make sense for "draw multiple" to be
switched on in the menu like the way "draw wider lines" is now.

~~~
meatsock
minivmac does a good enough job of it on the android port, and the in-browser
mac emu at the archive too. looking forward to seeing where this project
leads.

------
jlebrech
there needs to be ways to jump into code without being bogged down with
installing compilers and tools and configuring minifiers and choosing
frameworks. just code straight away.

something that works for kids but also scales all the way into enterprise.

~~~
zokier
open about:blank, right click, inspect element, start hammering code into
console. You can still get pretty far with plain JS these days without
touching the quagmire that is modern webdev world.

Sure there are some other issues in picking JS, but it is both readily
available and (somewhat) scalable to "serious" projects.

~~~
jlebrech
nothing can compare to saving a .bas file on a floppy to learn how to code.

------
chris_wot
Why has this been flagged?

------
wruwew8uu9
Many happy memories. Can we make it full-screen please ?

~~~
moltensyntax
The closest I could get so far is to set the browser zoom to 200%, click in
the url bar, and hit F11. Looks pretty good in Chrome.

