THE MACHINE THAT CHANGED THE WORLD - TAPES F192-F197 LARRY TESLER
Interviewer:
THE ONE THING I'M ASKING EVERYBODY LARRY IS WHAT THEIR FIRST RECOLLECTION OF THE COMPUTER WAS. WHAT WAS YOURS?
Tesler:
The first time that I was aware of a computer was in a, in I think it was the 1952 Presidential election, I was seven years old. And during the vote counting there was a little interlude where they talked about the ENIAC computer and I think it was the ENIAC..
Interviewer:
THE UNIVAC?
Tesler:
Was it the first UNIVAC? Yes. And they actually consulted the UNIVAC that was taking some sampling of some of the early returns trying to predict the results of the election and I was fascinated by that and thought of it as some very futuristic kind of technology that maybe some day would impact my life and I was very intrigued by it.
Interviewer:
YOU THOUGHT OF IT AS A GIANT BRAIN...?
Tesler:
I just really didn't understand how to conceive of it but that's what they were using the term giant brain.
Interviewer:
LATER WHEN YOU MET COMPUTERS AT COLLEGE AND STUFF THEY WERE LARGE MAINFRAMES...CAN YOU SORT OF BASICALLY DESCRIBE WHAT THE EXPERIENCE OF COMPUTING WOULD HAVE BEEN LIKE FOR MOST PEOPLE, LATE '50S, EARLY '60S.
Tesler:
The first time I actually ran into a real computer was about about 1960 when I was a senior in high school. And it was an IBM 650 in the basement of a lab at Columbia University and you walked into this medium sized room that was very noisy so the doors were closed and air conditioned and there was something about the size of eight refrigerators all glommed together, that was the computer and then around the room there were all kinds of other devices for dealing with punched cards and printing output, so on. And this was the term mainframe hadn't been invented yet this was really a single user computer, I wouldn't call it a personal computer because of the physical size and the cost but only one person at a time could actually use this machine. And it didn't remember anything from one usage to the next. There were no tapes, no disk drives you put your cards in and used the machine and then all the cards came out again and the next person came in and put their cards in. So it was really more like a laundromat for, for data, you know, one, one user at a time in a machine.
Interviewer:
I BELIEVE AROUND THAT TIME THE VERY IDEA OF SOFTWARE, THE WORD HADN'T BEEN INVENTED, SO WHAT DID IT MEAN TO BE A PROGRAMMER IN THOSE DAYS?
Tesler:
Well in those days programming meant working out a sequence of instructions to do some data processing usually, most programmers were doing either military types of applications calculating various trajectories for rockets or missiles or that kind of thing. Or they were doing business data processing, adding up bank balances and counting and so on. So programming was a matter of writing instructions that were very customized towards a particular application for a particular bank or a particular study within...within an aircraft company, that kind of thing. And so...ah, the term software had not yet been invented and but it was around that time that the that programming became more of a profession and something that people would actually study in school something they'd become they would do as a profession as opposed to just something that a mathematician or a data processing expert would learn how to do as part of their job, it became a separate occupation.
Interviewer:
AND OF COURSE THIS MACHINE, THIS COMPUTER WAS A REMARKABLY VERSATILE MACHINE, I MEAN PEOPLE HAD BARELY BEGUN TO SORT OF PROBE WHAT IT WAS CAPABLE OF WITH SOFTWARE. WHEN DID THAT DAWN ON YOU THAT REALLY THIS MACHINE COULD BE PROGRAMMED TO DO ALL KINDS OF THINGS FROM MAKING MUSIC TO PAINTING?
Tesler:
Well it didn't take long to realize that, that these machines could do anything and that was really realized by people in the field I think from the very beginning in the even in the '40s and in the '50s there were people dreaming of the kinds of systems we have today where there were ways of pointing at things on the screens and there were graphical user interfaces and, and that kind of thing. So that was imagined very early but it wasn't possible to do it because the, the technology hadn't advanced far enough yet. Within a year after I had learned to program I was already immersed at that time at Stanford around people that were talking about computers and music, computers and art and we were even doing at that time computer graphics programming, back in 1961. So it was pretty clear that computers could be used to simulate anything in the world in fact a lot of the work going on in computer science...dating even back before the first computers were running was in developing theories of computability what things, even though they were theoretically possible would take so long to compute that the universe isn't going to last long enough to compute that. The...with computing the only issue isn't whether so—something can be done, it's a question of how long it will take to do it and some things were just impractical to compute.
Interviewer:
WHAT THINGS NOW REGARDING THE HARDWARE HAD TO CHANGE FOR SOME OF THESE DREAMS TO BE REALIZED? DID THEY HAVE TO BECOME SMALLER, INTERACTIVE, WHAT DO YOU THINK ARE THE MAIN FEATURES, WHAT HAD TO CHANGE AS YOU SAW IT...?
Tesler:
Well it became very clear to us back in the '60s that as computers even at that time were getting more memory, higher speed, smaller physical size that that as that trend would continue over the years using integrated circuit which...were invented in the late '50s and using advanced memories and so on, that the trend was very clear that by some time in the late 1970s or 1980s computers would be very small some people were even predicting that they would be the size of a book by 1980. As it turned out it's taken more until about 1990 for that to happen. So were off by a few years. But it was really clear that it was just simply a matter of time before the size came down. It was also clear that the price was going to come down. All the trends in memory costs and computing costs were in a very rapidly declining direction. So people even back in the '60s were predicting that there would be consumer computers. I remember walking around a street in the '60s looking at a hardware store and thinking well someday next to that hardware store will be a software store because everybody would have a computer and everybody would be going out and buying software. And 15, 20 years later that's what happened and it was completely predictable.
Interviewer:
OF COURSE THERE WASN'T WHEN YOU STARTED THERE WASN'T REALLY MUCH OF A COMMERCIAL SOFTWARE INDUSTRY WAS THERE?
Tesler:
Well the commercial software industry back in the '60s was primarily custom software. You could go to a company and say I need a program written to do something and they would write a program for you. Now in fact I went into that business myself. So it became very clear to us in that business that you could write a program for one person and put it on the shelf, someone else would come in and ask for something fairly similar and you could customize it. Soon got...people got the idea of writing a generic program that would serve the needs of many people, that could be customized even by the user. For example, there were statistical packages that you could give to any statistician and the statistician without having to do any programming could calculate their own statistics for their own data and customize it fairly well or people that needed to do simulations. There were other people that got the idea of having programs that would let you edit text, most of the text to be edited in those days were computer programs but gradually people started editing text that had to do with prose and that led to what we call word processing today over a long period of time. So these things kind of evolved gradually and at the same time they...the notion of commercial software, packaged software grew but it really didn't take off until the late '70s when there suddenly were hundreds of thousands of personal computers out there.
Interviewer:
YES BUT I GUESS THAT MUST HAVE BEEN A PROBLEM IN THE '60S, THE MACHINE LIKE THE IBM 360 ITS VERY SUCCESS SEEMED TO BE A STEP BACK IN TERMS OF REALIZING THIS VISION.
Tesler:
In what way, what do you mean?
Interviewer:
WELL IN THAT IT WAS A LARGE MAINFRAME COMPUTER WHICH STILL HAD THE IDEA OF GROUP USAGE AS OPPOSED TO INDIVIDUAL USAGE. HOW DID YOU THINK, I MEAN I REMEMBER YOU TOLD ME A STORY THAT, WHEN YOU WERE AT STANFORD...
Tesler:
In the middle of the 1960s there were several forces diverging at one time and in some ways the current the current array of computers we have today, supercomputers, mainframe computers, minicomputers, personal computers had their origins back in the '60s. There were companies like IBM and Burroughs and Honeywell that were building these very large mainframe computers we call them today that were to be used by large organizations to do massive data processing and the main question with those machines was how much data could you push through the machine in one night so that the accounts would all be balanced by the morning. Then there were companies that were appealing more to the scientific research market and the telemetry market and so on like Digital Equipment that were focusing on smaller computers that were a lot less expensive and that there would be a lot more of and tended to be used by a single person or a small group and that led mostly to today's minicomputers although also those machines had a lot to do with the advent of personal computers. What it, what it took to do personal computers was the invention of the microprocessor in the '70s and that made it possible to have very, very small computers that were very, very affordable. The fourth type of computer was the supercomputer and that also originated in the '60s primarily at Control Data with machines that were even faster than mainframes. Their job wasn't just push masses of data through during the night, but to do very complex scientific calculations. And all those types of machines survive today but the one that was kind of the least important in the '60s, the personal machine which was something that very few people had, is today of course the majority of computing. So that's been a real switch.
Interviewer:
IN THE '60S BEFORE XEROX PARC WAS SET UP AND DO YOU REMEMBER SOME OF THE VISIONARIES THAT ACTUALLY HAD WORKING SYSTEMS WHICH SHOWED THE SHAPE OF THINGS TO COME. I'M THINKING OF PEOPLE LIKE IVAN SUTHERLAND AND DOUG ENGELBART. WHAT ROLE DID THEY HAVE IN ACTUALLY DEMONSTRATING WHAT COULD BE POSSIBLE VERY EARLY?
Tesler:
Many of the things that we see today in personal computers started a long time ago. If you go back, for example, to the '60s there was a computer designed by an engineer named Wes Clark called the Link that was really a personal machine. It cost something like 10 or 15,000 dollars in those days. It had very small tape drives, it had a small screen and it was used by one person at a time and it was affordable not by everybody like personal computer could be today, but affordable by scientists at least. And that's, that illustrated back in the early '60s what it could be like to have a personal computer. That machine affected the thinking of a lot of the people who later developed personal computers like Alan Kay and myself who both had access to that kind of machine. Then there was also a lot of software work going on. For example, Ivan Sutherland in 1963 developed Sketchpad which was an interactive graphics program where you could actually have an engineer draw on the screen with a pen a shape and then have the computer straighten out the edges and allow the engineer to scale the shape, to connect various shapes together and realized that there were connections between them and make them so they could turn together and so on. So he got the idea of demonstrating that. Unlike a paper sketchpad where once you drew it the best you could do was erase it and draw it again it was...it was possible using a computer to do a lot of very powerful manipulations on graphics that a person would input. And that system led through a series of steps to the graphics systems that we have today particularly in computer aided design for engineering. Another pioneer was Doug Engelbart who in the early '50s conceived of the idea of computers that would help people to to create and to collaborate and so on. It wasn't until the '60s that he was actually able to get enough technology together with the right people and the right software to actually start creating glimpses of the vision. And at that time what we would call a personal computer today was something like a $100,000 system put together by Engelbart and his people. So it was really just a research project and a demonstration of what some day could be. But during this project they invented the mouse they invented what we call hypertext today and collaboration among many people working together on a network and a lot of today's fundamental concepts of interactive computing and of and of easy to use computing originated in Engelbart's project.
Interviewer:
HOW WAS IT THAT YOU THINK THEN, THEY HAD THESE VISIONARY IDEAS, THEY HAD ONE OR TWO DEMONSTRATIONS OF THE THING, IT WAS CLEAR THE WAY HARDGROW(?) WAS GOING TO GO, WHAT WAS THE BEST WAY TO BRING IT ABOUT GIVEN THAT, I MEAN SUCH PROJECTS REQUIRE CONTINUOUS FUNDING OVER A LONG PERIOD OF TIME AND IN THE '60S THE DEFENSE DEPARTMENT DARPA HAD DONE THAT. YOU BECAME IN THE EARLY '70S WITH A BIG PROJECT, XEROX PARC. TELL ME A BIT ABOUT THAT.
Tesler:
Right around 1970 the chairman of Xerox, Peter McColough was reading forecasts that were even being made at that time of what was called the paperless society and the paperless office and where one day people would shuttle information through computer networks onto screens and push buttons and very little paper would ever get generated or produced or moved from one place to another. Well as someone who was the chairman of a company that built their entire fortune on, on copying large numbers of pieces of paper onto even larger numbers of pieces of paper he was understandably concerned about the paperless society and the paperless office, as to what this would to his business. So he decided that the best strategy for Xerox would be to get ahead of the problem instead of behind it and help create the paperless office and be the company that started and benefited from it. So to do that he decided to set up a research center and it was a very visionary thing to do, but as you can see he had a high motivation to do that because of these warnings he'd been hearing that paper was going away. So he created a lab and put in some outstanding recruiters and managers and they were very lucky to recruit a number of people who had a fairly similar vision as to where computing was going in terms of distributing processing over a lot of smaller computers using centralized services to be able to access data and high speed printers, making things easy to interact with and they were able to recruit people from Engelbart's group, from a lot of DARPA projects, from a lot of universities and a little bit from other companies that had this single shared vision and had a lot of time. The project was billed as something that could take ten years to result in any kind of product. And so these people had time to think about the way things ought to be instead of having to meet the usual industrial deadline of having to have a product out in two years or three years or four years. They had a lot more time to think about it and because of that this group was able to create a, a lot of the metaphors and approaches to computing that are standardized today. The Ethernet — [BACKGROUND DISCUSSION]
[END OF TAPE F192]
Interviewer:
YOU WERE SAYING THEY GOT A BRIGHT GROUP OF PEOPLE TOGETHER WHO HAD COMMON INTERESTS. HOW WOULD YOU DESCRIBE WHAT WERE YOU AFTER. ON THE ONE HAND, WHAT WAS XEROX AFTER AND ON THE ONE HAND WHAT WERE MOST OF THE PEOPLE WHO WERE THERE AFTER?
Tesler:
What Xerox was after was to create paperless office instead of falling victim to it. And they didn't know exactly what that meant but the term that the management came up with was the architecture of information. And so we were looking at all of that. Now one of the great ironies was that the very first technological success at Xerox was something called the laser printer and the laser printer of course generates more paper even than many copiers do. So Xerox kind of inadvertently ended up protecting their business in, in creating a wonderful new paper generator. But at the same time the rest of the architecture of information, the paperless part of it was being created. What, what the scientists at PARC realized was that in order to get information from one place to another we needed to have wires going from one place to another and that, and when people were working together in an office building we could have very high speed communications within the building, a lot higher speed than we could have say across the country and that most people communicated with other people in their own building, with printers in the same building and so on. And so the first thing we created after the laser printer was the what we called the local area network and that's that was called Ethernet which was one of the early inventions of PARC. Another thing we had to address that was very important was how people could deal with different media, with text and graphics and so on. And so we developed what's called a bitmap display which is the typical graphics display that you see on, on the more modern personal computers today and there needed to be a way for a person to point at things on the screen and again we used a mouse derived from the Engelbart idea. And in addition to that there needed to be a way of interacting with the computer and that turned out to be one of the more challenging problems and the term user interface was one that we used a lot to talk about how the user would interface or interact with the computer to make it very easy to use and natural to use and attract people to it so that they would be able and willing to do their work through a computer. Remember a computer at that time was thought of as something that was very forbidding, difficult, highly technological, you had to be a real expert and a doctorate to understand, you know, that was kind of the public image. And we somehow had to humanise computers and make them a common object that anyone could use. So that was another challenge.
Interviewer:
SO HOW DID YOU GO ABOUT THAT CHALLENGE? I MEAN SOME OF THE IDEAS DERIVED FROM ENGELBART'S WORK... [BACKGROUND DISCUSSION]... BUT WAS THE BASIC IDEA WAS TO USE SOFTWARE TO CREATE, YOU USED THE TERM USER ILLUSION TO CREATE AN IMPRESSION FOR THE USERS. I MEAN, I'M TRYING TO UNDERSTAND THIS, THAT THE REAL MACHINE IS PROBABLY TOO DIFFICULT FOR USERS TO UNDERSTAND SO WHAT ARE YOU DOING CREATING A SORT OF A VIRTUAL MACHINE, SOMETHING IN BETWEEN THE USER AND THE MACHINE? WHAT'S GOING ON WITH THE USER INTERFACE?
Tesler:
Well what a computer can do is simulate ...what a computer does is runs through a series of program steps that create something that is like something that goes on in the real world or in a mathematical model or, or whatever, so computers simulate. And what we realized was that we could create what some people called a user illusion something that appeared to be a world on a screen. One way to think about it if you play a video game there's an illusion of spaceships or of roads and cars or depending on the kind of game and the user who gets engrossed in the game...starts operating as if they're really working in the real world when, when in fact they're only working in this imaginary, simulated world created by the sequence of steps in the computer program. So...what we realized was that was could create an illusion for example of an office with folders and documents and file cabinets in the office and that instead of having the user learn complicated and unfamiliar technological terms like streams and resets and various other things that people had to do before using computers, that we could use the metaphor of the office for example and talk about opening files and closing files and editing documents and other terms that were much more familiar to people and actually support...those, that terminology by using graphics to depict these types of objects. That was kind of the tack that we took.
Interviewer:
YOU TESTED THESE THINGS ON PEOPLE...I REMEMBER YOU TELLING ME YOU WERE INITIALLY SKEPTICAL OF THE MOUSE...
Tesler:
Well there was, the the Engelbart work in the '60s was very, was pioneering in the functionality that it provided but all the people using this system were people connected with the project and so they learned to use the system as they built it, they taught their coworkers who came to work with them and so on and what they discovered was that it would take sometimes months to become really expert with the system. And they considered this inevitable but worth the trouble. And when the Xerox salesmen started looking at these systems in the early '70s, they said I don't think we could sell these to people, they'll take too long to learn. And so I and some others decided that an important goal would be to find a way to reduce the learning time tremendously. And I thought one of the problems was that there was the mouse device and it was another device to learn and if we could eliminate that device, that would make it easier for people to learn. So I set up what we call user tests and I brought in people to try using the mouse and also try using the keyboard, to use a very, very simple text editor. And what I was attempting to prove was that these, these devices like the mouse were an in—were an encumbrance and, and an impediment. And what I proved instead was that the mouse was actually a great benefit and that people were not only able to work more quickly using the mouse, they were able to learn more quickly and they, they preferred using the mouse to using keys on the keyboard. This was a great surprise to me and also taught me a lesson that when you design a system for users to use, for general people to use, other than their designers, that the only way to find out what's really easy is to actually test the system with users and involve users in the design of the system. And we used that methodology throughout the development of our user interfaces at PARC and we used those also at Apple and it really does work.
Interviewer:
NOW THE PERSON WHO PUT TOGETHER THIS TEAM OF PEOPLE WAS BOB TAYLOR, ROBERT TAYLOR… WAS IT A PRETTY REMARKABLE GROUP IN THE HISTORY OF COMPUTING, DO YOU THINK OF THAT AS A SORT OF GOLDEN PERIOD OR ONE OF THE GOLDEN PERIODS FOR PEOPLE TO GATHER TOGETHER?”
Tesler:
Hmm...well actually there were, it wasn't Bob Taylor that put together the whole group but —
Interviewer:
HE WAS THE MAIN RECRUITER RIGHT?
Tesler:
Ah he — well there were, Xerox PARC had several laboratories and [INT. VOICE] in the computer science laboratory where they were studying distributed computing primarily Bob Taylor recruited the staff for that. And this was the group of really eminent computer scientists who were working on very difficult problems like how a number of people working together could share a collection of, of information and access it simultaneously without one person's access to it tripping over somebody else's access to it. There was another group called the System Science Laboratory that was run by various different managers and, who did the recruiting, and there we were more concerned with issues like the user interface and how to make things extremely personal and easy for anybody to utilize. Alan Kay really was I think the primary figure in that group throughout the decade of the '80s and didn't recruit all the talent but kind of assembled it and drove a lot of the advanced work in the area...as well as a number of others.
Interviewer:
BOTH OF THOSE LABS YOU MENTIONED COLLABORATED TO PRODUCE THIS PROTOTYPE THE ALTO RIGHT?
Tesler:
Yes.
Interviewer:
AND THE ALTO WAS PRODUCED IN 1973 I THINK AND THEN OTHER MODELS CAME OUT, NOW, HOW HAD THE ALTO SORT OF ACHIEVED OR CRACKED MANY OF THE PROBLEMS… COMPARE THE ALTO WITH THE FAMILIAR MACINTOSH DISPLAYS WE HAVE NOW, HAD THEY SOLVED MANY OF THE PROBLEMS BY THAT TIME?
Tesler:
Okay yeah, the Alto was developed around 1973 by a collaboration of the labs. And the important things about the Alto were that it was relatively inexpensive maybe $15,000 or $20,000, too expensive to be a commercial personal computer, but inexpensive enough that we could convince the management that everybody at Xerox PARC should have one. And in fact over the years, thousands of Altos were built and put around the company. Another thing important about the Alto was that it had a high resolution bit-map display. It would today what we'd call a portrait display, a full page size and because of the high resolution we were able to do very impressive graphics on it as well as have text that instead of being all capital letters of a certain size were proportionately spaced like you'd see in a book. And we could essentially create a very good image of a book page with graphics and text in whatever typefaces you liked on the Alto screen. The other thing about the Alto was that it was fast enough that we could devote a lot of the power of the computer to supporting an easy interaction with the user. And given the other devices like the mouse that were on it it created a very good test bed for the ideas that we see today in what are called graphical user interface machines and that a lot of people are familiar with using machines like the Macintosh.
Interviewer:
WHEN YOU DEVELOPED THIS TECHNOLOGY AND WERE YOU AND SOME OF YOUR COLLEAGUES ANXIOUS TO GET IT OUT INTO THE WORLD, YOU TRIED QUITE HARD TO CONVINCE XEROX TO USE IT?
Tesler:
Oh right. The reason that most of us went to work there was that we felt that this would be an opportunity to bring computing to everyone and we were there on a miss—with missionary zeal to get this thing done. And we were very impressed that a company as big and powerful as Xerox had the vision to do this and we were confident that they would take this out into the market with their enormous sales force and sell it. As it turned out right around the time that the technology was ripe about 1980 Xerox ran two issues in their, in their mainstream copier business where they were getting a tremendous amount of competition from particularly Japanese copier makers and they decided they had to focus all their energy on protecting their mainstream business and they really couldn't invest in bringing technology to market, which was unfortunate because at that time the technology was ripe. And so what happened was all the little startup personal computer companies brought the technology to market instead because Xerox really couldn't afford to distract themselves from their main problem at the time.
Interviewer:
TALK ABOUT THOSE STARTUP COMPANIES FROM ABOUT 1975...THE HOBBYIST MACHINES STARTED APPEARING, WHAT WAS THE REACTION OF PARC TO THESE MACHINES?
Tesler:
When the first, I remember when the first well known hobby machine appeared, that was the Altair, it got a lot of publicity and there was a, a van that drove around the country showing it off. Some of us went down to the local hotel to get a look and I found it fascinating because here was something that we said would become a phenomenon in the 1980s and it was only 1975 and there was already a little bit of it happening. But when it came down to it, we ended up ridiculing it because the user had to assemble the machine — himself and we thought well how many people will sit there and put the machine together by himself. And it was...not a very powerful computer (compared to the Alto, it didn't have a bitmap display, it had a very tiny amount of memory relative to the Alto,) it was not all that inexpensive and there was really no software for it. So we thought it was kind of an interesting curiosity but it did start hint that maybe we weren't the only people understanding that personal computing was going to happen. And sure enough over the next few years the machines got sophisticated very, very quickly, they developed bitmap displays, they, they got easier to use, they got more memory and soon they were being sold as fully assembled machines, software built in, software you could buy in stores. And so by 1980 when we were thinking we would have brought to the market these very powerful personal computers, we couldn't do it yet and already there was this other wave that came from hobby computing that had actually succeeded in bringing personal computing to the market.
Interviewer:
WERE YOU SURPRISED AT THE DEMAND... THAT SO MANY PEOPLE WOULD WANT TO BUY ONE OF THESE MACHINES?
Tesler:
I wasn't surprised at all personally. I think a lot of — [TECH. DISCUSSION]
Interviewer:
WERE YOU SURPRISED ABOUT IT?
Tesler:
I wasn't personally surprised. I think a lot of other people were surprised that there was interested in these machines that were so flimsy but I had myself started a rumor on that IBM 650 which had about the same amount of memory as these little personal computers and I knew from my old experience that there was quite a lot you could do with a very, very small computer. In fact when I had that 650 I was only allowed to use it a half an hour a week. And as a 16 year old I always dreamed that if I could have one of these at home and I could use it any time I wanted to, it would be quite an amazing thing. And it became clear that there were thousands of other people that had that same feeling and a lot of personal computers got sold in those days.
Interviewer:
SO XEROX FOUND ITSELF IN A BIND, REALLY. THEY SUPPORTED THIS GREAT WORK BUT THEN THIS HOBBYIST MACHINE STARTED. CAN YOU TELL ME ABOUT THE WAY THEY WERE PLANNING TO HEDGE THEIR BETS- THE CONNECTION WITH APPLE AND HOW IT CAME THAT STEVE JOBS VISITED XEROX PARC?
Tesler:
Well Xerox put together an investment group to invest in companies that they thought could help be well, start over. Xerox started an investment group to invest in small growing companies that had businesses that could somehow complement or feed into Xerox. And one of the first companies that they chose to invest in was Apple Computer. And the attraction of Apple was that Apple was able to manufacture in large quantities these very inexpensive machines relative to what Xerox was used to. Xerox really had been used to manufacturing a medium volume of very expensive and large, electromechanical devices, copiers and the idea of manufacturing with these very small, high volume, fully electronic machines was something they had no experience in and here was this little startup company that was pouring them out by the hundreds of thousands. So Xerox got very interested in that and made an investment. They then got the idea that maybe Apple could be the company that could manufacture the new computers we were developing at PARC at a, a lot less cost than Xerox could do it. And so they invited Steve Jobs and some of his people to come take a look and see whether that was possible. And that's how that contact started.
Interviewer:
YOU SHOWED, YOU WERE ONE OF THE PEOPLE WHO SHOWED STEVE JOBS AROUND?
Tesler:
Yeah we had a number of people that demonstrated various technologies. Some of the people there were, were somewhat reluctant to do it for various reasons. For one thing this seemed to be a group of of not well educated kind of hobbyists who didn't really get personal computing and they were pushing these little plastic boxes with hardly any memory out there and couldn't possibly appreciate what we were doing. I was very excited because I already had bought a personal computer and I had friends who were working at Apple and I understood that that there was really something interesting going on here. So I was quite enthused about doing the demonstration.
Interviewer:
WHAT WAS STEVE JOBS REACTION? DID HE GET IT STRAIGHT AWAY?
Tesler:
Oh yeah. When Steve saw what we were doing he just got very excited and and he kept saying why hasn't Xerox commercialized this. And I think what revealed was that Xerox by putting all this technology into PARC and not really incorporating it into the mainstream of the company had not had not come through with kind of the follow through on the swing. They had done the great technology but they hadn't figured out any way to bring it into the market and there didn't even seem to be a great will to do that. While for Steve Jobs who was the entrepreneur, the commercializer, immediately he saw that these kinds of ideas could be very powerful and could bring personal computing to a much wider audience than he'd been able to do so for, with his Apple II.
Interviewer:
SHORTLY AFTER THAT VISIT A BIT OF AN EXODUS, YOU LEFT FAIRLY SHORTLY AFTERWARDS ALAN KAY, IS THAT RIGHT? THIS PERIOD WE'RE IN 1979, SORT OF STARTED THE BEGINNING OF THE END OF THE XEROX PARC GOLDEN AGE WHERE PEOPLE DRIFTED AWAY. IS THAT RIGHT?
Tesler:
During the '70s Xerox PARC had very low turnover a lot of people were hired in the mid '70s and it had a reputation of a place that you just went and stayed because it was an idyllic kind of place for a scientist. But around 1980 the industry was changing tremendously. There was a startup fever in the valley and personal computers were becoming very attractive and very possible and a lot of people at PARC started realizing that Xerox wasn't going to be able to pay attention to getting these products to market in the, in...in an adequate way. And those of us who were interested in the commercialization of it began to began to leave. So in the middle of 1980 a number of us left and in the following couple of years there was quite a, quite an exodus. But PARC replaced us all and still continues to thrive as a center of excellence in computer science. It's still quite a remarkable place.
Interviewer:
SEVERAL MACHINES CAME OUT IN THE EARLY '80S THAT XEROX PRODUCED THE STAR, APPLE PRODUCED THE LISA, BUT IT'S REALLY WITH THE MACINTOSH THAT THERE'S A SORT OF— THAT THE IDEAS REALLY GET PUBLIC ACCEPTANCE. WHY IS THAT? IS THAT A QUESTION OF COST, SIMPLICITY, WHAT?
Tesler:
Well there are many different factors first of all these were just basically different ideas that were generated by Engelbart and by Xerox PARC and so on. And...it's how you take the ideas and, and express them in a particular style that can make a lot of difference. So for example, the idea of having a camera with lenses on the front is a pretty simple one but there are lots of difference ways to put that together into a camera and there are lots of different stylings you can use, lots of different price points. So it's the same for computers. And the Macintosh project at Apple just happened to hit upon a very good combination of affordable cost, convenient size, a very friendly user interface that had a, an aesthetic appeal and also... was able to recruit a lot of software developers outside Apple to develop a lot of exciting applications for their machine. So it took all those things together to make the, to make it happen. And neither the Lisa or the Xerox Star or any of the other attempts at doing things of that...type in the early '80s were successful. The Macintosh was the first one that found the right combination of features. [BACKGROUND DISCUSSION]
Interviewer:
THE COMPUTER IS A FANTASTICALLY DIFFERENT PRODUCT, LOOKING PRODUCT TO THE ONE WHICH YOU STARTED, THERE ARE CHILDREN CAN USE THIS THING AND SO FORTH. THINKING ABOUT WHAT THE COMPUTER IS AND HOW IT'S CHANGED. I'VE GOT A FEW GENERAL QUESTIONS ABOUT THE ROLE THAT PROGRAMMING LANGUAGES BRING AND WHAT'S GOING ON. AT THE MOST BASIC LEVEL IF YOU HAD TO EXPLAIN TO SOMEBODY WHAT A COMPUTER, IS WOULD YOU ANSWER THAT?
Tesler:
A computer is a machine that follows instructions precisely is what I would say.
Interviewer:
NOW THE FIRST INSTRUCTIONS THAT WERE GIVEN TO THE MACHINE WERE TO DO WITH ARITHMETIC AND THEY WERE VERY CLOSELY RELATED TO HOW THE MACHINE WAS BUILT. IS THAT CORRECT?
Tesler:
Hm hmm. Originally the tedious work that and time consuming work the computers were designed to replace was calculating. Calculating was very error prone, and there was a lot of calculation required to do in the mid 20th century and especially in military applications. So computers were invented to do that and what people focused on were making the...the calculating as fast as possible and the computers were so small that there were very few instructions you could put in and so people would put in one instruction at a time...and they would be very what we call low level, primitive instructions like add this number to that number, store that number in this memory location and so on. We call this machine language, a very, very low level and for most people a very out of reach kind of complicated language because it takes so many instructions to get anything useful done.
Interviewer:
AND WHAT BROKE THAT WAS THAT IN THE '50S STARTED TO EMERGE THESE WHAT THEY CALL HIGHER LEVEL LANGUAGES. WHAT KIND OF LANGUAGES?
Tesler:
The idea of a higher level language was to have a language that was written more like what people were used to in their own field. So for example for scientists a language was developed called Fortran or Formula Translator where they could write mathematical formulas that looked a little bit like what they would write on a piece of paper to express a mathematical relationship. For business data processing programmers a language was invented call COBOL, Common Business Oriented Language, that was more English like and had a vocabulary that was similar to what people used when they talked about data processing. And so on. For different types of work, different programming language were invented so that the programmer didn't have to know anything about the individual machine instructions. It created kind of a layer between the programmer and the machine where they could express their program in a more familiar notation.
Interviewer:
AND THAT PROCESS HAS BEEN CONTINUING... BUT WHAT'S SORT OF GOING ON IS WITH A PROGRAMMING LANGUAGE YOU'RE CHANGING THE WAY WE THINK ABOUT THE MACHINE?
Tesler:
That's right. What a programming language does and what any user interface does to an interactive application is a very similar thing. It creates what we call a virtual machine, it creates an illusion that the machine you're working on is much simpler and much more oriented toward your problem than the real honest machine is, the actual physical machine which is very difficult to access, that we replace that level of access by one that's much simpler.
Interviewer:
THE ACT OF DOING THAT...A LOT OF COMPUTATION. IF WE TAKE THE MACINTOSH DESKTOP DISPLAY AND WE TAKE WHAT IS FOR A USER A VERY SIMPLE ACTION, SOMETHING LIKE OPENING A FILE, HOW COMPLEX MIGHT THAT BE FOR THE COMPUTER ITSELF IN TERMS OF NUMBERS OF OPERATIONS?
Tesler:
Okay. If if there's a file on the screen and the user says "open that file, I want to see inside it," that maybe takes half a second and the computer can do several million instructions in a second. So there's something like hundreds of thousands of machine level instructions that are, that are run just in order to open that file. Some operations take longer than that so most things a user does you can think of as taking tens of thousands of hundreds of thousands or even millions of instructions. And yet the user has to do a very simple thing, just click a couple of times with the mouse button and that causes all these instructions to be executed.
Interviewer:
AND SO THE SPEED AT WHICH THESE THINGS SWISH IS ABSOLUTELY CRITICAL, WE WOULDN'T BE HERE HAVING THIS CONVERSATION IF COMPUTERS COULDN'T BE MADE FAST PRESUMABLY?”
Tesler:
That's right. Speed is the, is one of the things that continues to advance in computing and has to in order make them easier and easier to use.
Interviewer:
SOFTWARE PROGRAMS TO PRODUCE THIS EASY COMPUTER TO USE, GET LONGER AND LONGER AND ONE OF THE THINGS WHICH I THINK QUITE INTERESTING IS HOW IS IT POSSIBLE FOR PROGRAMMERS TO KEEP TRACK OF PROGRAMS THAT GET HUNDREDS OF THOUSANDS OR MILLIONS OF LINES LONG.
Tesler:
That's really true. Some of the more interesting programs in the world are, have millions of instructions in them each of which was written by a programmer and you have to remember that these are high level instructions, each of those instructions generated sometimes five or ten or twenty machine language instructions. So these programs are enormous and high level languages help the programmer to keep track of them, but there are still millions of instructions. So we have what are called structuring or abstraction mechanisms. And what all that means is that there are ways of grouping things and giving them names so that a whole sequence of instructions for example can be given a name and talked about as a whole very much the same way for example that if we can, I can give you something called a Caesar salad and rather, that's a lot better than me saying how would you like a salad that's romaine lettuce with anchovies and and olives and so on and listing all the ingredients. I can give it a single name. So programmers use these kinds of nicknames and other mechanisms for helping them to manage the complexity.
Interviewer:
WHAT'S IT LIKE RUNNING A BIG SOFTWARE PROJECT, I MEAN IS THE METAPHOR LIKE ARCHITECTURE, I MEAN IN OTHER AREAS OF LIFE WHERE YOU'RE WORKING IN PHYSICAL MEDIA, THERE ARE INSIGHTS, BUT IF YOU'RE TRYING TO ORGANIZE A PROJECT WITH LOTS OF PEOPLE, ARE THERE DIFFICULTIES IN DIVIDING IT UP BETWEEN PEOPLE, ARE THERE SPECIAL THINGS ABOUT BUILDING LARGE SOFTWARE PROGRAMS THAT THE WORLD HAS NEVER HAD TO LEAD BEFORE? I THINK MITCH KAPOR’S DESCRIPTION OF A BUILDING AS A LARGE SOFTWARE PROGRAM WAS GOING TO... [UNINTELLIGIBLE]
Tesler:
In many ways when programs get very large, one person can't do them, you have to have many people working on them, three or five for most types of things but sometimes hundreds of people working on a program. And the coordination among all the people becomes an impossible task. So a lot of procedures get set—set up about how people work together and how work is delegated. But some of the more difficult problems are detecting problems. If there's a bug in or an error in one part of the program, figuring out whose part of the program that was and how that may have interacted with some other person's program can become a very, very complicated task. People who have managed both programming projects, software projects and also other types of projects that involve a lot of people tend to agree that software has its own special problems and is one of the most complex types of projects to manage, to schedule and so on. It, it's really quite an endeavor. A lot of research has gone on in how to deal with that complexity and make it easier, but there's still a lot more work that needs to be done.
Interviewer:
AND ONE OF THE THINGS THAT SOME PEOPLE WORRY ABOUT IS THE QUESTION OF SOFTWARE RELIABILITY WHEN YOU GET INTO SUCH MILLIONS OF EMOTICA (?) ESPECIALLY AS WE THINK WE'RE GOING INTO A NETWORK FOR THE WORLD. WHAT STRATEGIES HAVE PEOPLE GOT FOR COPING WITH THIS BECAUSE THIS...?
Tesler:
When programs get very, very large an old strategy that was developed was something called modules, modularity. You break up the computer, the computer program into separate units called modules each of which has a specification that's very well defined and how it interacts with other modules, with the user and so on is all very well defined. So now the, the system designer can step back and think about an easier problem which is modules are needed and how will they interact. Once that's set then an individual group can go off and think about the work on...on the separate modules. One advance that got invented in the '60s but has only gotten really popular in the last few years is called Object Oriented Programming. And the idea here is that these modules contain not only pieces of program but also contain the data the program operates on. And this gives the ability for the, the system designer to not only partition the, the instructions of the program into independent modules but also to partition the data and keep the data close to the program. It makes it easier to design the system, it also makes it easier for the implementer of the modules to implement their part without being so concerned about how it interacts with with other objects or modules in the system.
Interviewer:
GIVE ME AN EXAMPLE OF WHAT AN OBJECT MIGHT BE...?
Tesler:
Well an object can be kind of anything that you can give a name to that has information about it and things that it can do or things that can be done to it. So for example in an interactive computer screen the windows are objects. If there's a table of numbers, the table's an object. Each entry in the table is also an object. If there is a menu that you can choose from, the menu's an object and each item in the menu is an object. If the computer program is about bank accounts, then each bank account is an object, each customer is an object, each bank that you exchange money with your bank is an object and so on. So just about anything that's a noun that you can think of, any thing that you can interact with is an object.
Interviewer:
AND YOU THINK IS A VERY GOOD WAY OF THINKING ABOUT THESE PROBLEMS SO THAT IF SOMETHING GOES WRONG, WE CAN DIAGNOSE IT IN TERMS OF THE OBJECT?
Tesler:
Right. Now, so for example if something was wrong with all the bank balances of checking accounts then the programmer will know that the problem is probably in the checking account object, and there's nothing wrong with the savings accounts, he won't look in the savings account object he won't look in the in the customer object or in the bank object. So it helps the, the programmer to focus their attention on solving the problem by looking in the object that obviously is exhibiting the problem.
Interviewer:
AND LARRY, YOU'VE SEEN TREMENDOUS CHANGE IN THE USE OF COMPUTERS AND THE FRIENDLYNESS AND SO FORTH. WHAT DO YOU STILL THINK REMAINS TO BE DONE AND WHAT CAN WE LOOK FORWARD TO IN THE NEXT DECADE?”
Tesler:
Well there are people that think that the industry has matured and that the directions of computing have been set and that the types of machines and user interfaces we see today are, are it. Kind of like televisions have loo pretty much the same for 50 years or so they just have gotten cheaper and colorful. And cars have looked pretty much the same now for 70 years. But I and many other people think that computing is really in its infancy and what we think of as a computer today is nothing like what a computer will be like in the future. So in the future, rather than computers being objects that are, that tend to set on a desk or that can be lugged around in your car when you go from one appointment to another, computers will just continue to keep getting smaller and smaller. There will also be big ones of course but the most common computers will be ones that are very small that you can take around with you. And instead of interacting with them with keyboards and mice you might write on them with a pen, you might talk to them and have them understand what you're saying. There may even be other ways, people came up— come up with for interacting with a computer. Also the computer will become more aware of the environment, right now your computer only knows what you tell it. Computers today are begin...beginning to get sensors in them like robots where they can be aware of temperature, they can have vision and see what's around them and, in the room. So for example your computer could see you coming and tell you without you even asking for it that there's an important message waiting for you. On the other hand, it could see a thief coming and recognize that it's being picked up by someone who's not its owner and...sound alarms. So I think that our general notion of a computer today as being a box on a desk, that you tell it to do things is going to continue to evolve and computers in the future will really be very little like they are today.
Interviewer:
NOW THERE ARE TWO REASONS WHY THIS SEEMS TO BE SPECIAL TO TECHNOLOGY. ONE IS THE FACT...AS YOU SAY OTHER TECHNOLOGIES MATURE AND SEEM TO SORT OF STABILIZE RIGHT, BUT THIS IS DIFFERENT. ON THE ONE HAND THE SIZE OF IT CAN GET SMALLER WHICH MAKES IT POSSIBLE, BUT ON THE OTHER HAND IT'S MORE MALLEABLE THAN ANYTHING ELSE, THERE'S NOTHING THAT WE'VE EVER INVENTED BEFORE WHICH HAS THIS PROPERTY.
Tesler:
Probably the closest things to computing, just to get an idea of how malleable it is, would be paper and clay. Clay can be molded in all sorts of shapes. And if you think about not just bowls that you can make out of clay, but all the different materials in society that are made out of...ceramics, just an incredible variety, different physical properties and different sizes and shapes and uses. I think it's a good metaphor because it shows how you can mold it. But...ceramics have not much to do with information. So the other analogy I like to use is paper, where paper can be used for anything from building screens to give you privacy when you're changing your clothes to filters for coffee to places to draw and sketch with charcoal, paint, pencil, pen and as well as to write, print and so on. So this very simple idea of a sheet of thin fiber has got an ever expanding number of uses and applications and forms —
Interviewer:
SO IT'S A MEDIUM?
Tesler:
Yes. And so computers have become really another medium.
[END OF TAPE]
Interviewer:
...I MEAN ARE YOU SAYING THE COMPUTER REALLY, THE BEST WAY TO THINK OF IT IS AS A MEDIUM, A DYNAMIC MEDIUM...?
Tesler:
Yeah the...the computer is a medium but it's one that can change. Instead of something like film or tape or paper where once the information is on it the value of it is that it's fixed. In a computer it has the ability to transform the information and change it either by instructions in a program or by the user interacting with it. So it's I don't see how that can have any end. And the other thing is, the important thing about a computer isn't the physical device, that is the computer, it's really the software that's in the computer that makes it be alive essentially. And the computer itself can take up many forms from room filling devices to things that are so small that they'll fit in a watch or eventually things that would be able to be implanted in your ear or something like that. So it isn't the physical device that's as really important as, as the software in it.
Interviewer:
BUT YET HUMAN BEINGS TEND TO, SO FAR, IN THE HISTORY, THEY'VE TAKEN THEIR IMAGE FROM THE PHYSICAL DEVICE AND JUST LIKE IN THE PAST THEY THOUGHT OF THEM AS BIG ROOM SIZED DEVICES. NOW WE'RE RATHER WEDDED TO THE DESKTOP THING. WHAT DO YOU THINK ABOUT THE NETWORKING IMPLICATIONS AND SO FAR OF THE WORK YOU DID AT XEROX PARC, THE NETWORKING SIDE AND WHILE IT'S TAKEN OFF A BIT IN BUSINESS, IT'S STILL GOT A LONG WAY TO GO, DO YOU SEE THAT AS BEING REALLY BIG IN THE NEXT DECADE?
Tesler:
Yes. What's going on right now in the communications industry, in the telecommunications industry is that fiber optic networks and satellites are being installed everywhere and making it possible for huge amounts of data to be transmitted from one place to another. What this means to people using computers is that they can instantly access information somewhere else. We're seeing a little bit of that phenomenon just with the popularity of Fax machines in business where people realize that it's quicker and cheaper to get a letter from one place to another by facsimile than by putting it in an envelope and physically transporting it. So the same is true of data in a computer. And already banking transactions worldwide are done electronically, I money doesn't move across borders anymore in trucks and airplanes, it's just information sent through wires, adding to an account here and subtracting from an account there. Eventually this same power will be commonly used by individuals. Instead of going to a library you'll be able to access the information you would have gotten in a library right from y—your study at home through your computer. Or in fact once computers are mobile and portable and communicate without wires, you'll be able to get...get that library information from anywhere, wherever you happen to be walking.
Interviewer:
AND THAT'S THE BIG CHANGE THAT'S GOING TO COME, THAT THE IMAGE OF A COMPUTER WHEN THINK OF CHANGE IF WE LOOK FORWARD 10, 20 YEARS IT WILL BE THE MOBILE, MUCH SMALLER DEVICE, THAT WILL HAVE THIS NETWORK QUALITY ABOUT IT?
Tesler:
Right. The computer will be something that you take with you instead of leaving behind at your desk and it'll be something with which you can communicate with other...with other computers, with other people and access information anywhere that it is. I think that's one of the things that are, is exciting about where computers will be going.; But it's only one, there are, there are so many exciting directions that computing is growing in, it's hard to pick out one as being the most important.
Interviewer:
ARE THERE ANY OTHERS...?
Tesler:
I think the fact that computers will be able to sense their environment and recognize objects in their environment and that computers will be able to act as the agent and assistant to the user and do things without being told to do them but just knowing, in a sense knowing, not the way people know, in a more limited way that computers can know, knowing what the person wants and needs and being able to do things on the person's behalf. I think those are also extremely important directions that computing is going.
Interviewer:
LAST QUESTION LARRY. IN YOUR EXPERIENCE IN COMPUTERS WHAT SURPRISED YOU THE MOST ABOUT THE WAY THINGS HAVE DEVELOPED, IF ANYTHING HAS?
Tesler:
Well I don't know if I'm much surprised by anything.
Interviewer:
[LAUGHING]
Tesler:
Okay ah. Let's see. I think the most surprising thing to me about how computers have evolved isn't about the computers, but about people's expectations. At any given time there are people who are predicting different rates of speed of evolution of the technology and usually most people are wrong. It's very difficult to predict based on the past and the present what will be happening in the future. So all the predictions that I've made today are very unlikely to be correct based on the track of our industry. And I think that's the most surprising, is the unpredictability of where it's going to go.
Interviewer:
...VERY TRUE. [MISC. DISCUSSION] [TAPE CUT] [CAMERA SHOTS?]
OKAY THIS IS THE BEGINNER'S GUIDE TO PROGRAMMING, WHAT POPPED UP ON THE SCREEN?
Tesler:
Well on the screen here we have a system that's used for program called Logo, Logo is the name of the programming language and there are two windows on the screen for this demonstration. One is called the listener and it lets me type program statements and run them. And in this other window is where I'll show the effect of the program which is to draw graphics. Now let me illustrate. If I type command HOME here then this little symbol which is called the bunny it's supposed a, a little bunny that's pointing — [INTERRUPTION] [TECH. DISCUSSION] [LT AT KEYBOARD, CLICKING SOUNDS THROUGHOUT]
Interviewer:
SO THIS IS THE BEGINNER'S GUIDE TO PROGRAMMING, TELL ME WHAT...
Tesler:
What we have here is a programming system called Logo. In this window I'll type program statements and run them and in this window we'll see the effect of running them which will be to draw graphics on the, on the screen inside that window. For example, if I type the Home command it will draw a line from here to here. What's going on is that this whole triangle which is called the bunny because Logo was designed for children to learn programming the bunny will run up to this certain spot called the home spot and point up. Now if I type the command Clear Screen, then everything will be erased except the bunny. Now notice the bunny's pointed up. If I left 90, then the bunny will turn left 90 degrees and face that way. If I now say forward 120, the bunny will move a certain direction to the left and leave a trail of ink. I can say now say left 144, it'll turn at a very steep angle, a very tight turn now, and say foreword 50 it will draw a line. So as you see I can use programs to draw lines. Now let me go to a place where I've already typed in a program to avoid all this typing and we see there that I've already put in the statements to go home and clear the screen and I can say run here and the bunny will go back home. Now I can make it turn left 144 degrees and go forward 100 and it draws a line and I can tell it to do that again, it'll draw another line, and now I can tell it to do it three more times and what will happen? One, two, three, it draws three more sides of a star. So using this program I can draw a star. But if I want to draw another star, I've got to run all these statements again. What I'd like to be able to do is give a name to this set of instructions and call it star. To do that I write what's called a procedure. Here's a procedure, this procedure tells Logo how to draw a star and the statements are the same ones we've seen before, these ten statements. So let me teach Logo how to draw a star and now after going home and clearing the screen, I can just simply say star, whoop, here we go, and it'll draw a star. I could now make the bunny turn right 90 degrees and draw another star and now we'll get a second star. So the advantage of having this procedure called star is that I can use it to draw a lot of stars instead of having to run ten statements every time I want to draw a star. [MISC. DISCUSSION]
Interviewer:
COULD YOU JUST GO THROUGH THE TWO STAR ROUTINE FROM THERE, SO FROM THE TOP OF THE SCREEN...
Tesler:
So what I'll do is write what's called a procedure, and here it is. This procedure is called two star and it tells Logo how to draw a star. To draw a star turn left, go forward, and so on, there are ten steps to drawing a star. So I'll teach Logo how to draw a star and now I can tell it to go home and clear the screen as before, and I've now added a new word to the vocabulary, Star, as if it were Home or Clear Screen, it's now a word Logo understands and I can say star and it will draw a star. I could now tell it to turn right 90 degrees, and now the bunny will face to the right, and now I'll tell it to draw a star and as you see it draws a star in a little different direction. The advantage of this now is that Star is part of the, of the vocabulary and I can draw stars any time and any place I want without having to give ten statements. But a programmer looking at this procedure would say you know that's a bit long, ten statements to do something as simple as drawing a star and it's very redundant it says left 144, forward 10, 5 times. Computers are supposed to make things be automatic so I'll now shorten the procedure and use another feature of Logo of called Repeat. If I say repeat five, I can make this left 144 forward 100 happen five times without having to actually type it five times. So let me teach Logo to star this new way, go home and clear the screen and draw a star again and you see it still works with a much shorter program.
Interviewer:
JUST REPEAT FROM THE TOP OF THAT THING AGAIN... [LONG DISCUSSION]
Tesler:
Instead of having to say left 144 or forward 10, 5 times I can write a procedure that uses another feature of Logo called Repeat. I can say Repeat five and then give these two statements only one time and it will automatically make them happen five times. Programmers call this a loop because it does this and then loops and does it again around and around like a loop. So let me teach Logo how to star this way and then demonstrate that it really does work, okay we have a problem — [MISC. DISCUSSION]
Instead of having to write these statements, left forward five times, I can use a new feature of Logo called Repeat. By saying Repeat five followed by these statement I can get it to... to do what's called a loop. It will do these statements and then loop around and do again, around, around, around and it'll do it five times. So let me teach Logo how to star and then see if it's able to draw the star using this loop instead of ten statements, and right that worked. Now a programmer would still not be satisfied with this procedure. The problem with it is that it'll only draw five pointed stars and with just a little more work we could write a procedure that drew stars with seven, nine, eleven or any...any odd number of sides. If you look at what makes this star routine always do five pointed stars, it's this number five here and it's the angle 144 degrees that would be different for a different number of points. So let me show you another version of the procedure that will work for any odd number of sides. Instead of five here after the repeat I used what's called a variable and then here instead of 144 I use a little formula that calculates the proper angle to draw a star with that number of sides. So let me teach how to draw a star with an arbitrary number of sides and now let me try the program. Go home, clear the screen—the screen and draw a five pointed star. Oops, I think I've got a bug here John and the problem is that 360 should have been 180. That's very common in programming is that you make mistakes. But I'll teach the teach Logo how to do a star the right way and try it again. Alright, I am, I got a reprieve here. What I want to do now is see if I an draw a star that has some other number of sides like 13 and now I've shown that yes I've got a procedure that will draw a star of any number of odd sides. This is the kind of process a programmer goes through in continuing to generalize and simplify a program. [MISC. DISCUSSION]
I'm afraid I have a bug here John, it's, instead of drawing a five pointed star it looks like these angles are way too large. I think I know what I did wrong. Instead of 360 here this should have been a 180 only slightly embarrassing but programmers always have mistakes in their programs and we very well get used to it. Let me teach Logo how to make a star using the right formula and try it again and see if I've corrected the problem. Yes, now it's the right formula. And if I've done this right, I should be able to ask it for a star with 13 sides. And it worked.
Interviewer:
OR INDEED ANY NUMBER.
Tesler:
I could have done right, any number of any odd number of sides this routine will now work for. This is the kind of process of generalization and simplification that programmers go through when they write programs.
[END OF TAPE]
Interviewer:
WHAT'S THIS, THIS IS PROGRAM FOR BEGINNERS, TELL US WHAT YOU'VE GOT HERE.
Tesler:
What we have here is a programming system called Logo, Logo is the name of the language. And there are two windows on the screen. One is a window into which I'll type the program and another one will show the results of running the program which will be to draw graphics. So for example let me type a statement Home and as you see this little triangle went to a place which is called Home in this window. We call this the bunny because Logo was originally invented for children to program, and the bunny is pointed up in a certain direction which is its home position. Now I'll type another command, clear screen, and everything in the window will be erased except for the bunny. Let me show what the bunny can do. If I say left 90, it will turn left 90 degrees and face that way. If I say now forward 100, it'll move and draw a line over the path that it went. And now say left 144, it'll make kind of a hairpin turn and now forward 50 and it'll go forward drawing a line that's 50 long. Now if I move this window out of the way, you can see that I've typed in advance a number of other statements and to save me a lot of typing I can just point at these with the mouse and run them. So let me run these two that will bring the bunny home and clear the screen. And now these two that will make it turn left 144 degrees again and then go forward 100 drawing a line. Now if I do that again it'll draw a second line at that angle and if I do it three more times what will happen? It will form three more sides of a star. So using these ten statements I can actually draw a star. Now drawing a star may be something I was to do a lot of, I might want to make a flag or something like that. So what I'd like to do is add to my vocabulary the word star so in addition to saying things like clear screen I can say star. Let me show you how that's done. I write with —
Interviewer:
BECAUSE YOU DON'T WANT TO HAVE TO DO THIS EVERY SINGLE TIME?
Tesler:
That's right. Instead of having to type all ten statements when I want to draw a star I can just say one word, star. To do that a programmer writes what's called a procedure and this procedure is called star and it tells Logo that to draw a star it will do these ten things, left, forward, left, forward, and so on. So let me teach Logo to draw a star and then try it out. First I'll go home and clear the screen, there's the bunny in the right place. And now I'll tell Logo to draw a star with the bunny and then it's drawn a star.
Interviewer:
SO ONE WORD DOES WHAT TEN LINES DID…
Tesler:
That one word. Now just to show the power of this if I tell the bunny to turn right 90 degrees, and now tell it again Star I can draw another star and I didn't have to put in ten statements to do that, just the one word star. A programmer would still not be satisfied with this program. It's got ten statements in it, in the procedure star and there's a lot of repetition. It says left 144, forward 100 five times. Now programmers always like to make things simpler and more general so a programmer would always look at this and say I can make this shorter by using something called a loop. In Logo to do a loop you use what's called a Repeat statement. And I can take these statements left 144, forward 100 and have them repeated five times. It'll do them once and then go round and do 'em again and around and do 'em again and that's called going around in a loop. So let me teach Logo to do the star using the repeat statement and then try it out, go home, clear the screen, and draw a star. And there we have a star drawn with a much smaller procedure. The next thing a programmer would do is say well this is a pretty nice routine but it'll only draw stars with five points. What if I wanted to draw a seven pointed star or a nine pointed star, I'd have to write another routine that instead of a five had a seven or a nine and had a different angle here. Well better than that would be to write a single procedure that can draw stars with any number of sides as long as they're odd and that's what I've done over here. This procedure instead of saying five, says sides, and instead of saying 144 computes the proper angle for it to do that number of sides. So let me tech Logo how to do this and then let me try it out. Whoops I think I got a bug here John, it's a [CHUCKLES], instead of drawing a star I drew that funny shape and the problem is that the angles are, are not tight enough. I think my problem is that this 360 here should have been a 180. So let me try it again, I know it's a little embarrassing to do a mistake like this on on this program but in fact programmers are very used to making mistakes, bugs are part of our life, we're very human and we make lots of mistakes. Let's see if I have fixed the problem and that's right, with the new version, with 180 here I've now got the procedure doing the right thing. And my goal here was to be able to do stars with any number of sides so let's see if I can do one with 13 sides. And there we have it. And I could have nine or 21 sides or basically any odd number. So this is a very general procedure now and illustrates the way that a programmer will continually work to make a program shorter, simpler and more general.
Interviewer:
AND THAT DEMONSTRATES THE POWER OF THESE LANGUAGES LIKE LOGO THAT ENABLE YOU TO DO THAT?
Tesler:
Yes a high level language like Logo makes it very easy in a short amount of time to develop something that's much more powerful than what you started with just a, a few minutes ago.
Interviewer:
THE OTHER THING OF COURSE...THAT MAKES IT SO EASY TO SEE IS ITS INTERACTIVITY AND ITS GRAPHIC NATURE, I MEAN YOU CAN SEE IMMEDIATELY IF YOU'VE DONE SOMETHING WRONG. THAT'S VERY USEFUL TO A PROGRAMMER...
Tesler:
That's right. In the old days we used to punch cards and put them in the machine and then hours later we would find out whether the machine—whether the program had a bug and then fix it and wait hours more to fix—to see whether the bug was fixed. Now with this interactive graphics we can find a bug and fix it in a few seconds and see that we fixed the problem.
Interviewer:
OKAY CUT... [MISC. DISCUSSION]
WHEN THE MAC CAME OUT, PEOPLE SAID IT WAS REALLY INTUITIVE AND NICE. SHOW ME THE DESKTOP AND WHY IT'S A PLEASANT EXPERIENCE FOR A USER.
Tesler:
Well as you see here we've got several objects on the screen that look like folders and we call them folders and these folders can be grouped together, you can open the folders and see other folders inside them and so on and work with them. For example, say I want to create a new folder called Washington State that has information about a project I'm doing in Washington. I can go up to this menu and just point at the word new folder and it creates for me a new folder and I can see it, it's in this window with the other folders. Now I just type on the keyboard the name Washington State and there...there I have it, a folder named Washington State. Now let's say later I'm done with this project and I want to get rid of that, I can just point with the mouse again at Washington State and drag it out of the window and drop it here in what's called the trashcan which looks kind of a like a trashcan, says trash, and now it's been dropped in the trash can and it's obviously gone from this window. So just by looking at familiar, what we call icons, that resemble objects in the real world and pointing at them and dragging them and picking commands out of menus we can manipulate our environment that's a metaphorical office or desktop.
Interviewer:
PEOPLE THINK OF IT, THEY CREDIT THIS EASE TO THE MACHINE ITSELF BUT IT'S REALLY NOT THE HARDWARE IS IT?
Tesler:
Well there are things about the hardware that make it a little smoother for example to move the cursor but there's no reason that this hardware couldn't run the other type of user interface that's common for example something like MS-DOS which is a few years older than the Macintosh —
Interviewer:
BUT REALLY WHAT CAUSES THE LOOK OF IT, THE GUTS OF IT IS SOFTWARE NOT HARDWARE?
Tesler:
Oh that's right...This is basically a user interface created by software and I could demonstrate that by showing you MS-DOS programs running on this exact hardware. Why don't I do that. So we can open up this folder called Soft PC and in here is software that will, will behave exactly like DOS.
Interviewer:
WHAT IS MS-DOS?
Tesler:
MS-DOS stands for Microsoft Disk Operating System and it's the most widely used operating system on IBM personal computers and on what are called clones or compatible machines to IBM personal computers. It was developed and first came to market around 1981 — [TECH. DISCUSSION] [MISC. DISCUSSION]
Interviewer:
WHAT IS MS-DOS?
Tesler:
MS-DOS stands for Microsoft Disk Operating System and it's the most widely used operating system, it's been available since about 1981 on IBM personal computers and compatibles. Now we have to go off camera...
Interviewer:
CUT FOR A SECOND. SO ONE OF THE THINGS YOU HAD MENTIONED, YOU WON'T NEED THE MOUSE ANYMORE.
Tesler:
...For the demonstration I'm going to give you I'll be using a very standard version of DOS in which the mouse isn't even used. Everything is done from the keyboard so all this black area of the screen will resemble what people are used to seeing on a PC compatible. Now remember before that I created a directory called Washington State inside of the window. Well here there's nothing that shows you exactly what are the other things in that window. However I can give a command called "DIR," directory, and now it will type and type out and show you that inside that thing equivalent to the window I showed you before are various things called DOS, Insignia, Auto Exec, VAT and so on. If I want to create another folder called Washington State, I use a command called Make Directory, "MKDIR," and now I type Washington State. But I'm only allowed to use eight letters for the first part and three for the second so I can't spell it out completely. And I also don't see it now in the context of the other files so I have to say "DIR" again and it'll show me them. Now let's say I want to take this Washington State directory and get rid of it at the end of the project I could say Trash Washington State, oh it says bad command or file name. See because I couldn't pick it from a menu I'd forgotten the name and of course it's not called Trash in MS-DOS. What it's called is Remove Directory, "RMDIR," let me try that. And let's see if it worked. To find out if it worked I have to show the directory again and, and now I can see that Washington State is no longer there.
Interviewer:
HOW TOLLERANT IS IT OF ERRORS, OF TYPING ERRORS?
Tesler:
Well if I had...if I had said... Well let's say I tried to delete DOS here, if I say DEL DOS it'll say are you sure, it'll ask me if that's okay to do and I really don't want to delete DOS so I'll say no. If I say let's see, that wasn't a great example, that's not what you wanted me to find out. I'm trying got remember what Lauren and I did the other day that was so funny. I think at earlier stage if I had Washington State up there and then I said DEL, I think that was the one, no it seems to be working. What did I do?
Interviewer:
...GET A SYNTAX ERROR MAYBE.
Tesler:
See it just says bad command or file name, that's not the problem. I think the one we had was instead of saying Making "DIR" I had — [BACKGROUND VOICE]
Yeah, let's see if I say "DIR F:"... [MISC. DISCUSSION]
Interviewer:
HOW WOULD YOU COMPARE THE TWO. I MEAN SOFTWARE HAS CREATED A DIFFERENT USER EXPERIENCE, TOTALLY DIFFERENT?
Tesler:
That's right. This is the exact same machine, we've done nothing to the hardware. All we've done is run a different program that let's me manipulate my directories and my files. In one everything has been graphically and you can see the results of what you're doing as you do it while in the other it's done completely using text and it's necessary for you to keep asking it to do things in order to keep track of what you've done so far. Most people find the graphical approach to it a lot easier to relate to and a lot quicker to work in.
Interviewer:
AND IT'S TRUE THAT MS-DOS THEMSELVES RECENTLY WITH WINDOWS HAVE IN FACT GONE OVER TO A GRAPHICAL LOOK ISN'T IT?
Tesler:
Yes and more and more people who use DOS systems are, are now using more up to date version that supports windows and icons using those same ideas as we used in the Macintosh software.
Interviewer:
CUT IT NOW. [MISC. DISCUSSION]
ACTION. YOU CAN OPEN IT.
Tesler:
Now that I've put the disk in, the software on that disk will let me run the MS-DOS operating system on this Macintosh hardware. [LONG TECH. DISCUSSION]
Interviewer:
GO AHEAD LARRY.
Tesler:
Now instead of using the desktop and the folders and all the graphical icons I'm going to do a similar management of my files using this MS-DOS operating systems. And first of all as you see there isn't a window showing me all the files that I have. To, to do that I type the command "DIR" for directory and it types out all this information that let's me see among other things the names of those files.
[END OF TAPE]
Tesler:
Now that I've inserted the disk with the MS-DOS software on it I can make it so the Macintosh hardware behaves exactly like an IBM PC compatible that is running DOS. So it starts up like this and as you see the screen looks rather different black with white text, it has a lot of text on it instead of graphics like icons and so on. If I want to find out what my files are instead of looking inside that window, I type the command "DIR" which stands for directory and it talks about volumes and drives and other things and, and among other things it shows you the names of the files that are in this so called directory which is very similar to that window we saw before. Now suppose I want to create the Washington State folder. What I would do is use a command in DOS called Make Directory, "MKDIR" and then type Washington State. But there's a limit to how many characters I can type. If I type too many, I won't use them all. If I say "DIR," Directory, you can see it only used the first eight characters of Washington and three characters of state. Now if I'm done with the project and I want to remove Washington State, then I'll say "RMDIR," Remove Directory, Washington State. I'm afraid I've got an error here, it says invalid path. Alright what I did was I spelled Washington State wrong. Remember when I was using the folders I pointed at it and I couldn't spell it wrong because I didn't have to spell it at all, but here I have to be careful of my spelling. And now it's probably okay. Let me look at the directory again. Before remember when I looked in the window I was able to see obviously that the folder was gone because I pulled it out and it wasn't there anymore. But here in order to verify that it's gone I need to again list the directory and see that it's not there while it was there before. So there's a lot of difference between using what's called a textural user interface or a command line user interface like DOS or using what's called a graphical user interface or iconic user interface like the one I showed you before that's standard on the Macintosh. But the difference is...is entirely in software. Both of these systems were running on the exact same machine.
Interviewer:
GREAT, TERRIFIC. [MISC. CONVERSATION]
TELL ME A BIT ABOUT THE DESKTOP...LET'S JUST PRESENT IT ON THE MACINTOSH, WHY IT'S SO EASY TO UNDERSTAND.
Tesler:
Well when working with a computer, people have a lot of information to organize and so it's organized into files very much like you have files in a file cabinet. In a Macintosh to make that easier for people to relate to, we actually use what are called icons, little pictures that look like folders that are places that you can store information. Here we have in this window four folders, Old, Soft, PC and so on, and each one of them has a little icon that depicts it. Now say I want to create a new folder to collect my documents that I'll be using in a new project. I can point at this menu called file and it has a number of choices, one of which is new folder. If I pick the new folder command, then it will actually create a folder for me which at this point is empty and has the name empty folder. Let me, let me give it a name. My project has to do with Washington State so I'll type the name Washington State and there it is and I can now work on this folder and look inside it, there's nothing inside it. I could look inside this other folder and there is something inside it which are additional documents and folders. So just by pointing at thing I can create folders and look inside them and do simple things like that. Now at the end of the project I may be done with this Washington State folder and want to get rid of it. The way I do that is just to point at it and drag it out of the window and over to the trash which is depicted by another icon here. And now Washington State is in the trash and is no longer in the window, and that's pretty clear I've gotten rid of it in a very natural way.
Interviewer:
OPEN IT UP AGAIN, TAKE IT BACK... [TECH. DISCUSSION]
Tesler:
Now to work on say I wanted to do a new project that has to do with Washington State. I can go up to this bar and there's the word file here and I do want to do something about filing and I want to create a new folder so I pick the command called New Folder, just pointing at it and it'll create a new folder which is now an empty folder. I can look inside the folder and there's nothing in it as opposed to this other folder which I've had awhile which has a lot of things in it. Now I can name this folder Washington State just by typing in it and if I make a typing error, I can go back and fix it. Now I can when I'm done with the project, I can simply point at Washington State and drag the whole folder out of the window and over to the trash. Trash is depicted by another icon and now I've dropped Washington State in the trash and as you see it's no longer in that window. So it's...pretty straightforward not only to do things but to know what you've done because you can always see what you got.
Interviewer:
NOW THAT DESKTOP IS REALLY THE PRODUCT OF SOFTWARE, IT'S NOT REALLY A FUNCTION OF THIS PARTICULAR MACHINE IS IT?
Tesler:
That' right. What you see on the screen is an image created entirely by software and there's no reason why we couldn't on this same hardware show you an entirely different user interface for dealing with files.
Interviewer:
FOR EXAMPLE.
Tesler:
Well the most commonly used user interface was one that was developed a few years before the Macintosh came out called MS-DOS, the Microsoft Disk Operating System and using software called Soft PC I can actually demonstrate the use of the MS-DOS system for dealing with files on this hardware.
Interviewer:
OKAY PUT IT IN. CUT. ACTION... WHY DO PEOPLE SAY THIS IS SUCH A FUN ... WHAT ARE YOU SEEING ON YOUR SCREEN?
Tesler:
Well what we're seeing now is the basic program in the Macintosh called the finder which allows you to organize your files and here we have for example a window in which or what are called folders and they look like folders, they have a little tab on them. This folder's called California, this one's called Programming, this one's called Old. I can open this up by just pointing at it and clicking and it shows me some icons of documents and folders that are inside this folder. So...it's a little bit like the way you organize your folders in a file cabinet where you might have big folders that have smaller folders inside them and inside those folders you've got some documents of various kinds, stacks of paper and so on. Now suppose I want to do a new project that has to do with Washington State. I can create another folder by going up to what's called the menu bar here and pointing at the word file which will let me do things about files, like opening and closing files and creating new folders. So let me create a new folder by pointing at that command. And now I can give that folder a name like Washington State. And if I open that folder we'll find that there's nothing in it right now, but I could create things and, and put some documents in that folder and work on them and it's now one of the things I've got in my window. Now when my project's over, I might want to get rid of that Washington State folder so I simply point at it with the mouse and drag it out of the window and over into the trash which is depicted by another icon here that looks a little like a trash can. And obviously it's no loner in this window as you can see. So it's, people like dealing with this system because it reminds them of dealing with objects in the real world and when they do things like creating folders and removing folders, they can immediately see the effect of what they did. It's very smooth and very easy to relate to.
Interviewer:
AND THIS IS SORT OF AN ILLUSION CREATED BY SOFTWARE?
Tesler:
Oh this is entirely created by software. On this same hardware I could run for example the MS-DOS system, Microsoft Disk Operating System that will let me do the same kinds of functions but with an entirely different user interface.
Interviewer:
GO AHEAD.
Tesler:
There's software called Soft PC that I can put into the Macintosh —
Interviewer:
DO THAT AGAIN...
Tesler:
There's software called Soft PC that I can put into the Macintosh and it'll show up on the screen here —
Interviewer:
Yeah that's fine... [BACKGROUND DISCUSSION]
END OF TRANSCRIPT AND INTERVIEW