When it comes to computers, bandwidth is a very important measure of how interactive the device is and thus is a direct indicator of how interesting the programmer or user will find the device. We humans are very information-hungry creatures, particularly when it comes to visual information. It takes a lot of bandwidth to attract and hold our interest. Think about the first, simplest Pong games, with the ball bouncing back and forth, with some primitive sound effects. Then think about something like Pac-Man, with animated characters in color and high resolution, moving fairly quickly in a rich visual environment. Finally, think about a television show and a wide-screen movie image. It’s pretty obvious that one’s interest increases as bandwidth increases.
Bill got hooked on the Apple’s bandwidth because it offered him something the mainframe computers he was using at Berkeley could not. Even though mainframes had vastly greater processing power than the first Apples, the way they communicated with the programmers was through a very low bandwidth device known as a terminal. Terminals allowed many people to share the services of a central computer—an arrangement known as time-sharing that was a revolutionary breakthrough in the early 1960s but that was old hat in computer terms by the late 1970s.
By entering commands on keyboards and receiving printouts through a typewriter-like device. Programmers on time-sharing systems could run their programs and see the results. But they couldn’t interact with the computer at the same communication rate that they used when they interacted with people. It’s very much like trying to carry on a conversation by means of a teletype machine. And so, since most programmers want to have a conversation with a computer, their hunger for high bandwidth is understandable.
The nice thing about the Apple that Bill saw that day in 1977 was not that it had huge computing power, but that the power it did have was immediately available to the person using the computer, and the information that mediated the human-computer interaction was visible through the graphic display on the screen. That’s what a personal computer is—a computer that is interactive enough, visible enough, and fast enough for one person to use. Bill was therefore so captivated by the Apple’s interactive capability that he immediately sat down and wrote a Pong -like game for the Apple—his first microcomputer program.
To the faculty and the other students at Berkeley’s computer science department, the Apple was an amusing toy, but certainly nothing for a sophisticated programmer to get serious about. Bill’s friend Andy Hertzfeld tried to declare personal computers as his academic subinterest, and everybody gave him a hard time about it. At the time, computer scientists, programmers, and the computer industry all saw them as smaller and far less powerful computers with bad or nonexistent software. To some extent, those were valid criticisms—but computer people, of all the different technological specialists, ought to have known how quickly crude prototypes can evolve into sophisticated devices.
Not too long after he left graduate school, Hertzfeld joined the Apple Corporation at a very early stage in that institution’s history and later became one of the most influential software people on the Macintosh team. Bill himself also worked for Apple at one time, but before that, while still a graduate student, he spent months just trying to buy an Apple at a discount. Computer science graduate students aren’t wealthy people, unless they moonlight as professional programmers. By Christmas of 1978, in his second year of graduate school, he finally went as deeply into debt as he had ever been in his life and bought his own Apple at full price.
“I remember putting the whole machine back in the boxes every night after I used it, just to keep it as new as possible,” he told me recently. It was an ironic reminiscence considering the tens of thousands of dollars’ worth of computer equipment and audio gear that surrounds him in his workplace-playroom now. All of the models of Apple computer are scattered around the room, although the one that appears to be used the most is the 1978 Apple II, now battered-looking and only partially operational. And there’s what appears to be a coin-operated video game machine in the corner. It turns out to be a customized programming device sent him by Williams Electronics, the coin-op giant, who evidently hoped that Bill could be persuaded to write some coinop games for them. (He couldn’t.)
BASIC was the only high-level language that was available when Bill got his first Apple, but he quickly realized that he couldn’t write anything interesting in BASIC. So he started writing in assembly language. With the speed and precision afforded by assembly language, Bill was able to approach a new level of high-resolution graphics—indeed, hi? programs became known for their “high-res” effects.
“In early 1979,” Bill remembers, “everyone was discovering the tricks of microcomputer programming through trial and error. I’d turn on my machine and start fooling around with different locations in the memory, trying to figure out how to put dots on the screen and move them around fast.”
Then, referring to Bob Bishop, the first person to sell a lot of Apple software and actually make a little money for his efforts, Bill said: “Nobody but Bob Bishop had ever written any high-res stuff. He was everyone’s hero.” “Everyone” consisted of the hard-core fanatic Apple programmers of that era. “When I first got my Apple, the first thing I did was to get a disk that had some Bob Bishop games.
“One of the games on the disk was called Bomber, a really famous game because it was in hi-res and had so much detailed animation. These tanks would go across the screen and you’d fly a bomber. When you released a bomb, it would make a parabolic curve as it fell, and if you made a hit the tank would blow up and pieces would fly up in the air and then settle to the ground. It was a whole new level of realism from bouncing square Pong balls around a screen.
“I wanted to make cartoons and games. That’s what I thought was really neat about these new little computers that you could plug into your television. I thought that computers by themselves were a lot less interesting than computers combined with other things—like entertainment or education or art. Despite my specialization in microcomputer programming, I’ve always been interested in a lot of different subjects. The Apple looked like a great vehicle for turning my programming abilities to a much wider range of applications than just science or business programming.”
And after a while, it also looked like a fun new way to pick up a few bucks on the side. At that time, Bill was making about $4000 a year as a teaching assistant—a stipend that paid for his tuition, but not much else. In the tradition of grad students everywhere, he was just getting by. Still, the prospect of making some money from his microcomputer dabbling wasn’t his major motivation. At first, the primary motivation was the raw challenge of exploring and conquering the unknown. There were entire libraries full of programs for the bigger, older, more serious computers, but virtually nothing available for the Apple. Bill simply enjoyed poking around in the machine’s memory and using assembly language programming to come up with new ways to move graphic objects around the screen.
“When I saw what you could do with a personal computer like the Apple, I was thrilled by the prospect of jamming on the computer, the way a jazz musician might jam on a piano. I've always been the kind of person who gets something kind of clunky working quickly, then spends more time fixing it and tuning it—as opposed to the type of person who breaks down the process into logical steps, then gets everything arranged mentally before trying to make it work. There are a lot of advantages to the more analytic mode, but I found that my seat-of-the-pants style was powerful and fast. Mostly, I found that it was the way I like to do things.”
Читать дальше