|Strona główna | English|
(Uwaga: Ta strona jest dostępna tylko w języku angielskim. Jeśli uważasz, że powinna być przetłumaczona na polski, daj mi znać)
A sidebar to the article “Ten Years of Rows and Columns” published in Byte, issue 13/1989, pp. 326-328.
Birthing the Visible Calculator
BYTE’s first ad for a product called VisiCalc appeared in the September 1979 issue on page 51. The ad’s text compared the time and effort it took to plan, project, write, estimate, calculate, revise, erase, and recalculate figures using a calculator, pencil, and paper, versus carrying out these steps by computer.
BYTE: What kind of background did the two of you have before you started working on VisiCalc?
BRICKLIN: Bob and I met when I was an undergraduate at MIT and he was a graduate student. Both of us were working on the Multics project. Multics was an operating system, a derivative of which later became Unix. Bob had written BASIC for a computer called the MicroMind, and I had worked on a variety of things, such as the APL interpreter and some interactive calculators. From MIT, I went to Digital for three years and worked in computerized typesetting and word processing (screen-based text editing). I designed and wrote software, some of which later became DecMate word processing on the PDP 8, a very small machine.
BYTE: What was the motivation for your creation of VisiCalc?
BRICKLIN: After having worked a few years for a small New Hampshire company that made electronic cash registers based on microprocessors, I went to Harvard Business School. I had my calculator, ran my numbers at home at night, and when I made errors, daydreamed about “word processing” numbers so that I could recalculate them with a new assumption – say, 12 percent instead of 10 percent.
My image was based on a calculator with a mouse and a heads-up display like a fighter plane so you could see the numbers. I realized you could do it with a video screen (projection TV) and a mouse – some kind of a personal computer device. There weren’t many personal computers in those days, but I knew it could be done. I decided that when I got out of school, I’d develop this electronic blackboard for numbers and try to sell it.
BYTE: How did you implement the idea?
BRICKLIN: I told Bob about it. Though many of my Harvard Business School professors were encouraging, my finance professor was very discouraging. But we decided to go ahead with the project anyway. We rented an office in the basement of a Cambridge building and used timesharing at night while Ada was being developed on the same system during the day. Bob wrote all night and went to bed in the morning. I was still going to school, and after I got home in the afternoon, I debugged, did testing, quality assurance, and whatever. Then we bought ourselves our own timesharing system.
FRANKSTON: Eventually we had to write our own assembler and all our own tools. That slowed us down considerably.
BRICKLIN: Later in the cycle, when we began to think about marketing the product, we talked with Dan Fylstra [BYTE’s first new-products editor], who went to Harvard Business School at the same time I did. He had joined a firm called Personal Software, which at that time was the leading seller (and distributor) of personal computer software.
I wrote a prototype in BASIC, which I ran on Personal Software’s Apple II. That Apple didn’t have a mouse, but it did have paddles that you would turn to move the cursor from column to column. To change it to go from horizontal to vertical, you hit the fire button. Running in BASIC, it didn’t respond very well, so I changed it to use the arrow keys to go back and forth, and the space bar to switch you from horizontal and vertical.
BYTE: Where did the concept of an electronic spreadsheet come from?
FRANKSTON: The spreadsheet concept had been around for hundreds of years. Companies used two to three rooms of blackboards or rolls of paper to do their production planning as rows and columns.
BRICKLIN: I came up with the idea of using fixed rows and columns for addressing. I realized you would want numbers in certain places – the columns-and-rows metaphor was for addressing purposes – and I needed some way to name them. Letters for columns, and numbers for rows seemed to be the perfect way to do it. We wanted at least 54 columns – a label, a total, a column for each week – and as many rows as you could get away with in memory.
BYTE: How did you decide on the name VisiCalc?
FRANKSTON: You’ll notice that in our first ad in BYTE there’s no mention of the word spreadsheet. When we were coming up with the product name, we specifically avoided the use of the name.
BYTE: Why? Were you afraid you’d scare people?
FRANKSTON: Yeah, we called it all sorts of things – electronic ledger, electronic blackboard, visible calculator – that’s what we finally based the name, VisiCalc, on.
BYTE: How long did it take to write, develop, and get VisiCalc ready for market?
BRICKLIN: Bob and I sat down with Fylstra, negotiated a contract (as authors and publisher), and started a company (Software Arts) to actually make this product. Bob wrote it; I took care of the specifications and the documentation. Before we shipped, I graduated from business school and went to work as chairman of the board of Software Arts. The idea hatched in the spring of 1978; our commitment to produce a product with it came about in the summer; the prototype occurred in the fall (done in BASIC); the agreement to produce it was signed in the fall; the decision to do the company was made during the winter. We actually filed incorporation papers on January 2, 1979 (which is why January 2 is Day 1 of VisiCalc’s date functions).
BYTE: Why did you write it in machine language?
FRANKSTON: Basically, I write in the highest-level language I can get away with. And on the Apple II, given the severe constraints of size and space and the lack of tools, there was no alternative in a 16K-byte cassette (32K bytes included the operating system, the disk-file system, the screen memory, everything). It was a space/time trade-off. We needed the speed; we needed the code to be small, and it had to bit-twiddle like crazy. The alternative was a much larger machine. I didn’t write it in a low-level assembly language – we had macros.
BYTE: How did you decide what features to include and what to leave out? By the available memory?
FRANKSTON: We eliminated the need for almost all help or error messages. The program was meant to have context-sensitive interactive help and live graphics (we wanted the user to be able to split the screen and watch graphics at the same time), but there was no room. We did split the screen into two text windows and put in the titles. Our assumption was that you couldn’t burden the user with anything. If something was complicated, we fixed it. For instance, in the Apple II, you could accidentally hit the Reset key, so we had to let you recover from that. In our design, ease of use and smoothness were more important than ease of learning.
BRICKLIN: We did have competition – our competition was people doing their computations on the back of an envelope. VisiCalc had to be as easy the first time you did something with a spreadsheet as it was the first time by hand. Then the second time was quick. It wasn’t just a program we were making – we also had to create and typeset our own reference card and manual.
FRANKSTON: There was a reason why we did everything. We tried to reuse mechanisms. For example, we stored the spreadsheet on disk in keystroke format so we could use the keyboard reader to read it back in. We had to justify all the negatives.
BRICKLIN: That’s right. For example, we didn’t have commas because there was a bug, and it wasn’t worth fixing it then because we had to ship. On the other hand, we had hoped to put in sine and cosine. But because of memory constraints, we decided we wouldn’t include that feature. Unfortunately, we had mentioned it to Carl Helmers [BYTE’s founder], and he had used that feature as an example in a product preview in BYTE. So we had to put them in. It cost us memory. Another thing we did, unheard-of then, was to use sound. We had two different sounds – one for error indication and another one for a limit – such as if you’re moving the cursor and that’s as far as the cursor is allowed to go, it would make a “thud, thud, thud.”
FRANKSTON: Since walls aren’t made of metal, a thud sounded right when you hit a wall, whereas a bell sounded right when you make a mistake.
BRICKLIN: When we were just about to ship, Apple told us it had this new language board that could give us 16K bytes more memory. We put in a quick fix to use 10K bytes out of the total. VisiCalc came out October 17, 1979, at $99, and people paid hundreds of dollars for the board just for the extra 10K bytes of memory.
BYTE: What was the public’s reaction to this new “thing”? Did you have to educate them?
FRANKSTON: Nobody even knew what VisiCalc was.
BRICKLIN: It wasn’t just the public; first we had to educate the dealers. Personal Software put out a demo script that the dealers stuck in their windows and let run all day. In those days, if you showed it to a programmer, he’d say, “Well, that’s neat. Of course computers can do that – so what?” But if you showed it to a person who had to do financial work with real spreadsheets, he’d start shaking and say, “I spent all week doing that.” Then he’d shove his charge cards in your face.
BYTE: Is it true that people really bought systems just to get VisiCalc?
BRICKLIN: That’s what we’ve been told. A few dealers knew what they were doing and got their salespeople excited about it. Because of VisiCalc, one of the Burlington, Massachusetts, dealers became the most successful Apple dealer in the country at that time. Two of its salesmen ended up as two of the founders of Lotus (the original team that brought out 1-2-3). We only sold about 1000 a month for the first few months because we had to get the word out to the primary consumers, who were financial people. [Editor’s note: A total of over 800,000 copies were sold by May of 1985, when Lotus purchased Software Arts and ceased marketing VisiCalc]
BYTE: Where did it go from there? And where, when, and why did the data interchange format DIF come in?
BRICKLIN: We realized we needed to move data in and out-open up this product. There were restrictions in Apple DigiBASIC. We wanted to make [VisiCalc] easy to read and write so nobody would have an excuse for not supporting it. So in February 1980, Bob invented DIF. It wasn’t in the first version of VisiCalc. We wrote an article for BYTE explaining what DIF was. Eventually, there were four or five major versions of VisiCalc.
BYTE: But why you two? Why at that particular time? Why the spreadsheet?
FRANKSTON: Ask yourself why there are so many word processors and so few spreadsheets? The answer is because there were a lot more roots to word processing, and the spreadsheet put a heavier demand on the machine. The idea to implement financial forecasting by merging the spreadsheet with word processing in a commercial way hadn’t been done. A lot of people had played with different parts of what later would become the spreadsheet, and there were a lot of things in the labs. IBM had done parts of it, and other people had financial forecasting systems, but the idea of putting it together on a machine that you could take home and fiddle with yourself hadn’t been done.
BRICKLIN: When programmers who really knew what was happening saw Bob’s code, they would tell us, “This is incredible.” It really pushed the machine. Lotus 1-2-3 ran on a 256K-byte machine; VisiCalc ran on a 24K-byte machine, 32K bytes with disk. Each of them in its own world really pushed things and was very competitive.
BYTE: What do you see as today’s problems, and what’s coming that will change computing?
BRICKLIN: The things that turn me on are the new I/O devices – new physical configurations.
FRANKSTON: The big thing is the Nintendo [laughter]. The reason I’m saying that is – look at the idea of the DataGlove, virtual reality. A lot of this stuff is done only at the very high or very low end – either on a $100,000 machine or on a $100 machine.
BRICKLIN: The high-end machines were highly interactive. The midrange machines, such as the normal mainframes and minicomputers, weren’t very interactive. VisiCalc was the low-end machine that ran on an Apple. The low-end machines like the personal computers are highly interactive. You can run Space Invaders on them.
FRANKSTON: Computers are part of the woodwork now. You expect them to be there, and that’s a tremendous change. We’re still in a pre-coalescent stage. You’ve got all of these devices – a copier, a fax. They have to play together well. And that’s what hasn’t happened yet. Fax is like CB. It’ll go away by merging with electronic messaging. Fax became cellular phone. I can go both ways from E-mail to fax and back now, but in the long run, most faxes will originate in word processing directly from the computer, and they’ll look so much better. But now your computer is your database and your word processing and your fax machine and your telephone answering machine...
BYTE: It’ll have to become our central control.
BRICKLIN: I’m thinking of things like a 3- by 5-foot display. Multiple people can watch and interact at the same time. Some information is better shown in a bigger space. Why can’t my entire desktop be a screen? Gestures and reflexes are going to be big things. Innovative I/O... sound. Here’s a spreadsheet calculation that was all done on a Mac. [At this point, Bricklin turned on a synthesizer, which “played” the sound of a spreadsheet calculating, the memory running down, and the final computations.]
Why not sound and voice synthesis to give you positive feedback when you do something right? Why don’t we have animation? You could do a spreadsheet and see what happens to profits: When they go down, you could see a ball rolling down a hill and then it goes splat.
FRANKSTON: But they have to have commercial promise. Right now, we’re just learning how to share the machine. We’re really going back to timesharing – hopefully, not in a stingy way. And, hopefully, we’ve learned our lessons.
|Strona dodana 22 września 2004 roku.
Copyright © 2002-2005 Marcin Wichary
|Wersja do druku | Kontakt | Mapa serwisu|