Last year I set out to build a simple piece of software to let my daughter practice her “sight words” as she began to learn how to read. This was nothing fancy, just a program that flashed words for her to memorise on the screen.
I’m not an expert programmer by any means, but while this task wasn’t hard, it required some work and effort, not to mention the accreted experience of about 20 years of coding. But most people can’t do this kind of thing: there simply aren’t tools currently available for making lots of types of software without sophisticated computer programming.
It wasn’t always this way. At least on the Macintosh, there was a time when this was possible. In my own personal retelling of computer history, even though the Macintosh was released in 1984, its potential was not truly achieved until 1987. What really confirmed the earth-shattering nature of the Mac for me was that year’s release of a piece of software called HyperCard. This one-two punch of Macintosh and HyperCard changed how I thought about computers.
You might also like:
• Why there is so little left of the early internet
• The invented language that thrives online
• The machines that design by themselves
If you know about HyperCard, the mere mention of it will elicit a sense of delight at its crackling wonder. But if you’ve never heard of it, then allow me to enlighten you.
Bill Atkinson, its developer, described HyperCard as “an erector set for building applications.” Simply put, you could build your own software using HyperCard, with each program made up of “stacks” of “cards”. Each card could contain text and images, as well as interactive elements like buttons, with the ability to interconnect between other cards. Think of these stacks as rudimentary websites of sorts that exist entirely on a single machine, with each card as a page.
What could you do with these basic features? Pretty much anything you wanted. You could start small, storing and linking information, and slowly build from there. If you were an average user – read “non-programmer” – there was little barrier to building a piece of interactive software easily. You could easily add buttons, text, and images through menus and interactive graphical tools, and even provide a bit of code – courtesy of its friendly and readable HyperTalk programming language – to make these pieces all work together. Based on these basic components, you could make something as whimsical as an on-screen button that when pressed would show a picture.
It’s probably not ridiculously hyperbolic to say that it inspired an entire generation of future software developers to think computationally
But you could do a lot more than that. You could manage an inventory system, or even an entire company. You could build an interactive story, where each page of the story is a separate card and the pieces of the scenery are interactive and clickable. You could make educational software, with a stack full of interactive cards on information about outer space or Moby Dick or dinosaurs. You could build blockbuster computer games, like Myst, which was originally developed using HyperCard. And apparently, you could control the lights of a massive skyscraper: two of the tallest buildings in the world – the Petronas Towers in Kuala Lumpur – had parts of their lighting system controlled by HyperCard. HyperCard was even an inspiration for the world wide web, as well as one of the early web browsers.
Atkinson once described HyperCard as “an attempt to bridge the gap between the priesthood of programmers and the Macintosh mouse clickers”. But even more than that, HyperCard didn’t compromise between the easily usable and the creatively powerful. All of that was to be found within its computational power for creativity. To use a phrase from the computer scientist Seymour Papert, HyperCard embodied the concept of low floors and high ceilings: technologies that are easy to begin working with but still have lots of open-ended potential. It provided space for both the beginner and the expert.
HyperCard was a gateway to programming and was what first got me comfortable with the idea of coding. It’s probably not ridiculously hyperbolic to say that it inspired an entire generation of future software developers to think computationally. The developer of the original “wiki” software – the foundation for Wikipedia – was inspired by HyperCard. At least one of the current crop of Apple engineers also credit it for getting them into programming. And Samantha John, co-creator of children’s programming tool Hopscotch, says it inspired the software she’s helping to build.
Simply put, HyperCard was the fulfillment of the truly generative and creative power of the Macintosh.
However, computing has changed since HyperCard’s heyday in the 1990s (it stopped being updated in 1998 and stopped being sold by Apple in 2004). There is a gaping hole in the space of computing, and each of us should feel it deeply. As we go about our daily use of technology, each of us might recognise the need for not-yet-created small tools and applications. But because these are not the kind of things that would be showered with venture funding or become the next Facebook, no one will create them for us. They could help us do our jobs better or make our lives easier or more delightful – imagine being able to build the simple note-taking app you’ve always wanted – but because they are hard for non-programmers to create, we find ourselves forced to dismiss these desires as not available to us. But it needn’t be this way.
Currently, the “best” contemporary example of software that allows everyday users to avoid being passive end-users of computer programs is probably one you would never even think of in this context: Microsoft Excel. People who would never consider themselves programmers use this spreadsheet software program every day to build incredibly sophisticated models, crunch numbers in subtle ways, and much more. But we deserve a lot better than this.
And I think change is on its way. There is a growing subset of software that allows non-coders to build programs themselves, often described by its more technical name of end-user programming or the increasingly popular “no code” software.
There is Bubble, which bills itself as a way of visually building web applications. There’s Webflow, to easily make websites. There’s IFTTT and Zapier, for stitching together web tools and apps to automate processes. There’s Glitch, a platform for easily building, sharing and remixing web projects and applications, which, while daunting to the non-programmer, had the original name HyperDev, hinting at its likely inspiration. There’s even Scratch, aiming this kind of open-ended creation for children.
While much of this is either specialised or still not quite the low floor or high ceiling we might wish for, I’m beginning to detect hints of the promise of HyperCard. As Bonnie Nardi, anthropologist on the faculty of informatics at the University of California, Irvine and one of the early experts in end-user programming, notes, the legacy of HyperCard is the normalisation of end-user programming for ordinary users.
In a fantastic computer advertisement from the 1980s, the programming language Logo – co-created by Seymour Papert – billed itself thus: “Logo has often been described as a language for children. It is so, but in the same sense that English is a language for children, a sense that does not preclude its being also a language for poets, scientists, and philosophers.”
A powerful new software meta-tool and sandbox – one where you can play, rapidly prototype ideas, and learn about the world no matter whether you are a poet, a scientist, a philosopher, or a child – is something worth striving for.
It’s time to go out and recapture that HyperCard feeling.