In 1987, Apple created a program called HyperCard. If you haven’t heard of it, all you need to know is that tens of millions of end user programmers adopted it. HyperCard was the easiest and most popular end user programming environment ever created.
LiveCode is like a next generation version of HyperCard. It is used to create simple one-off apps and utilities to solve day-to-day problems. As a production-quality, natural language hypermedia environment, LiveCode runs on all major operating systems (Linux, Mac, and Windows) and can generate code for all major desktop platforms, as well as all major mobile platforms (Android, iOS). They even got it up and running on the Raspberry Pi recently.
I want LiveCode in my classroom. More importantly, I want the tool to be free, and to ship on every single copy of Ubuntu and Fedora that goes out the door. Countless millions of kids have access to computers, but the fact is, the programming environments they have access to are difficult from a teaching and learning perspective.
Find out more and help make it free at the LiveCode Kickstarter page.
The ghost of HyperCard's past
HyperCard was a pioneering hypermedia system, full stop. Running on the Apple ][ GS (16-bit, 246K RAM, 2.8MHz, an Arduino Mega will win on most benchmarks, for reference), HyperCard gave students and professionals alike the opportunity to build rich, interactive media applications, personal databases, and all manner of interactive, card-based systems.
HyperTalk, the programming language of HyperCard, was an object-oriented language with an English-like syntax. You could say things like:
put a copy of MattJadud in CryoStorage
And a copy of the MattJadud object would be made and inserted into the CryoStorage object. Year 3000, here I come!
The ghost of HyperCard's present
Today, you'd be hard pressed to use HyperCard. Despite being a powerful multimedia authoring system, it only runs on Apple's OS9, and even then, only under the open source SheepShaver PowerMac emulator. Although I have experience writing software, teaching computer science at the college level, and am incredibly good looking, I have to admit: setting up and maintaining a PowerPC emulator so I can use HyperCard sounds like work, and worse, it isn't something I can use for teaching. That is, I cannot use a stack like that for teaching my students introductory programming.
So, while HyperCard can live (kinda like a head in a jar), it isn't a piece of software I'm prepared to call alive.
The possibility of HyperCard's future
RunRev is a software house based in Edinburgh, Scotland. (A beautiful city, by the way.) They're looking to rearchitect and release their flagship product, LiveCode, as a free and open application. They launched a Kickstarter campaign to fund this effort, and are close, but not close enough, to clear the hurdle.
Now, you can moan about how you think they should just fund all the effort out of their own pocket, and you can wibble about whether or not all the platforms they're targeting are truly free and open, but here's the bottom line from a computing educator's point of view:
LiveCode is a far more capable and interesting programming environment than everything else out there. (OK, that's flamebait. Scratch is amazing.) I want this tool to be free, so every copy of Ubuntu out there can run LiveCode. Fedora, obviously, should beat them to the punch, and be shipping it in the next release. Every kid in every school around the world should have access to this.
Please don't try and tell me that IDLE is amazing, or that PyGame is great for teaching people how to program: I do it for a living. And don't waste your time telling me how Processing or the Arduino environments are the bee's knees: Java and C are extremely difficult languages to teach to first-time programmers. Scratch is the bomb, but it only takes you so far. LiveCode is an environment that students could graduate to, from Scratch, and go on to do some really amazing things.