Guest blog post by Jay Michlin, circa 1987 (used with permission). A recounting of a presentation by Bill Atkinson at the Stanford Macintosh User Group (SMUG)
HyperCard. Bill Atkinson. The auditorium was packed and everyone stayed until the end.
What more need be said?
I considered stopping this month’s report right here, because the first paragraph already
tells volumes. But I never learned to quit while ahead, so here’s more. Specifically, I’m going to try to explain what HyperCard is, both as Bill described it and as I see it. As you’ll see, my perspective is somewhat different.
Bill said that HyperCard tries to make more of the power of a personal computer available to nonprogrammers. There’s plenty of goodness in using a computer for word processing, spreadsheets and other applications. But to unlock the real power, you have to program, and that’s very hard. HyperCard delivers a lot of the power of programming, but with minimal burden.
Or, you can look at the matter another way. Before HyperCard, the Mac had documents and applications. Documents contain information, but by themselves offer no opportunity for interaction with you. Applications offer interaction, but do not contain information. HyperCard stacks are in between, with a combination of both information and interaction inherent in them.
Or, you can think of HyperCard as a software erector set. It comes with a kit of tools, a set of instructions and lots of parts. Like an erector set, it has one more thing — examples. When you first get the set, you build copies of the ex amples. Then you change a few small details. Eventually you become comfortable with the tools and the parts and start using it fluidly to express your own, original ideas. In the same way, HyperCard comes with dozens of sample stacks. They’re not an afterthought. They’re an integral part of the product, intended to help you use it immediately and learn it quickly.
Here’s what I think. HyperCard is the latest in a long list of “languages” that seek to make
computers easy to program. The need is not new, the idea is not new and the solution is not new. What’s special about HyperCard is that it’s brilliantly executed. Biil obviously spent a lot of time thinking and learning about his task before, during and after sitting down to code.
Let me explain. For the early computers there were no such things as “canned” applications like word processors and spreadsheets. Everyone was a programmer. There was no choice. Then, in the 1960’s, timesharing was invented. The primary external feature that made timesharing different was that it supported users interacting with the computer at terminals.
But the users still had to program if they were to get the machine to do anything, As terminal access to timesharing became more widespread, especially on college campuses, everyone understood that programming was a barrier. So they invented BASIC.
Perhaps you thought that BASIC always was as it is today on personal computers. It wasn’t. It was expressly designed to help college students get over the programming barrier on early timesharing systems. It did that in a number of ways:
- It was interpretive. Users could type a command and get instant results printed on the terminal. It’s an elementary fact of life that we learn better if we have quick, useful feedback.
- It made simple things simple. To print something on the terminal, you said, “PRINT.” There was no need to tell the computer how to find the terminal or what the printing format was to be.
- It was small in that it had very few statements and options defined. Of course, that was partly because the computers and translators of the time would have struggled to give quick response on a complicated language. But even when more features were added, they remained in the background, invisible to novice users who don’t need them.
- It came with clear, obvious examples, either as part of a college course or in a manual. You learned to write BASIC by trying the examples. BASIC worked. It helped a generation of college students learn to use computers. Later, it was the primary offering on commercial timesharing systems from Tymshare and General Electric. And most recently, it helped launch the personal computer revolution. It wasn’t so long ago that to use a personal computer at all, you had to program.
Personal computers and their application software have grown sophisticated so fast that we easily forget that computers and programming go together. It’s tempting to say that to- day, in the modern era, programming is no longer needed. We all just go to Computer Ware and buy whatever package we need to make our machines do anything.
For many, perhaps that is true. But Bill Atkinson, and Apple are saying that you still need the opportunity to program to tap the underlying power of your computer. HyperCard will be the BASIC of the modern era, with possibly as profound an effect on the future as BASIC has had up to now.
Those are my words, not Bill’s. But I wouldn’t be surprised if he agreed.
* * * *
In case you missed the meeting, here are some details. Bill wasn’t there alone. Dan Winkler, who created HyperTalk, HyperCard’s internal scripting language, was also present. So was Danny Goodman, who wrote the book. Also Kristee Kreitman, who did the artwork (of which there is lots), Robin Shank, who helped do the testing, and Mike Holm, the Product Manager.
As an aside, this is an interesting illustration of the difference between a modern business enterprise and one from the last generation. A modern corporation values the natural benefits to all concerned when employees from all parts of the organization go out and meet customers. A more traditional corporation sends out only carefully prepared marketing teams.
Anyway, Bill demonstrated HyperCard and talked about the philosophy behind it. Then Dan told us about HyperTalk. He showed it to be a powerful, yet well-behaved language. Despite the fact that it underlies much of what goes on in HyperCerd, HyperTalk remains invisible be- hind the scenes if you don’t need or want to know about it.
Then Danny told us about two stacks he designed and is now selling commercially. The first, Business Class, presents a map of the world. Click anywhere and you can learn about language, currency, time zones, air travel and other important conditions. The second, Focal Point, is a very generalized and very interactive desk calendar and diary. Both are implemented as HyperCard stacks.
Incidentally, when you buy a HyperCard stack, you can copy and modify it the same way you can manipulate the example stacks that come with HyperCard itself. Apple’s whole approach is to make HyperCard a common tool, and stacks a common medium that people exchange and build on.
Finally, here are a few miscellancous points our guests made in response to questions.
HyperCard is roughly 360K of code, nearly ten times the sum of Bill’s original MacPaint and QuickDraw combined. HyperCard requires at least 1 MB or memory and the 128K ROMs. The team tried for 512K, but couldn’t make it.
The program contains some pioneering work Bill has done to compress bit maps. The com- pression feature brings two advantages. First, it minimizes disk space to store stacks. And second, it speeds response because the program has fewer bytes to move to and from disk. The feature typically achieves 10-to-1 compressions, with up to 30-to-1 not unusual.
Bill claims to be about two-thirds done with HyperCard. The product is now at a point “where you can build stacks and count on them still working five years from now…” The next features to be added are international features beginning in a month or two (Kanji will take longer) and CD-ROM support a bit later. Color is on the to-do list, but not at high priority.
The product’s current limits are 16 million cards and 500 MB total storage for a stack. And according to Bill, “If you run into those limits, we can change them together.”
Exit, to thunderous applause.