A couple of years after I got my first Mac, Apple introduced a really innovative tool called HyperCard, which made it possible for you to create programs without having to know how to program. There's really nothing like it today, and I think the Mac is lesser for it.
Back in the day
I'm lucky enough - or old enough, depending on your perspective - to remember (and have been a part) of the first wave of personal computer users who came up in the 1970s and 1980s. one thing that's changed in the intervening decades is that that the hobbyist has largely gone by the wayside. Now you're either a user or a full-fledged developer, and the gulf is wider than ever.
Let me rewind the clock back to the early 1980s, even before the Mac came out. Back then, you bought a computer, often connecting it to your television using an RF modulator, and then fired it up. The first thing that you'd see would be a flashing cursor on a command line. And that would be it.
Initially, you had to know how to program to get the computer to do anything. And early computers shipped with reams of documentation to explain how to use the BASIC programming language that most of them came with, or various aspects of how the device worked.
As a 12 year old in 1982 with my first personal computer, I copied BASIC code out of the back of computer hobbyist magazines and then tinkered with it. If it was a Colossal Cave-style text adventure, I'd write my own dialogue. If it was a simple Asteroid-style game, I'd tweak the colors of the rocks or their shape, just to see what would happen.
The commercial software market followed the introduction of personal computers almost immediately, making it possible for people to do things like balance a checkbook or play a game without having to know how to program. But even in those days, that flashing cursor offered a world of possibility to anyone with imagination and the impetus to get started.
HyperCard that would take this self-reliance concept even further: instead of having to know how to write commands and make sense of data strings and complicated programming operations, you could use a visual language to create applications which you could use or share with others. You could create something as mundane as a recipe book with relatively little effort; but with skill and knowledge you could create wonderful, complicated things (Myst, the legendary graphical adventure game, famously started life in HyperCard).
HyperCard inspired a generation of Mac users. Many would go on to become developers themselves, and some are still making Mac (and iOS) products today. It also informs the design language and concepts we see in modern-day products like Apple's own FileMaker Pro, which makes it possible to create complex and visually rich databases without knowing a thing about programming. HyperCard's own programming language, HyperTalk, would become a early template for many plain-language programming and scripting languages.
Sadly, Apple lost the thread with HyperCard some time in the 90s, though it would take until the mid-oughts before the company killed the product outright. And nothing since then has really taken its place. There have been commercial, open source and online efforts to duplicate or replace HyperCard's functionality, but nothing's stuck.
Why it's important
The first Mac operating system, and Microsoft's early attempts with Windows, represented an inflection point where the task of getting a computer to work became progressively more complicated, and that's continued over the last 30 years. As computers have gotten easier to use, they've also gotten markedly more difficult to program.
The net result is that we're creating generations who can use computers to do what they need them to do, but still a precious few who can actually get them to do those things in the first place. More people than ever use these devices, but tinkering with code just isn't a thing that most people do.
Don't get me wrong - I don't think most people should have to learn to code. The vast majority of us can get through our lives just fine without ever knowing anything about how the applications we use work, and that's just as it should be. What I regret is that it's gotten progressively harder to break into that field, if you do.
You can still tinker, but...
There are certainly tools out there to help people - especially kids - get started down the path of programming. MIT's Scratch is one such effort, for example. CodeAcademy is another. But the days of getting both the computer and the tools to create something from scratch are long gone. There's a big barrier to entry now.
One can argue that the "hobbyist" programmer is alive and well, represented by tens of thousands of applications in the App Store. The efforts of amateurs and tinkerers are all readily available to us now, made by people who have other full time jobs that may have nothing to do with programming at all.
But I posit that it's a lot more difficult to get started down that road than it used to be, and I lament that change. That flashing cursor - the implicit question of what to do next, and the world of possibility associated with it - isn't part of our collective computer experience anymore. Now you have to seek it out if you want to do it.
I'd love to see Apple bring that spirit of independence and creativity back to the Mac by developing tools that non-programmers can use to create really compelling and interesting experiences, without involving the structure and rigamarole enforced by a formal pipeline like Apple's current developer program. Do I think it'll happen? No. But I can dream.
What about you? Are you an old-school Mac user who remembers HyperCard as fondly as I do? Or is it good riddance to bad rubbish? Let me know what you think in the comments.