Difference between revisions of "Alan Kay at SD&M conference on Graphical User Interface (2001)"

From Viewpoints Intelligent Archive
Jump to: navigation, search
(Created page with "{{#evt: service=youtubeIA |id=0F3UqHO8viA |alignment=left |autoresize=false }}")
 
 
Line 3: Line 3:
 
|id=0F3UqHO8viA
 
|id=0F3UqHO8viA
 
|alignment=left
 
|alignment=left
|autoresize=false
+
|autoresize=true
 
}}
 
}}
 +
 +
<subtitle id='00:00:00'></subtitle>
 +
<subtitle id='00:00:42'>[Applause] so whenever you get invited to a</subtitle>
 +
<subtitle id='00:00:47'>conference that has pioneers in its name I think it's a celebration that we're</subtitle>
 +
<subtitle id='00:00:53'>just still alive of course all the rest</subtitle>
 +
<subtitle id='00:01:02'>of these guys are much older than I am</subtitle>
 +
<subtitle id='00:01:12'>so I thought instead of just talking</subtitle>
 +
<subtitle id='00:01:18'>about some of our work doing a brief period of be interesting to give you a</subtitle>
 +
<subtitle id='00:01:24'>sense of what user interface design was</subtitle>
 +
<subtitle id='00:01:29'>like in the 60s and 70s I'll include</subtitle>
 +
<subtitle id='00:01:33'>some of the stuff that we did it Xerox PARC but as Newton said he got as far as</subtitle>
 +
<subtitle id='00:01:40'>he did by standing on the shoulders of giants and we certainly did and I think</subtitle>
 +
<subtitle id='00:01:44'>you make revolutionary process if you can stand on the shoulders of giants and</subtitle>
 +
<subtitle id='00:01:48'>try and jump in a in a different direction and we certainly tried to do</subtitle>
 +
<subtitle id='00:01:53'>that as well so the first thing I'd like</subtitle>
 +
<subtitle id='00:01:58'>to just show is that the we're set up by</subtitle>
 +
<subtitle id='00:02:03'>Nature to think normally which means</subtitle>
 +
<subtitle id='00:02:09'>like McLuhan's fish here who doesn't know that it's swimming in pink water</subtitle>
 +
<subtitle id='00:02:13'>and he meant that we are the fish and the context and our beliefs are this</subtitle>
 +
<subtitle id='00:02:19'>colored water that we can't see and a an</subtitle>
 +
<subtitle id='00:02:24'>interesting model of thinking very</subtitle>
 +
<subtitle id='00:02:28'>simple model was done by Arthur Kessler some years ago and he took the pink</subtitle>
 +
<subtitle id='00:02:33'>water from the the goldfish bowl and</subtitle>
 +
<subtitle id='00:02:37'>spread it out and made a plane and likened normal human thought to an ant</subtitle>
 +
<subtitle id='00:02:44'>crawling about on this plane and pointed out that the the ant can have the</subtitle>
 +
<subtitle id='00:02:49'>illusion of progress and that the ant can choose directions</subtitle>
 +
<subtitle id='00:02:53'>can see goals that can get around obstacles but no matter what it does</subtitle>
 +
<subtitle id='00:02:58'>everything it does is pink has no sense of other dimensions of a thought but in</subtitle>
 +
<subtitle id='00:03:09'>every action there's a little outlaw vertical thing a blue action so we might</subtitle>
 +
<subtitle id='00:03:16'>have a little hint of a blue idea but we've all gone to school we all have</subtitle>
 +
<subtitle id='00:03:22'>parents we go to church we grow up in a</subtitle>
 +
<subtitle id='00:03:26'>particular place and so there's this kind of kersplat that comes down and</subtitle>
 +
<subtitle id='00:03:31'>beats us back into Orthodox ways of thinking but every once in a while in an</subtitle>
 +
<subtitle id='00:03:36'>unguarded moment taking a shower waking</subtitle>
 +
<subtitle id='00:03:40'>up in the morning out jogging you suddenly get an outlaw idea an idea that</subtitle>
 +
<subtitle id='00:03:47'>is can't stand to be confined in the pink plane now how many people in this</subtitle>
 +
<subtitle id='00:03:52'>room have had one of these epiphanies so</subtitle>
 +
<subtitle id='00:03:58'>it seems like it comes from heaven and back in the old days people would start</subtitle>
 +
<subtitle id='00:04:03'>religions because these ideas seem to be</subtitle>
 +
<subtitle id='00:04:09'>so true now it turns out that all ideas</subtitle>
 +
<subtitle id='00:04:13'>whether they come this way or come regularly almost all ideas are mediocre</subtitle>
 +
<subtitle id='00:04:19'>down to bed so the main thing you want to do when you have an idea is take a</subtitle>
 +
<subtitle id='00:04:23'>nap in Western society we act way too</subtitle>
 +
<subtitle id='00:04:29'>much we don't think nearly enough but we also have now have the methods of</subtitle>
 +
<subtitle id='00:04:33'>science for dealing with these inspirations and they allow us a pretty</subtitle>
 +
<subtitle id='00:04:38'>strong way of testing out whether this idea that seems to come from heaven</subtitle>
 +
<subtitle id='00:04:42'>actually has any substance to it Kessler pointed out that we have one of three</subtitle>
 +
<subtitle id='00:04:47'>emotional reactions or some combination so if somebody is telling you a joke</subtitle>
 +
<subtitle id='00:04:54'>just one of the simplest forms of these a joke is leading somebody down the</subtitle>
 +
<subtitle id='00:04:58'>bloop down the pink plane and suddenly revealing it's about something very</subtitle>
 +
<subtitle id='00:05:02'>different you start laughing and if it's science you have this AHA</subtitle>
 +
<subtitle id='00:05:10'>reaction and sometimes you start laughing because the the thing that's</subtitle>
 +
<subtitle id='00:05:14'>funny about science is just because we had a new idea the universe didn't</subtitle>
 +
<subtitle id='00:05:18'>change to accommodate the universe was like that all along and these insights</subtitle>
 +
<subtitle id='00:05:23'>were just hiding from us and if it's art</subtitle>
 +
<subtitle id='00:05:27'>then we have this long drawn-out sigh</subtitle>
 +
<subtitle id='00:05:31'>you know and one of the purposes of our particularly great art is to remind us</subtitle>
 +
<subtitle id='00:05:35'>that there are these other contexts and</subtitle>
 +
<subtitle id='00:05:39'>then the difficult thing about having a</subtitle>
 +
<subtitle id='00:05:44'>new idea is it takes almost as much creative effort on the part of everybody</subtitle>
 +
<subtitle id='00:05:50'>else to understand this new idea this is why we had to set up schools a few</subtitle>
 +
<subtitle id='00:05:54'>hundred years ago because these invented ideas were starting to appear and</subtitle>
 +
<subtitle id='00:05:59'>they're very difficult to learn because they require a kind of a rotation in</subtitle>
 +
<subtitle id='00:06:04'>normal human common-sense thinking now</subtitle>
 +
<subtitle id='00:06:10'>in the early 60s I was I worked my way</subtitle>
 +
<subtitle id='00:06:14'>through school as a systems programmer but I wasn't that interested in computing I was just using it as a job I</subtitle>
 +
<subtitle id='00:06:20'>was in molecular biology and pure mathematics math I was interested in was</subtitle>
 +
<subtitle id='00:06:26'>math of algebra so abstract algebra and</subtitle>
 +
<subtitle id='00:06:30'>molecular biology was just starting to happen then in 1965 there was this great</subtitle>
 +
<subtitle id='00:06:36'>book here and this book a lot of it was</subtitle>
 +
<subtitle id='00:06:48'>about this bacterium that we have millions of in our stomach called ecoli</subtitle>
 +
<subtitle id='00:06:53'>and by doing some calculations which are not in this book I discovered that one</subtitle>
 +
<subtitle id='00:07:00'>of these little bacteria had about a megabyte of DNA now it was a lot of</subtitle>
 +
<subtitle id='00:07:06'>computer back back in the nineteen sixty-five and it had three thousand</subtitle>
 +
<subtitle id='00:07:11'>types of large protein molecules about</subtitle>
 +
<subtitle id='00:07:15'>five million in total they were running very very quickly</subtitle>
 +
<subtitle id='00:07:19'>and they reproduced every 20 minutes so is this enormous amount of activity</subtitle>
 +
<subtitle id='00:07:24'>going on all powered by the kinetic motion of he and I also knew that these</subtitle>
 +
<subtitle id='00:07:34'>bacteria we're about 1 mm the size of</subtitle>
 +
<subtitle id='00:07:38'>the cells in our body cells in our body are about 2,000 times larger so this is</subtitle>
 +
<subtitle id='00:07:45'>about the relative scale of these things and we have about a billion of our cells</subtitle>
 +
<subtitle id='00:07:50'>just in the first joint of our thumb give you an idea and if a cell where the</subtitle>
 +
<subtitle id='00:07:56'>size of a grain of rice then our thumb would be about the size of a living room</subtitle>
 +
<subtitle id='00:08:00'>in your house that would have a billion of these cells and each one of these</subtitle>
 +
<subtitle id='00:08:04'>cells has about 60 billion components</subtitle>
 +
<subtitle id='00:08:08'>that interact information alee and Tom</subtitle>
 +
<subtitle id='00:08:13'>Watson here has and we have about 100</subtitle>
 +
<subtitle id='00:08:17'>trillion cells so this is a kind of a different way of looking at life that</subtitle>
 +
<subtitle id='00:08:23'>appeared in the 50s and 60s and it was</subtitle>
 +
<subtitle id='00:08:27'>just in my mind when I suddenly decided to go to graduate school in computing</subtitle>
 +
<subtitle id='00:08:32'>and especially the computer pioneers</subtitle>
 +
<subtitle id='00:08:36'>will remember just how large machines were physically back then and how small</subtitle>
 +
<subtitle id='00:08:40'>they were logically I think there was a</subtitle>
 +
<subtitle id='00:08:44'>fantastic somebody you'll remember Tony</subtitle>
 +
<subtitle id='00:08:49'>there was a fantastic algal compiler compiler by a guy by the name of Brian</subtitle>
 +
<subtitle id='00:08:53'>Whitman Goodman that had something like</subtitle>
 +
<subtitle id='00:08:57'>200 passes it was on a on a machine that had I think only drum memory and it had</subtitle>
 +
<subtitle id='00:09:03'>a very small amount of it so it had to constantly move the tape back and forth</subtitle>
 +
<subtitle id='00:09:07'>and back and forth doing a little bit of the compilation each time and and the</subtitle>
 +
<subtitle id='00:09:16'>thought of programming was mostly in terms of algorithms and data structures</subtitle>
 +
<subtitle id='00:09:20'>not in terms of systems back in the</subtitle>
 +
<subtitle id='00:09:24'>early 60s but things were starting to happen I was in an ARPA graduate I was</subtitle>
 +
<subtitle id='00:09:29'>an our graduate student and one of the things that I found about</subtitle>
 +
<subtitle id='00:09:33'>about shortly after I went to graduate school was was Ivan Sutherlands</subtitle>
 +
<subtitle id='00:09:37'>sketchpad and sketchpad was kind of the dawn of computer graphics was done in</subtitle>
 +
<subtitle id='00:09:43'>1962 and so it had this notion of</subtitle>
 +
<subtitle id='00:09:48'>graphical objects it actually had a clipping window</subtitle>
 +
<subtitle id='00:09:53'>it had icons and here's kind of what it</subtitle>
 +
<subtitle id='00:09:57'>looked like</subtitle>
 +
<subtitle id='00:10:08'>so things were done with a light pen you'll see his hand go up and dip into</subtitle>
 +
<subtitle id='00:10:12'>the ink there and he's manipulating</subtitle>
 +
<subtitle id='00:10:16'>buttons on the side so he's gonna draw a flange he doesn't draw it very carefully</subtitle>
 +
<subtitle id='00:10:21'>because he can draw this thing and then he can point to the parts of the flange</subtitle>
 +
<subtitle id='00:10:26'>and then he can tell sketch pad to make them all mutually perpendicular sketch</subtitle>
 +
<subtitle id='00:10:30'>pad is doing that right now and it just figured out how to solve that problem so</subtitle>
 +
<subtitle id='00:10:36'>you notice the clipping window the actual canvas that he's writing on is</subtitle>
 +
<subtitle id='00:10:42'>about a third of a mile square there's</subtitle>
 +
<subtitle id='00:10:46'>plenty of room for drawings again he's saying make these guys parallel and they</subtitle>
 +
<subtitle id='00:10:50'>are already attached to the sides of the flange so figured out that problem so in</subtitle>
 +
<subtitle id='00:10:56'>each one of these cases here now the constraint is collinearity for making</subtitle>
 +
<subtitle id='00:11:02'>these little dashed lines by the way this is not a line drawing display so</subtitle>
 +
<subtitle id='00:11:09'>every little dot is being plotted individually by this tx2 computer just</subtitle>
 +
<subtitle id='00:11:14'>about the size of this room dice tells</subtitle>
 +
<subtitle id='00:11:18'>those lines to be invisible now he's got a hole through the flange zooms back out</subtitle>
 +
<subtitle id='00:11:27'>now he wants to make a rivet same idea</subtitle>
 +
<subtitle id='00:11:33'>notice he flicks that pin when he wants</subtitle>
 +
<subtitle id='00:11:37'>to break the line drawing he chooses</subtitle>
 +
<subtitle id='00:11:41'>that as the Center for the radius of this arc and now he points to these</subtitle>
 +
<subtitle id='00:11:46'>lines and says make all of these mutually perpendicular and notice what</subtitle>
 +
<subtitle id='00:11:52'>it had what it does it pulls the lines together centers the arc and makes a</subtitle>
 +
<subtitle id='00:11:57'>nice little rivet and he could also constrain the proportions of these guys</subtitle>
 +
<subtitle id='00:12:03'>if he wants here he's just showing you that they're in this under constrained</subtitle>
 +
<subtitle id='00:12:08'>thing that he's made there are a number of different solutions for making a</subtitle>
 +
<subtitle id='00:12:12'>symmetric thing he wants something that looks more like a regular rivet here</subtitle>
 +
<subtitle id='00:12:24'>now what's cool about this is that this is not just a rivet this is what he</subtitle>
 +
<subtitle id='00:12:28'>called a master for the rivet what we'd call the class today so now he's going</subtitle>
 +
<subtitle id='00:12:34'>to make some instances of this rivet can move them around he can make them turn</subtitle>
 +
<subtitle id='00:12:40'>them make them any size</subtitle>
 +
<subtitle id='00:12:59'>see this program brought demands for better displays now he's going to prove</subtitle>
 +
<subtitle id='00:13:05'>to us that you can have multiple instances of this rivet and then he</subtitle>
 +
<subtitle id='00:13:15'>remembers oh I don't like the cross guys I'm going to make those invisible here</subtitle>
 +
<subtitle id='00:13:19'>on the master drawing and guess what happens to the instances they all</subtitle>
 +
<subtitle id='00:13:25'>reflect that change automatically</subtitle>
 +
<subtitle id='00:13:42'>now he's just made a master of that construction that he made so he's taking</subtitle>
 +
<subtitle id='00:13:46'>those two classes and composed them together and now we can make instances</subtitle>
 +
<subtitle id='00:13:50'>of these flanges with a rivet in it and</subtitle>
 +
<subtitle id='00:13:56'>again each one of them has its own parameters</subtitle>
 +
<subtitle id='00:14:06'>okay so that's sketchpad so in many ways</subtitle>
 +
<subtitle id='00:14:12'>the all of the stuff I've done except</subtitle>
 +
<subtitle id='00:14:18'>maybe aiming it at kids in the last 35 years has been kind of putting a</subtitle>
 +
<subtitle id='00:14:23'>footnote to these insights and sketchpad and once they asked Ivan Sutherland how</subtitle>
 +
<subtitle id='00:14:29'>could you possibly have sort of invented</subtitle>
 +
<subtitle id='00:14:33'>computer graphics done one of the first object-oriented software systems and</subtitle>
 +
<subtitle id='00:14:38'>done a automatic problem solving system all in one year by yourself he said well</subtitle>
 +
<subtitle id='00:14:44'>I didn't know it was hard what's</subtitle>
 +
<subtitle id='00:14:49'>interesting about this we would be very pleased many of us to have a graphic</subtitle>
 +
<subtitle id='00:14:53'>system we'd like the display to look a little bit better but we'd be very pleased to have a graphic system that</subtitle>
 +
<subtitle id='00:14:58'>was this flexible that had this look and</subtitle>
 +
<subtitle id='00:15:02'>feel to it so here's a way you defined</subtitle>
 +
<subtitle id='00:15:07'>operators and sketchpad was composing constraints so here's a parallel here's</subtitle>
 +
<subtitle id='00:15:12'>an equal constraint and a parallel constraint and you could pick this as a</subtitle>
 +
<subtitle id='00:15:16'>graphical object as well he could pick this up and drop it into here copy it</subtitle>
 +
<subtitle id='00:15:22'>and then you just merged the constraints with the lines that you want to deal</subtitle>
 +
<subtitle id='00:15:26'>with and the parallel and equal constraints would make this thing into a</subtitle>
 +
<subtitle id='00:15:30'>rectangle then the interior of sketchpad</subtitle>
 +
<subtitle id='00:15:36'>you can imagine what it was like to try and read this thesis back in 1966 still</subtitle>
 +
<subtitle id='00:15:44'>just three years after it had been done and eventually dawned on me that here</subtitle>
 +
<subtitle id='00:15:50'>this is an instance what he called a</subtitle>
 +
<subtitle id='00:15:54'>generic block and at some point it dawned on me that each instance opposite</subtitle>
 +
<subtitle id='00:16:01'>one two three four five the sixth word</subtitle>
 +
<subtitle id='00:16:05'>down here had a subroutine in it that knew how to display the particular type</subtitle>
 +
<subtitle id='00:16:11'>of thing so if it was a line knew how to display the line and if it was a point a</subtitle>
 +
<subtitle id='00:16:15'>knew how to display the point and this is the first time I ever saw what we</subtitle>
 +
<subtitle id='00:16:20'>call morphism today here and this idea by the</subtitle>
 +
<subtitle id='00:16:24'>way he didn't completely think of it was actually also in a very very early paper</subtitle>
 +
<subtitle id='00:16:30'>by Doug Ross who was doing some design</subtitle>
 +
<subtitle id='00:16:34'>graphic stuff at MIT at the at the same time and there was even kind of a class</subtitle>
 +
<subtitle id='00:16:42'>hierarchy in it where he had a bunch of different kinds of things he call</subtitle>
 +
<subtitle id='00:16:46'>variables things that held things had a</subtitle>
 +
<subtitle id='00:16:50'>whole set of things that recall constraints so these are kind of super</subtitle>
 +
<subtitle id='00:16:55'>classes each one of these guys was a class and then you couldn't get instance instances of those things so this is an</subtitle>
 +
<subtitle id='00:17:01'>extremely sophisticated gem of a system</subtitle>
 +
<subtitle id='00:17:07'>maybe my vote for the greatest single thing ever done in computer science by</subtitle>
 +
<subtitle id='00:17:14'>one person it's almost astounding even to go</subtitle>
 +
<subtitle id='00:17:18'>through and read the thesis today and one of the wonderful things about it was</subtitle>
 +
<subtitle id='00:17:23'>that in his thesis every other page he</subtitle>
 +
<subtitle id='00:17:28'>apologizes that the system didn't do more because we started this out he just</subtitle>
 +
<subtitle id='00:17:33'>wanted to do the whole everything you could do in computer graphics with with</subtitle>
 +
<subtitle id='00:17:37'>this thesis by the way all of these</subtitle>
 +
<subtitle id='00:17:41'>pictures here were drawn in sketchpad for his thesis and plotted out one of</subtitle>
 +
<subtitle id='00:17:48'>the few graphics thesis ever in which the computer graphics done by the</subtitle>
 +
<subtitle id='00:17:52'>graduate student was actually used to produce the images in the thesis well</subtitle>
 +
<subtitle id='00:18:00'>next thing I encountered in my first two weeks of graduate school were a pile of</subtitle>
 +
<subtitle id='00:18:06'>tapes and listings from none other than</subtitle>
 +
<subtitle id='00:18:10'>Kristin and Ola Johan they didn't know</subtitle>
 +
<subtitle id='00:18:14'>it but we had a univac 1108 at Utah and</subtitle>
 +
<subtitle id='00:18:18'>I was the latest graduate student and the tradition there is the latest graduate student got the latest dirty</subtitle>
 +
<subtitle id='00:18:23'>tasks to do and so there's a note on it</subtitle>
 +
<subtitle id='00:18:28'>that basically said this is the algal for the UNIVAC 1108 it doesn't work</subtitle>
 +
<subtitle id='00:18:34'>make it work and in pouring into it I</subtitle>
 +
<subtitle id='00:18:38'>discovered it wasn't exactly alcohol at all it was a Case Western Reserve algal</subtitle>
 +
<subtitle id='00:18:44'>that had been doctored to make a language called Simula simulated had</subtitle>
 +
<subtitle id='00:18:52'>documentation that looked exactly as though we're Norwegian transliterated</subtitle>
 +
<subtitle id='00:18:58'>literally word-for-word into English which in fact it was so we couldn't</subtitle>
 +
<subtitle id='00:19:06'>understand it but the debugging technique back then and these big</subtitle>
 +
<subtitle id='00:19:10'>engineering buildings was you could take a listing</subtitle>
 +
<subtitle id='00:19:14'>remember those fan-fold listings nice piece of computer graphics because you</subtitle>
 +
<subtitle id='00:19:19'>could take these things and well unwind them down the entire hall of the</subtitle>
 +
<subtitle id='00:19:23'>building and you could put graduate students on different parts of this listing so about three of us crawled</subtitle>
 +
<subtitle id='00:19:30'>over this listing on our hands and these caught saying this looks like it might</subtitle>
 +
<subtitle id='00:19:35'>be the storage alligator and here's where they do this and finally we realized from the storage alligator that</subtitle>
 +
<subtitle id='00:19:41'>it was actually allocating storage the way sketchpad did and we suddenly</subtitle>
 +
<subtitle id='00:19:45'>realized that this funny name they had funny names as was mentioned this</subtitle>
 +
<subtitle id='00:19:50'>morning so they had the word process which didn't quite mean what it meant to</subtitle>
 +
<subtitle id='00:19:56'>us which we would use the word instance</subtitle>
 +
<subtitle id='00:20:00'>for today and they used the word activity for what we would use the word</subtitle>
 +
<subtitle id='00:20:05'>class I haven't liked the word activity but we had no idea what this meant until</subtitle>
 +
<subtitle id='00:20:09'>we saw the analogy and then I had one of</subtitle>
 +
<subtitle id='00:20:14'>these epiphanies because I've been</subtitle>
 +
<subtitle id='00:20:18'>thinking about molecular biology until recently and Simula was kind of question</subtitle>
 +
<subtitle id='00:20:24'>is is it a better old thing or almost a really new thing and this is the</subtitle>
 +
<subtitle id='00:20:31'>dichotomy you always get when you run into something new and all of a sudden I</subtitle>
 +
<subtitle id='00:20:35'>had this idea that wow what if you</subtitle>
 +
<subtitle id='00:20:40'>basically what if you threw away alcohol and</subtitle>
 +
<subtitle id='00:20:44'>stayed with what the powerful idea here was that Simula was actually making</subtitle>
 +
<subtitle id='00:20:48'>things that were like little software computers and would make as many of them</subtitle>
 +
<subtitle id='00:20:53'>as you wanted and that's what Ivan Sutherland was doing with computer</subtitle>
 +
<subtitle id='00:20:57'>graphics and a computer obviously by by</subtitle>
 +
<subtitle id='00:21:02'>the Turing argument could do anything and so you could get rid of data structures which I hated because they</subtitle>
 +
<subtitle id='00:21:07'>were so fragile and all of a sudden I realized if you could just find a way of</subtitle>
 +
<subtitle id='00:21:12'>making everything out of little computers you would have a much simpler abstraction than the paraphernalia that</subtitle>
 +
<subtitle id='00:21:19'>was in use on computing at the time turned out to be difficult to do</subtitle>
 +
<subtitle id='00:21:24'>pragmatically it's not easy to make the</subtitle>
 +
<subtitle id='00:21:28'>number-3 a little computer and have it run fast and have it be small in those</subtitle>
 +
<subtitle id='00:21:35'>days but that was the insight that was one of those holy cows and another thing</subtitle>
 +
<subtitle id='00:21:42'>that was around at that very same time was Doug Engelbart's online system also</subtitle>
 +
<subtitle id='00:21:48'>funded by ARPA and this thing was</subtitle>
 +
<subtitle id='00:21:56'>incredible so the mouse was invented by</subtitle>
 +
<subtitle id='00:22:01'>Doug and Bill English in 1964 so the mouse is a couple of years old when I</subtitle>
 +
<subtitle id='00:22:06'>first saw it one of the things that they used with this hypertext system was they</subtitle>
 +
<subtitle id='00:22:11'>used it for dealing with their structured programming so they had done</subtitle>
 +
<subtitle id='00:22:15'>their own compiler compiler and they made it so that you could actually get</subtitle>
 +
<subtitle id='00:22:20'>abstractions of different levels of detail in their code which I thought was</subtitle>
 +
<subtitle id='00:22:24'>pretty interesting and they use this thing for conferencing so here's what</subtitle>
 +
<subtitle id='00:22:28'>NLS looked like should be some sound</subtitle>
 +
<subtitle id='00:22:36'>here but in a minute</subtitle>
 +
<subtitle id='00:22:41'>so this picture could have been taken yesterday but it was actually taken in 1967 there's the angle Bart with his</subtitle>
 +
<subtitle id='00:22:48'>mouse and he has a five finger keyboard on the other hand so I can say I'd like to go to produce but I'd like to go to</subtitle>
 +
<subtitle id='00:22:56'>produce they get big I like to say one branch only and when you look just that</subtitle>
 +
<subtitle id='00:23:01'>low yeah yeah I'll say a word or two</subtitle>
 +
<subtitle id='00:23:05'>here so this is actually in many ways a better user interface theory than we use</subtitle>
 +
<subtitle id='00:23:09'>today three button Mouse five finger</subtitle>
 +
<subtitle id='00:23:14'>keyboard Engelbart's idea was that you</subtitle>
 +
<subtitle id='00:23:18'>shouldn't be moving your hands back and forth a lot so I wanted to be able to do</subtitle>
 +
<subtitle id='00:23:22'>all the navigation you're ever going to do from having your hands out spread and</subtitle>
 +
<subtitle id='00:23:27'>he also wanted to be able to do simple typing so correcting so you could type</subtitle>
 +
<subtitle id='00:23:33'>every character out here and you could do all of the manipulation and command</subtitle>
 +
<subtitle id='00:23:38'>giving in the system the command giving was subroutine style</subtitle>
 +
<subtitle id='00:23:42'>so a typical command was move character that was the name of the subroutine and</subtitle>
 +
<subtitle id='00:23:47'>then you'd pick the character you're going to move you'd pick the destination</subtitle>
 +
<subtitle id='00:23:51'>those are the two parameters and then you'd hit command accept which is this</subtitle>
 +
<subtitle id='00:23:55'>button all the way over to the right on the mouse so it's interesting how the underlying programming affected the user</subtitle>
 +
<subtitle id='00:24:01'>interface style and we'll see that happen over and over again I can say I'd</subtitle>
 +
<subtitle id='00:24:07'>like to see one line only that's you</subtitle>
 +
<subtitle id='00:24:11'>filters news and I can do this route I said I have here</subtitle>
 +
<subtitle id='00:24:17'>[Music] so here I'm afraid I'll need a different</subtitle>
 +
<subtitle id='00:24:22'>pictures of you so here's what I do with a picture drawing capability here's a</subtitle>
 +
<subtitle id='00:24:27'>slight lamp if I start from work here's the route I seem to have to go to to</subtitle>
 +
<subtitle id='00:24:31'>pick up all the materials and that's my plan for getting home tonight but if I</subtitle>
 +
<subtitle id='00:24:35'>want to I can say the library what am I supposed to kick up there I can just</subtitle>
 +
<subtitle id='00:24:40'>point to that you know I see overdue books and all while there was</subtitle>
 +
<subtitle id='00:24:44'>sustainment there with that name go back what a fight what's my supposed to pick</subtitle>
 +
<subtitle id='00:24:48'>up the drugstore hmm I see you everything alright market can</subtitle>
 +
<subtitle id='00:24:55'>do things if I want to just say I'd like to interchange the car do some camp</subtitle>
 +
<subtitle id='00:24:59'>materials they're changing them very</subtitle>
 +
<subtitle id='00:25:06'>quickly cans are gonna get interchanged with Prados they do it an Augustine</subtitle>
 +
<subtitle id='00:25:12'>number so I'm hoping everybody here</subtitle>
 +
<subtitle id='00:25:16'>notice that the response time on this system was just a little faster than you</subtitle>
 +
<subtitle id='00:25:20'>used to this is on 192k time shared</subtitle>
 +
<subtitle id='00:25:27'>computer with 20 users a half mil</subtitle>
 +
<subtitle id='00:25:32'>machine but they got sub-second response on everything why two reasons one is</subtitle>
 +
<subtitle id='00:25:38'>they wanted to</subtitle>
 +
<subtitle id='00:25:45'>[Applause] the other reason is that they could</subtitle>
 +
<subtitle id='00:25:50'>really program</subtitle>
 +
<subtitle id='00:25:57'>this is how you can tell you know you you can't tell whether you have a</subtitle>
 +
<subtitle id='00:26:01'>Research Center in a company just because there's something called research it's you can tell when the</subtitle>
 +
<subtitle id='00:26:07'>company gets in trouble and the chief executives do not raid that thing called</subtitle>
 +
<subtitle id='00:26:11'>research then you know you have a research center otherwise it's just a</subtitle>
 +
<subtitle id='00:26:15'>toy the same thing with user interface it's not a user interface just to make a</subtitle>
 +
<subtitle id='00:26:19'>control panel you have a user interface for the people doing the user interface</subtitle>
 +
<subtitle id='00:26:23'>really care that there's a person at the other end of this thing and really cares</subtitle>
 +
<subtitle id='00:26:27'>about what the person needs so one of</subtitle>
 +
<subtitle id='00:26:31'>the distressing things about this system this movie I'm showing you was part of a</subtitle>
 +
<subtitle id='00:26:37'>demonstration a live demonstration to about 3,000 people in San Francisco in</subtitle>
 +
<subtitle id='00:26:43'>1968 so this movie is about 33 years old now and if Tim berners-lee</subtitle>
 +
<subtitle id='00:26:51'>and the other people who did the world wide web bit have the slightest curiosity as they should I'm sure did in</subtitle>
 +
<subtitle id='00:26:59'>physics to find out what people before them had done they would certainly have</subtitle>
 +
<subtitle id='00:27:03'>found out what angle Bart did and the world wide web would be much better today but instead it was done really</subtitle>
 +
<subtitle id='00:27:09'>terribly done as a consume only medium</subtitle>
 +
<subtitle id='00:27:14'>by 25 years of progress and being able to author on a personal computing and</subtitle>
 +
<subtitle id='00:27:19'>all of a sudden the web comes along and we're consumers again think about that</subtitle>
 +
<subtitle id='00:27:23'>all this the hyperlinking and hypertext stuff and conferencing and all of this</subtitle>
 +
<subtitle id='00:27:28'>stuff have been done in a full-fledged</subtitle>
 +
<subtitle id='00:27:33'>well-funded project back in the in the late 60s and it got completely missed by</subtitle>
 +
<subtitle id='00:27:40'>the current wave of very active but very</subtitle>
 +
<subtitle id='00:27:44'>ignorant people doing computing today</subtitle>
 +
<subtitle id='00:27:51'>now the other thing that happened in 1964 was the tablet was invented at Rand</subtitle>
 +
<subtitle id='00:27:58'>so this was a honey of a technology but</subtitle>
 +
<subtitle id='00:28:05'>unfortunately even in 1967 or 68</subtitle>
 +
<subtitle id='00:28:10'>it cost about eighteen thousand which is like $100,000 today to get one tablet so</subtitle>
 +
<subtitle id='00:28:17'>many wonderful things were done on this but usually each research center only</subtitle>
 +
<subtitle id='00:28:21'>had one of these and it was one of the reasons why the mouse made it and the</subtitle>
 +
<subtitle id='00:28:26'>tablet didn't it was just too difficult to make tablets for a long long time</subtitle>
 +
<subtitle id='00:28:35'>now another thing that happened it ran the little even a little earlier was</subtitle>
 +
<subtitle id='00:28:39'>there's this old old machine called the johniac which is one of the original</subtitle>
 +
<subtitle id='00:28:43'>Princeton machines done in the early 50s and they were about to take it out of</subtitle>
 +
<subtitle id='00:28:48'>commission in the late 50s and cliff Shaw said no give it to me he's the Shah</subtitle>
 +
<subtitle id='00:28:54'>of nool Shan Simon give it to me and</subtitle>
 +
<subtitle id='00:28:58'>I'll do something with it so what he did was a truly wonderful</subtitle>
 +
<subtitle id='00:29:02'>interactive the first really great interactive programming language for end</subtitle>
 +
<subtitle id='00:29:07'>users which was called jaws so jaws liqu looked like this</subtitle>
 +
<subtitle id='00:29:11'>here's cliff Shaw actually says more words on this video than I ever heard</subtitle>
 +
<subtitle id='00:29:17'>him say in his entire life we call the</subtitle>
 +
<subtitle id='00:29:24'>system jaws standing for johniac open-shop system it is an online time</subtitle>
 +
<subtitle id='00:29:29'>shared use of the computer johniac is a</subtitle>
 +
<subtitle id='00:29:33'>venerable machine but small and slow by today's standards coupled to it is a</subtitle>
 +
<subtitle id='00:29:40'>special-purpose buffer for messages to and from remote consoles</subtitle>
 +
<subtitle id='00:29:46'>each console consists of an electric typewriter and a few buttons and lights</subtitle>
 +
<subtitle id='00:29:53'>at eight such stations in various locations in the rand building are</subtitle>
 +
<subtitle id='00:29:58'>connected by telephone lines to the buffer an executive routine in johniac</subtitle>
 +
<subtitle id='00:30:04'>serves up to eight users at a time by interpreting and carrying out commands</subtitle>
 +
<subtitle id='00:30:10'>given in a simple language I think you can't really see that what</subtitle>
 +
<subtitle id='00:30:26'>was beautiful so what was beautiful about this system was about everything</subtitle>
 +
<subtitle id='00:30:31'>at the end of the paper that cliff Shaw wrote about jaws in published in 1964 he</subtitle>
 +
<subtitle id='00:30:36'>said the important thing about user interface design is the little things</subtitle>
 +
<subtitle id='00:30:40'>the hundreds and hundreds of little things so for instance in this system</subtitle>
 +
<subtitle id='00:30:44'>instead of using teletypes they refitted</subtitle>
 +
<subtitle id='00:30:48'>a bunch of IBM executive typewriters so</subtitle>
 +
<subtitle id='00:30:52'>you could have really good-looking typefaces they printed on drilled paper</subtitle>
 +
<subtitle id='00:30:58'>that would fit into notebooks done by these end users when you typed on the</subtitle>
 +
<subtitle id='00:31:04'>machine it typed in green and when it typed back at you had typed in black and</subtitle>
 +
<subtitle id='00:31:10'>every little detail was handled beautifully on the system so there's one</subtitle>
 +
<subtitle id='00:31:15'>of the few systems in the world when in the morning you realized oh in the</subtitle>
 +
<subtitle id='00:31:20'>afternoon I'm going to get a chance to use jaws you get this little tingle of</subtitle>
 +
<subtitle id='00:31:25'>anticipation you knew how many times have you felt that about a computer</subtitle>
 +
<subtitle id='00:31:30'>system mean just knew this was going to be a beautiful experience because</subtitle>
 +
<subtitle id='00:31:34'>everything was thought through and he didn't try to do anything that he</subtitle>
 +
<subtitle id='00:31:38'>couldn't do in this perfect way so this set of standards for many many years in</subtitle>
 +
<subtitle id='00:31:43'>every respect including documentation</subtitle>
 +
<subtitle id='00:31:54'>there's Joss then the another thing that</subtitle>
 +
<subtitle id='00:32:00'>had appeared on the scene in the early 60s was my vote for the first personal</subtitle>
 +
<subtitle id='00:32:04'>computer which is called the link and</subtitle>
 +
<subtitle id='00:32:08'>the this is done by Wes Clark here and the one of the design criteria for this</subtitle>
 +
<subtitle id='00:32:14'>machine was that you had to be able to see over it when you were using it so as</subtitle>
 +
<subtitle id='00:32:19'>I his idea was you didn't want it that</subtitle>
 +
<subtitle id='00:32:23'>towered over you when you were using it you would be towering over over it and</subtitle>
 +
<subtitle id='00:32:29'>it had most of the paraphernalia on it that we associate associate with</subtitle>
 +
<subtitle id='00:32:33'>personal computers today so it's my vote for the first personal computer and also</subtitle>
 +
<subtitle id='00:32:38'>in 1965 we had the first statement of</subtitle>
 +
<subtitle id='00:32:43'>Moore's law then a few years later the second statement of it and the what</subtitle>
 +
<subtitle id='00:32:48'>happened is kind of in the middle here between doubling every year and doubling</subtitle>
 +
<subtitle id='00:32:53'>every two years has been doubling about every 18 months so this gave us a</subtitle>
 +
<subtitle id='00:32:57'>30-year roadmap to be able to understand what kind of computing systems that we</subtitle>
 +
<subtitle id='00:33:02'>could do then the other thing sorry the</subtitle>
 +
<subtitle id='00:33:06'>other thing was that ARPA had decided to</subtitle>
 +
<subtitle id='00:33:10'>finally do the ARPANET work and so suddenly we were thinking about how</subtitle>
 +
<subtitle id='00:33:15'>could we run a system that might have potentially millions of machines on it</subtitle>
 +
<subtitle id='00:33:20'>so all of those were context for the ways of thinking about complexity that</subtitle>
 +
<subtitle id='00:33:26'>led to this machine that Edie Cheadle and I did what's called a flex machine and so I decided to imitate how similar</subtitle>
 +
<subtitle id='00:33:37'>got implemented where they had some deep insights about objects and they took a</subtitle>
 +
<subtitle id='00:33:43'>alcohol as a kind of a structure and they made the simular one system that I</subtitle>
 +
<subtitle id='00:33:48'>was familiar with and I wanted something like jaws and that very same year and</subtitle>
 +
<subtitle id='00:33:54'>I'm sure Klaus remembers it better than I do because he had to write the paper but</subtitle>
 +
<subtitle id='00:33:59'>the same year that the Simula paper was published in the ACM which was 66</subtitle>
 +
<subtitle id='00:34:03'>September 66 in January in February</subtitle>
 +
<subtitle id='00:34:08'>Klaus feared and Weber had published a</subtitle>
 +
<subtitle id='00:34:13'>fantastic in-depth treatment of a</subtitle>
 +
<subtitle id='00:34:17'>language that they designed and implemented called Euler and Euler was</subtitle>
 +
<subtitle id='00:34:21'>an extreme generalization of alcohol so I was taking alcohol towards lisp in a</subtitle>
 +
<subtitle id='00:34:25'>sense basically it was based on some earlier ideas by Van vine garden and an</subtitle>
 +
<subtitle id='00:34:30'>earlier paper that Klaus had written which was called the generalization of alcohol published the year 60 65 or</subtitle>
 +
<subtitle id='00:34:38'>something so this is beautiful stuff because basically it got down to the</subtitle>
 +
<subtitle id='00:34:42'>essence and if you looked at Euler you would see something that had the clean</subtitle>
 +
<subtitle id='00:34:47'>simplicity of Jaws except it was powerful it was really powerful and I</subtitle>
 +
<subtitle id='00:34:53'>thought boy if we could make oil or object oriented the way Samuel I had</subtitle>
 +
<subtitle id='00:34:58'>made Alvin Algol object-oriented we would have something that was both very</subtitle>
 +
<subtitle id='00:35:02'>powerful and also very small because euler had this very nice way of</subtitle>
 +
<subtitle id='00:35:07'>compiling and it happened that the third computer i'd ever learned was the</subtitle>
 +
<subtitle id='00:35:11'>borrows be 5,000 and the way they had decided to implement euler was to and</subtitle>
 +
<subtitle id='00:35:23'>since windows were already around we put them in they weren't overlapping because</subtitle>
 +
<subtitle id='00:35:27'>the displays back then couldn't they were calligraphic displays</subtitle>
 +
<subtitle id='00:35:31'>it was very very difficult to make an overlapping window and I never thought of the idea at that point but the using</subtitle>
 +
<subtitle id='00:35:39'>objects at the lowest level in the system and combining the language with</subtitle>
 +
<subtitle id='00:35:45'>this idea of co-routines so I realized that if you add co-routines and persistence you didn't</subtitle>
 +
<subtitle id='00:35:50'>need files because you basically just paused every structure that you wanted</subtitle>
 +
<subtitle id='00:35:54'>to stay around and just let it stay active as a way of getting away from</subtitle>
 +
<subtitle id='00:35:58'>data structures so a lot of interesting ideas in this thing and on each</subtitle>
 +
<subtitle id='00:36:04'>iteration of these languages we did we</subtitle>
 +
<subtitle id='00:36:08'>implemented the hospital simulation from the Simula one paper because that was</subtitle>
 +
<subtitle id='00:36:13'>where we finally understood similar one was following those patients around the</subtitle>
 +
<subtitle id='00:36:17'>hospital will see it not too long from now so I got to skip</subtitle>
 +
<subtitle id='00:36:22'>over some of these insights we had about objects and maybe if there's time at the</subtitle>
 +
<subtitle id='00:36:27'>end I'll talk about them I'll just say one word that the more you can think</subtitle>
 +
<subtitle id='00:36:32'>biology when you're trying to understand objects the better off you are</subtitle>
 +
<subtitle id='00:36:36'>the more you think C or E or indeed any</subtitle>
 +
<subtitle id='00:36:41'>programming language with objects graphed and on the further away you are from these things because you're</subtitle>
 +
<subtitle id='00:36:47'>basically trying to understand systems that are robust and even somewhat</subtitle>
 +
<subtitle id='00:36:52'>redundant now the summer of 68 we had a</subtitle>
 +
<subtitle id='00:36:57'>version of this flex machine going and I gave a report on it at the ARPA graduate</subtitle>
 +
<subtitle id='00:37:02'>students conferences that summer and right before that summer I saw this</subtitle>
 +
<subtitle id='00:37:07'>first flat panel display it's all of a sudden flat panel display wonder how</subtitle>
 +
<subtitle id='00:37:12'>long it would be before you could put the Flex machine on the back of this</subtitle>
 +
<subtitle id='00:37:16'>display then the other thing I had seen right before going to this graduate</subtitle>
 +
<subtitle id='00:37:21'>conference was what the ran people had done with their tablet this is a system</subtitle>
 +
<subtitle id='00:37:26'>called Grail</subtitle>
 +
<subtitle id='00:37:30'>so in 66 so they built a tablet in 64 and 66 they implemented this really</subtitle>
 +
<subtitle id='00:37:36'>tremendous character recognition algorithm better than graffiti and of</subtitle>
 +
<subtitle id='00:37:42'>course infinitely earlier than graffiti and then they decided to do a graphical</subtitle>
 +
<subtitle id='00:37:48'>programming version of Jaws for their analysts that ran and here's what it</subtitle>
 +
<subtitle id='00:37:53'>like</subtitle>
 +
<subtitle id='00:38:02'>first we erase a flow arrow then move the connector out of the way so that we</subtitle>
 +
<subtitle id='00:38:07'>may draw a box in its place so recognizes he wants a box and just makes one now it's recognizing his</subtitle>
 +
<subtitle id='00:38:13'>handwriting the printing in the box is being used as commentary only in this</subtitle>
 +
<subtitle id='00:38:17'>case might notice how efficient box is slightly too large so we may change its</subtitle>
 +
<subtitle id='00:38:22'>size that's where modern-day window control came from literally then draw</subtitle>
 +
<subtitle id='00:38:26'>flow from the connector to the box</subtitle>
 +
<subtitle id='00:38:30'>attached to decisions automatic box enjoy flow from it to scan we then</subtitle>
 +
<subtitle id='00:38:37'>erased the floor arrows attached to the process post new area and move the box</subtitle>
 +
<subtitle id='00:38:43'>to a new position this allows us to draw</subtitle>
 +
<subtitle id='00:38:50'>a new box this is an incredible system</subtitle>
 +
<subtitle id='00:39:00'>and there's a wonderful 15 minute movie</subtitle>
 +
<subtitle id='00:39:04'>that I'm in the process of digitizing</subtitle>
 +
<subtitle id='00:39:08'>and putting giving to the computer museum but look at this system all of a sudden you browse my god these guys got</subtitle>
 +
<subtitle id='00:39:14'>an enormous amount of what user interface design has to be like and</subtitle>
 +
<subtitle id='00:39:18'>again it was because of their trying to make this system is nice for an end user</subtitle>
 +
<subtitle id='00:39:23'>as Joss was but now on the displays they just thought of every little thing and</subtitle>
 +
<subtitle id='00:39:29'>this is smooth and it just really did work as fast as you saw there and any</subtitle>
 +
<subtitle id='00:39:35'>one of us would like to have this system today but in fact most of the systems</subtitle>
 +
<subtitle id='00:39:41'>that are pin based today are quite a bit inferior to what these guys did then in</subtitle>
 +
<subtitle id='00:39:51'>the fall I saw a seymour papert's work with logo and logo wasn't an adaptation</subtitle>
 +
<subtitle id='00:39:55'>of jaws to lisp for kids so a typical logo program to draw a</subtitle>
 +
<subtitle id='00:40:01'>circle use differential geometry go a little turn a little over and over again</subtitle>
 +
<subtitle id='00:40:06'>if you tell that to a turtle which is actually a vector you're adding little</subtitle>
 +
<subtitle id='00:40:12'>incremental vectors to it and turning it a little you're going to get a</subtitle>
 +
<subtitle id='00:40:16'>Circle because a circle is that thing that has constant curvature so I when I</subtitle>
 +
<subtitle id='00:40:23'>saw this I was seeing somebody using computers to make Montessori like toys</subtitle>
 +
<subtitle id='00:40:28'>for children and it captured my imagination more strongly than anything</subtitle>
 +
<subtitle id='00:40:33'>else has and on the plane coming home</subtitle>
 +
<subtitle id='00:40:38'>from that visit I started thinking about what would a computer for children actually be like and I decided it had to</subtitle>
 +
<subtitle id='00:40:45'>be something they could carry around so we made this cardboard model out of and</subtitle>
 +
<subtitle id='00:40:50'>and filled it up with lead pellets until people didn't want to carry it around</subtitle>
 +
<subtitle id='00:40:54'>anymore and so the weight the maximum</subtitle>
 +
<subtitle id='00:40:59'>weight was one kilogram so anybody here</subtitle>
 +
<subtitle id='00:41:03'>have a 1 kilogram computer yet so</subtitle>
 +
<subtitle id='00:41:08'>analogy to musical instruments the idea</subtitle>
 +
<subtitle id='00:41:13'>of children learning math and science by doing their own simulation games using</subtitle>
 +
<subtitle id='00:41:19'>real science all of those things were part of this and then this realization</subtitle>
 +
<subtitle id='00:41:25'>that we might all be dead before the real revolution happens because back in</subtitle>
 +
<subtitle id='00:41:31'>the manuscript days when the printing press appeared it was 50 years to go</subtitle>
 +
<subtitle id='00:41:35'>from a big Gutenberg Bible to the oldest book that you could put in your pocket</subtitle>
 +
<subtitle id='00:41:41'>but the real revolutions from the printing press didn't happen till more</subtitle>
 +
<subtitle id='00:41:47'>than a hundred years later and so we had this image that here's the mainframe</subtitle>
 +
<subtitle id='00:41:52'>which is kind of the old manuscript thing here's a desktop computer and</subtitle>
 +
<subtitle id='00:41:57'>here's a computer you can carry around like the Aldous book there is this image</subtitle>
 +
<subtitle id='00:42:02'>that gee the real computer revolution might not happen until the middle of</subtitle>
 +
<subtitle id='00:42:06'>this century and we'd all be gone by that so there's a real urgency to try</subtitle>
 +
<subtitle id='00:42:11'>and do something about it and we got</subtitle>
 +
<subtitle id='00:42:15'>that chance at at Xerox PARC so one of</subtitle>
 +
<subtitle id='00:42:21'>the best things that ever happened right</subtitle>
 +
<subtitle id='00:42:25'>around in that period was the here's the cardboard model the Dynabook</subtitle>
 +
<subtitle id='00:42:29'>and here's the real HP 35 calculator and</subtitle>
 +
<subtitle id='00:42:35'>the a two interesting things happen with</subtitle>
 +
<subtitle id='00:42:39'>the HP 35 calculator one is I just happened to have it when I had a talk</subtitle>
 +
<subtitle id='00:42:45'>with my insurance agent and without thinking of it I pulled out the HP 35</subtitle>
 +
<subtitle id='00:42:50'>and put it on the table between us and all of a sudden he was talking to me</subtitle>
 +
<subtitle id='00:42:54'>very differently about insurance because I could just sit there and calculate</subtitle>
 +
<subtitle id='00:42:59'>anything that he said and I realized</subtitle>
 +
<subtitle id='00:43:03'>that all of a sudden that the balance of power had shifted then the second great</subtitle>
 +
<subtitle id='00:43:11'>thing that happened is about three weeks after I got this early HP 35 it was</subtitle>
 +
<subtitle id='00:43:17'>stolen and I realized at last somebody</subtitle>
 +
<subtitle id='00:43:22'>has made a computer that's stealable</subtitle>
 +
<subtitle id='00:43:29'>[Applause] we're making progress so let's see now a</subtitle>
 +
<subtitle id='00:43:47'>few things had changed in the way I was looking at languages remember I said</subtitle>
 +
<subtitle id='00:43:52'>that Euler had gone quite a ways towards Lisp and I didn't really understand Lisp</subtitle>
 +
<subtitle id='00:43:58'>at that time and a few years later I had</subtitle>
 +
<subtitle id='00:44:02'>occasion to go in and try and understand the Lisp interpreter written in itself</subtitle>
 +
<subtitle id='00:44:06'>and I finally did understand it and then I had this huge Thunderbolt that what</subtitle>
 +
<subtitle id='00:44:14'>you really needed was late binding and everything not just because you need it</subtitle>
 +
<subtitle id='00:44:20'>for end users but because it was one of those things where I suddenly realized</subtitle>
 +
<subtitle id='00:44:25'>hey we don't know anything every time we do something it's a huge learning curve</subtitle>
 +
<subtitle id='00:44:31'>and when we do it in an early bound form</subtitle>
 +
<subtitle id='00:44:36'>when we get to this place where we suddenly learn the thing that we needed</subtitle>
 +
<subtitle id='00:44:41'>to know at the beginning of the project the early boundedness of what we've done</subtitle>
 +
<subtitle id='00:44:46'>discourages us from going back and redoing things it's just too much work</subtitle>
 +
<subtitle id='00:44:51'>so you say oh I'll do this in the next system but I realized that the early</subtitle>
 +
<subtitle id='00:44:56'>boundedness of Lisp coupled with the right kind of programming tools and you</subtitle>
 +
<subtitle id='00:45:00'>could actually take an inspiration 3/4</subtitle>
 +
<subtitle id='00:45:04'>of the way through a project and reformulate your code much much more</subtitle>
 +
<subtitle id='00:45:08'>easily and that was quite possible to do because we were building our own</subtitle>
 +
<subtitle id='00:45:14'>computers so we build the the Flex machine it had a micro code processor in</subtitle>
 +
<subtitle id='00:45:21'>there so we could we were actually the</subtitle>
 +
<subtitle id='00:45:25'>firmware was actually giving us something like a custom piece of</subtitle>
 +
<subtitle id='00:45:29'>hardware and we were planning on doing that at Xerox PARC and so the idea was</subtitle>
 +
<subtitle id='00:45:36'>let's do a kiddy computer that we can actually build in the early 70s so the</subtitle>
 +
<subtitle id='00:45:41'>first one was built around a Sony Trinitron 9</subtitle>
 +
<subtitle id='00:45:45'>in China Tron and then the realistic</subtitle>
 +
<subtitle id='00:45:49'>design I did here look like Vic Vic Vic Vic this in 1971 but had the trying to</subtitle>
 +
<subtitle id='00:45:54'>try and in there I'd had some room for either this mythical 3m tape drive which</subtitle>
 +
<subtitle id='00:46:01'>finally only did materialize and so forth but the idea was to make a</subtitle>
 +
<subtitle id='00:46:05'>computer that we could actually put into schools and we have to understand about</subtitle>
 +
<subtitle id='00:46:12'>display so here's this wonderful old machine we used to call the old</subtitle>
 +
<subtitle id='00:46:16'>character generator and it was just the highest bandwidth video that money could</subtitle>
 +
<subtitle id='00:46:21'>make we built it ourselves and the first</subtitle>
 +
<subtitle id='00:46:27'>thing we did was to try and do really high quality fonts and the second thing</subtitle>
 +
<subtitle id='00:46:31'>we realized is that we could by turning it upside down in a way we can make one</subtitle>
 +
<subtitle id='00:46:35'>of the first bitmap memories ever done and do painting so here's what here's</subtitle>
 +
<subtitle id='00:46:44'>what it looked like to design a character back then</subtitle>
 +
<subtitle id='00:46:51'>this beating is because this was done on a 16 millimeter bollocks movie camera</subtitle>
 +
<subtitle id='00:46:58'>back then so just you just designed the</subtitle>
 +
<subtitle id='00:47:02'>thing in and showed you the thing in different sizes and then then rendered</subtitle>
 +
<subtitle id='00:47:07'>to render the thing so we did many</subtitle>
 +
<subtitle id='00:47:15'>experiments with that understood a lot about for example one of the things that</subtitle>
 +
<subtitle id='00:47:19'>we found was that the worst display pitch you could have for a human being</subtitle>
 +
<subtitle id='00:47:25'>was 50 to the inch at normal viewing distance that was the one where you</subtitle>
 +
<subtitle id='00:47:30'>could see the square edge on a dot on a</subtitle>
 +
<subtitle id='00:47:34'>pixel of course you don't want to see pixels when you look at a display you want to see pictures and so 50 and it</subtitle>
 +
<subtitle id='00:47:40'>happened that 50 to the inch was the exact pitch that IBM had chosen for all</subtitle>
 +
<subtitle id='00:47:44'>of its displays so they were the worst looking displays that money could buy</subtitle>
 +
<subtitle id='00:47:50'>but there was a non-linearity so we discovered that if you made the pitch a</subtitle>
 +
<subtitle id='00:47:54'>hundred to the inch you'd be having four times as many pixels which was expensive</subtitle>
 +
<subtitle id='00:47:59'>but the inability to see the square</subtitle>
 +
<subtitle id='00:48:05'>corner went down by a got better by a</subtitle>
 +
<subtitle id='00:48:10'>factor of ten so four times as many pixels gave you a factor of 10 better</subtitle>
 +
<subtitle id='00:48:15'>response and so we realized that just by choosing these very very carefully we</subtitle>
 +
<subtitle id='00:48:19'>would get some very important let's see</subtitle>
 +
<subtitle id='00:48:26'>what this is</subtitle>
 +
<subtitle id='00:48:30'>so here's using it as you also see the</subtitle>
 +
<subtitle id='00:48:34'>character recognizer that we build in here so L for drawing lines D for</subtitle>
 +
<subtitle id='00:48:47'>sketching so here's the first painting system so this is done the summer of 72</subtitle>
 +
<subtitle id='00:48:58'>choose brushes and choose different paints</subtitle>
 +
<subtitle id='00:49:10'>okay and then we build a bunch of these machines called the Altos and here's</subtitle>
 +
<subtitle id='00:49:15'>what they look like and this is the this</subtitle>
 +
<subtitle id='00:49:19'>is the alto doing real-time musical synthesis</subtitle>
 +
<subtitle id='00:49:43'>[Music]</subtitle>
 +
<subtitle id='00:50:17'>so this is where we did stuff with really young kids kids of age three and</subtitle>
 +
<subtitle id='00:50:22'>four this is a button box that has icons</subtitle>
 +
<subtitle id='00:50:27'>I kind of control on it the Altos were</subtitle>
 +
<subtitle id='00:50:33'>kind of a joint the hard work was done</subtitle>
 +
<subtitle id='00:50:37'>by Chuck Thacker it was kind of the hardware genius at Parc and one of the</subtitle>
 +
<subtitle id='00:50:42'>two or three people that part could not have functioned if he wasn't there and</subtitle>
 +
<subtitle id='00:50:50'>the design for the thing was sort of the</subtitle>
 +
<subtitle id='00:50:54'>clash of three friends who also had strong wills myself Butler Lampson and</subtitle>
 +
<subtitle id='00:50:59'>Chuck Thacker we all kind of got what we wanted the main thing about the Altos</subtitle>
 +
<subtitle id='00:51:05'>was that they're cheap and pretty fast compared to time sharing and they had</subtitle>
 +
<subtitle id='00:51:09'>500,000 pixels on the screen so this</subtitle>
 +
<subtitle id='00:51:13'>allowed us to do many many interesting things without having to optimize for</subtitle>
 +
<subtitle id='00:51:17'>several years I believe that the one of</subtitle>
 +
<subtitle id='00:51:21'>the principles for getting ahead in this business is avoid optimize optimizing</subtitle>
 +
<subtitle id='00:51:26'>while you're trying to design because you're optimizing hat once you put it on</subtitle>
 +
<subtitle id='00:51:31'>you're a different person you're just not the saint you're in the pink plane</subtitle>
 +
<subtitle id='00:51:35'>when you're optimizing because you're trying to deal with known facts and make</subtitle>
 +
<subtitle id='00:51:40'>those known facts happen and so Park was</subtitle>
 +
<subtitle id='00:51:46'>able to make a lot of progress just by having a bunch of these machines around</subtitle>
 +
<subtitle id='00:51:53'>and having them be fast enough for a few years so that new ideas could be done very very easily so I'll show you a</subtitle>
 +
<subtitle id='00:51:59'>couple of example like here's the this</subtitle>
 +
<subtitle id='00:52:03'>is the first test of overlapping windows</subtitle>
 +
<subtitle id='00:52:08'>the inspiration I had in the shower the</subtitle>
 +
<subtitle id='00:52:12'>year before and this is before we put window boundaries on so this is like</subtitle>
 +
<subtitle id='00:52:17'>after the Alto is about a week old when we did this so these are two pieces of</subtitle>
 +
<subtitle id='00:52:21'>text and I'm gonna pick up one by its</subtitle>
 +
<subtitle id='00:52:25'>corner of the way Grail did showing the clipping there</subtitle>
 +
<subtitle id='00:52:30'>and then I'm gonna drop move this over the other piece of text it's not too</subtitle>
 +
<subtitle id='00:52:37'>convincing at this point so now I'm</subtitle>
 +
<subtitle id='00:52:41'>going to bring the other guy up on top</subtitle>
 +
<subtitle id='00:52:46'>just to prove and then and bring the other guy up on top so the original plan</subtitle>
 +
<subtitle id='00:52:51'>was to have the windows show full graphics and be dragged and we had to</subtitle>
 +
<subtitle id='00:52:56'>abandon that because we couldn't quite pull off the animation in real time on this machine so here's some of the</subtitle>
 +
<subtitle id='00:53:03'>earlier tests for Windows of boundaries these you can see the user interface on</subtitle>
 +
<subtitle id='00:53:09'>these that the Grail style make it bigger and smaller by the lower corner</subtitle>
 +
<subtitle id='00:53:15'>they're moving around by that corner get another one by that corner gives you</subtitle>
 +
<subtitle id='00:53:24'>another little window</subtitle>
 +
<subtitle id='00:53:36'>and here's a first class of kids</subtitle>
 +
<subtitle id='00:53:45'>so this is a 12 year olds taught by a 13 year old so she had taken the class the</subtitle>
 +
<subtitle id='00:53:49'>year before there she is</subtitle>
 +
<subtitle id='00:53:54'>dynamic Marilyn and this is the what she had done when she was a 12 year old so</subtitle>
 +
<subtitle id='00:53:59'>this is the first graphics system done by a child so in other words she did it</subtitle>
 +
<subtitle id='00:54:07'>this application so it has different shape brushes up here and as different</subtitle>
 +
<subtitle id='00:54:12'>forms so she grabbed the square guy and now she's drawing a picture with it</subtitle>
 +
<subtitle id='00:54:18'>so a lot of our interest was in end years as being able to make their own</subtitle>
 +
<subtitle id='00:54:22'>tools here she got the the hexagon brush as drawing tree trunks with the hexagon</subtitle>
 +
<subtitle id='00:54:30'>now she's getting a little dot drawing</subtitle>
 +
<subtitle id='00:54:36'>the trunks this is basically a paint</subtitle>
 +
<subtitle id='00:54:41'>program done by a 12 year old and then in her class</subtitle>
 +
<subtitle id='00:55:01'>so here's something that's like a drawing an illustration system done by</subtitle>
 +
<subtitle id='00:55:06'>another twelve-year-old girl so she's got little selection handles and see she</subtitle>
 +
<subtitle id='00:55:11'>has a little menu down here of different commands so she just changed the color</subtitle>
 +
<subtitle id='00:55:17'>now she's gonna change the size of the thing make it smaller you can see a</subtitle>
 +
<subtitle id='00:55:22'>color bar menu up on the top now she's moving the thing so again this thing was</subtitle>
 +
<subtitle id='00:55:27'>completely designed by a 12 year old and built as an application but it also</subtitle>
 +
<subtitle id='00:55:32'>shows you the user interface approach here which we used to call doing with</subtitle>
 +
<subtitle id='00:55:37'>images make symbols you basically stay</subtitle>
 +
<subtitle id='00:55:44'>in the domain that the users want to operate in and they learn the symbolic</subtitle>
 +
<subtitle id='00:55:48'>stuff as a way of getting more power over it</subtitle>
 +
<subtitle id='00:56:02'>now here's a more sophisticated thing done by a fifteen-year-old so this is a</subtitle>
 +
<subtitle id='00:56:12'>circuit this kid was interested in ham radio so this is a circuit drawing</subtitle>
 +
<subtitle id='00:56:17'>program that he did so he has a menu of circuit symbols down here but you'll</subtitle>
 +
<subtitle id='00:56:24'>notice in a second he also uses a pop-up</subtitle>
 +
<subtitle id='00:56:28'>menu and here you can see his hand doing things you can see that you can get this</subtitle>
 +
<subtitle id='00:56:34'>pop-up from the middle button on the mouse so he gets a closed dot there from</subtitle>
 +
<subtitle id='00:56:38'>it we're pretty excited to have a 15</subtitle>
 +
<subtitle id='00:56:45'>year old do this they just grabbed a</subtitle>
 +
<subtitle id='00:56:49'>resistor over here and made an instance of it so it's bridging this gap so this</subtitle>
 +
<subtitle id='00:56:59'>is trying to do as many things as as you</subtitle>
 +
<subtitle id='00:57:06'>could along the lines of sketchpad but allowing the end users to do their own</subtitle>
 +
<subtitle id='00:57:11'>tools</subtitle>
 +
<subtitle id='00:57:19'>okay now the alto was micro coded so you could actually and it had multiple</subtitle>
 +
<subtitle id='00:57:24'>display buffers had actually display list architecture that allowed you to do</subtitle>
 +
<subtitle id='00:57:28'>a real double buffered animation so you got the following animation response on</subtitle>
 +
<subtitle id='00:57:35'>it so I could do about a hundred and twenty square inches of graph graphics</subtitle>
 +
<subtitle id='00:57:39'>and two and a half D at about twelve frames a second which is what you're</subtitle>
 +
<subtitle id='00:57:44'>looking at here so how do you make these</subtitle>
 +
<subtitle id='00:57:49'>animations so this was done by very</subtitle>
 +
<subtitle id='00:57:55'>talented guy by the name of Ron Becker there's a menu up at the top you can't</subtitle>
 +
<subtitle id='00:58:00'>quite see here but he's drawing a ball I'm putting a little specular reflection</subtitle>
 +
<subtitle id='00:58:04'>on it coming over here and he's clicking</subtitle>
 +
<subtitle id='00:58:10'>on the pop-up translucent mem menu there</subtitle>
 +
<subtitle id='00:58:14'>to get this show me a path icon now he</subtitle>
 +
<subtitle id='00:58:19'>says okay now run it so now it's taking</subtitle>
 +
<subtitle id='00:58:24'>this ball through the path now he wants to get the step icon here the single</subtitle>
 +
<subtitle id='00:58:29'>step this guy</subtitle>
 +
<subtitle id='00:58:36'>now he's going to zap this guy and replace it with an empty frame and now</subtitle>
 +
<subtitle id='00:58:45'>he's going to get another translucent frame and lay it over this one start the</subtitle>
 +
<subtitle id='00:58:51'>animation you see that frame is missing</subtitle>
 +
<subtitle id='00:58:55'>but as he starts painting over here it will that painting will be laid in and</subtitle>
 +
<subtitle id='00:58:59'>he's using this guy underneath as a guide for where the center of the thing</subtitle>
 +
<subtitle id='00:59:04'>is so you see as he paints the painting as this painting is being put into the</subtitle>
 +
<subtitle id='00:59:08'>animation the trick of animation is to</subtitle>
 +
<subtitle id='00:59:12'>put enough similarities in the different frames so that your eye will seem to</subtitle>
 +
<subtitle id='00:59:17'>make one frame to store it into another it's sort of cognitive morphing and you</subtitle>
 +
<subtitle id='00:59:24'>notice that even though it's only one frame here you seem to see the ball deforming it's called squash and stretch</subtitle>
 +
<subtitle id='00:59:31'>another twelve year old girl galloping I</subtitle>
 +
<subtitle id='00:59:36'>can write a program that has the horse</subtitle>
 +
<subtitle id='00:59:40'>galloping across the street the screen</subtitle>
 +
<subtitle id='00:59:51'>here's the horse again and now I have a</subtitle>
 +
<subtitle id='00:59:56'>jockey here's a feature she added which</subtitle>
 +
<subtitle id='01:00:00'>is to combine two animated things that's what the jockey on the horse drops them</subtitle>
 +
<subtitle id='01:00:08'>in to make a race horse now they're one logical entity now I can have the jockey</subtitle>
 +
<subtitle id='01:00:19'>and the horse run across the stream screen by making another program</subtitle>
 +
<subtitle id='01:00:33'>okay and one more media thing here so</subtitle>
 +
<subtitle id='01:00:39'>again because we had micro code we could do real-time music and we invented a</subtitle>
 +
<subtitle id='01:00:43'>form of FM that could be played in real</subtitle>
 +
<subtitle id='01:00:48'>time we had any voices of this real-time and what right now we're we're gonna</subtitle>
 +
<subtitle id='01:00:54'>make a kind of a cello again you get to</subtitle>
 +
<subtitle id='01:00:59'>see the user interface here we leave the old guys up because we want to see where</subtitle>
 +
<subtitle id='01:01:05'>we've coming from that gives a gradual</subtitle>
 +
<subtitle id='01:01:09'>kind of gradually getting louder bowing thing and now we want more harmonics</subtitle>
 +
<subtitle id='01:01:18'>this is kind of a minute this one he's drawing here is a measure of harmonic</subtitle>
 +
<subtitle id='01:01:23'>we're on more harmonics in the beginning and then less harmonics so you get the</subtitle>
 +
<subtitle id='01:01:27'>bow fighting now we want to try various</subtitle>
 +
<subtitle id='01:01:32'>modulation families this is pitch swoop</subtitle>
 +
<subtitle id='01:01:43'>up to the pitch so that the string comes up to speed gradually put a little</subtitle>
 +
<subtitle id='01:01:48'>vibrato in this repeating section between the two lines</subtitle>
 +
<subtitle id='01:01:55'>[Music]</subtitle>
 +
<subtitle id='01:02:00'>now let's go look for some ratios that</subtitle>
 +
<subtitle id='01:02:05'>sound string like here's one that's kind of clarinet like there's one two three</subtitle>
 +
<subtitle id='01:02:15'>one is a kind of a nice string sound</subtitle>
 +
<subtitle id='01:02:19'>[Music]</subtitle>
 +
<subtitle id='01:02:27'>if you just plug this now we play the</subtitle>
 +
<subtitle id='01:02:33'>few from the past Akali and few can see minor with a different time where in</subtitle>
 +
<subtitle id='01:02:37'>each voice [Music]</subtitle>
 +
<subtitle id='01:03:02'>wonders of personal computing so here a</subtitle>
 +
<subtitle id='01:03:10'>couple of these Altos in the schools and from our standpoint we'd actually gone</subtitle>
 +
<subtitle id='01:03:14'>to quite a bit of trouble just to get a couple of computers in a classroom in</subtitle>
 +
<subtitle id='01:03:18'>Palo Alto right basically you have to invent both all the hardware and all the</subtitle>
 +
<subtitle id='01:03:24'>software and build all the stuff and you eventually get a couple of computers in</subtitle>
 +
<subtitle id='01:03:29'>the classroom to start actually working with the children so a couple of things</subtitle>
 +
<subtitle id='01:03:36'>here these kind of slides are the most boring slides because they just have</subtitle>
 +
<subtitle id='01:03:43'>text on them but the notion of objects</subtitle>
 +
<subtitle id='01:03:47'>here is very simple and it actually required microcode to make work so</subtitle>
 +
<subtitle id='01:03:53'>they're the ideas there's nothing that isn't an object everything there's no</subtitle>
 +
<subtitle id='01:03:58'>thing in the in the operating system part of it that isn't an object the</subtitle>
 +
<subtitle id='01:04:03'>number three is an object the number the boolean value true is an object and</subtitle>
 +
<subtitle id='01:04:09'>objects can send and receive messages and objects can remember that makes each</subtitle>
 +
<subtitle id='01:04:15'>object kind of like a computer that can communicate and then we actually call</subtitle>
 +
<subtitle id='01:04:21'>these guys classes to change that change</subtitle>
 +
<subtitle id='01:04:25'>this to class here this below the line</subtitle>
 +
<subtitle id='01:04:35'>stuff it's definitely we fooled around every version of small talk and</subtitle>
 +
<subtitle id='01:04:40'>subsequent systems we've done ones up above we've never changed these seems to be three good things</subtitle>
 +
<subtitle id='01:04:45'>about objects and the class this and what a class should be and exactly what</subtitle>
 +
<subtitle id='01:04:52'>it is classes are objects in small talk and</subtitle>
 +
<subtitle id='01:04:56'>the meta system and everything else we've changed numerous times over the</subtitle>
 +
<subtitle id='01:05:01'>years and I think everybody who's fooled around with this stuff finds that this</subtitle>
 +
<subtitle id='01:05:05'>it's difficult to come up with exactly abstractions that you really want but</subtitle>
 +
<subtitle id='01:05:10'>this language stuff actually improve the user interface as you noticed the in</subtitle>
 +
<subtitle id='01:05:18'>an object-oriented system and you say the object first it's actually the subject we should have called them</subtitle>
 +
<subtitle id='01:05:22'>subjects it's actually the subject of the sentence then you say what what</subtitle>
 +
<subtitle id='01:05:26'>you're supposed to do and in the GUI you select the thing that you're going to</subtitle>
 +
<subtitle id='01:05:30'>talk to you first unlike the way Engelbart did it and you send the</subtitle>
 +
<subtitle id='01:05:34'>message with a mouse click and the object is the thing that contains its</subtitle>
 +
<subtitle id='01:05:38'>menus so you get an idiosyncratic menu etc etc and gooeys are successful in an</subtitle>
 +
<subtitle id='01:05:46'>object-oriented systems if you use polymorphism as much as you possibly can</subtitle>
 +
<subtitle id='01:05:52'>and I don't have time for this but</subtitle>
 +
<subtitle id='01:05:56'>basically this is first starting off with the piaget stages and then</subtitle>
 +
<subtitle id='01:06:00'>realizing that Bruner's multiple mentality model so the book here is</subtitle>
 +
<subtitle id='01:06:05'>called towards the theory of instruction by Jerome Bruner still in print and it's</subtitle>
 +
<subtitle id='01:06:10'>a really great book best book I know of about education has nothing to do with</subtitle>
 +
<subtitle id='01:06:15'>computers in it but he shows the a bunch</subtitle>
 +
<subtitle id='01:06:19'>of the experiments that show that unlike Piaget stages where you start off doing</subtitle>
 +
<subtitle id='01:06:24'>and then you move to an image stage and you go to a symbolic Bruner showed that</subtitle>
 +
<subtitle id='01:06:28'>all of the these mentalities are actually active and what's really</subtitle>
 +
<subtitle id='01:06:32'>happening is a change of dominance between the mentalities so if you do</subtitle>
 +
<subtitle id='01:06:37'>your user interface design right you can use all three of these very strong ways</subtitle>
 +
<subtitle id='01:06:41'>that humans have to have to think about things and this is just to remind</subtitle>
 +
<subtitle id='01:06:45'>everybody that icons came were around a lot longer before part sketchpad had</subtitle>
 +
<subtitle id='01:06:50'>them and this was a wonderful system called the Lincoln wand that had a 3d</subtitle>
 +
<subtitle id='01:06:54'>tablet stylus so this things sensed</subtitle>
 +
<subtitle id='01:06:58'>where your hand was in the air and it had a whole iconic menu interface over</subtitle>
 +
<subtitle id='01:07:03'>here that you would just point at and new so that these ideas were around for</subtitle>
 +
<subtitle id='01:07:08'>quite a long time and the park GUI had</subtitle>
 +
<subtitle id='01:07:14'>these characteristics we called it modeless not because there weren't modes</subtitle>
 +
<subtitle id='01:07:20'>but because you didn't have to do something to get out of the mode for example this this guy is on top of this</subtitle>
 +
<subtitle id='01:07:27'>guy so I can select text in here but you know if I want to do something for this</subtitle>
 +
<subtitle id='01:07:32'>guy I just go directly at this guy I</subtitle>
 +
<subtitle id='01:07:36'>don't have to do anything to get out of here I just go for the first command</subtitle>
 +
<subtitle id='01:07:40'>that I want to do here in the system does it what you see is what you get as</subtitle>
 +
<subtitle id='01:07:46'>much as possible here's one that hasn't been done very well today if you can see</subtitle>
 +
<subtitle id='01:07:50'>it you can change it those are the idea that always have authoring be symmetric</subtitle>
 +
<subtitle id='01:07:57'>every view should be overlapping so don't worry about whether they're</subtitle>
 +
<subtitle id='01:08:01'>Windows or not the whole deal is layout and compositing iconic reference for</subtitle>
 +
<subtitle id='01:08:07'>things this is a referent to the place I just was and multiple projects was a key</subtitle>
 +
<subtitle id='01:08:12'>part of the interface at Xerox PARC not done unfortunately I'm the Mac or on on</subtitle>
 +
<subtitle id='01:08:18'>Windows the reason I have them here is I'm using a system that is not using any of the Mac code so this is a actually an</subtitle>
 +
<subtitle id='01:08:25'>iconic reference to this project I was in and if I press on it well maybe</subtitle>
 +
<subtitle id='01:08:35'>nothing will happen oh because I can't see it</subtitle>
 +
<subtitle id='01:08:42'>okay now I'll press on it</subtitle>
 +
<subtitle id='01:08:55'>so I got taken back to where I was down</subtitle>
 +
<subtitle id='01:08:59'>here I have a thing that says go back to the previous one takes me back there so</subtitle>
 +
<subtitle id='01:09:05'>forth so here a couple of this is the first desktop publishing system and</subtitle>
 +
<subtitle id='01:09:09'>here's a technique that we used everywhere which is to have the iconic</subtitle>
 +
<subtitle id='01:09:15'>menus come up around the object that you're using so if you're in the text</subtitle>
 +
<subtitle id='01:09:20'>you get a different menu then you were here the idea that everything is</subtitle>
 +
<subtitle id='01:09:26'>basically layout it's all part of that user interface the idea of retrieving</subtitle>
 +
<subtitle id='01:09:32'>from templates that look like the thing you're trying to retrieve parallel times</subtitle>
 +
<subtitle id='01:09:38'>is about 1974-75 parallel time a guy by the name of sleuth at IBM was doing the</subtitle>
 +
<subtitle id='01:09:44'>same kind of same kind of thing</subtitle>
 +
<subtitle id='01:09:48'>simulation was the name of the game here</subtitle>
 +
<subtitle id='01:09:52'>here's this is a fun one this was the</subtitle>
 +
<subtitle id='01:09:56'>part of the hospital that was actually done by children recapitulating this</subtitle>
 +
<subtitle id='01:10:03'>hospital simulation from Simula one and here's a more complicated version of</subtitle>
 +
<subtitle id='01:10:07'>this thing that we had done so I think</subtitle>
 +
<subtitle id='01:10:12'>just about I mean skip through a few</subtitle>
 +
<subtitle id='01:10:17'>more things here I want to give you a</subtitle>
 +
<subtitle id='01:10:21'>little hint of the parallel work that was going on at MIT at the same time</subtitle>
 +
<subtitle id='01:10:25'>Nicholas Negroponte was on our advisory</subtitle>
 +
<subtitle id='01:10:29'>board for our project at Xerox PARC and I was on his advisory board for his</subtitle>
 +
<subtitle id='01:10:33'>project and he had a big color buffer</subtitle>
 +
<subtitle id='01:10:37'>back in the early 70s and using this color buffer they did a system called</subtitle>
 +
<subtitle id='01:10:42'>spatial data management system and I'll try and show you a few of the highlights in my last four minutes here so here's</subtitle>
 +
<subtitle id='01:10:52'>the map over here are the controls he's got touch pads on the things this</subtitle>
 +
<subtitle id='01:10:58'>is about 1977 or so he's got a huge full</subtitle>
 +
<subtitle id='01:11:02'>wall screen here that shows him where</subtitle>
 +
<subtitle id='01:11:07'>he's navigating around on the map</subtitle>
 +
<subtitle id='01:11:11'>they'll get a sense of this so this is a zooming interface first really good one</subtitle>
 +
<subtitle id='01:11:16'>ever done so the idea is everything that</subtitle>
 +
<subtitle id='01:11:20'>you're interested in is in this thing they call data land and as you navigate</subtitle>
 +
<subtitle id='01:11:25'>over something you can zoom in on</subtitle>
 +
<subtitle id='01:11:29'>anything and it will just retrieve things of higher resolution as you go so</subtitle>
 +
<subtitle id='01:11:34'>that the zoomed out things are their own icons</subtitle>
 +
<subtitle id='01:11:47'>so now he's ooming back out it goes to a lower resolution version of this thing</subtitle>
 +
<subtitle id='01:11:55'>here's a map of MIT so you can see where he's navigating here he's going to go up</subtitle>
 +
<subtitle id='01:12:01'>to his ARPA correspondence on his desktop here here's a letter from I</subtitle>
 +
<subtitle id='01:12:07'>think Steve Lukasik or whoever was there at that time so again you zoom in on it</subtitle>
 +
<subtitle id='01:12:13'>Crispin's up this is also the first anti</subtitle>
 +
<subtitle id='01:12:17'>aliased text and again because nicolas really cared the anti aliased everything</subtitle>
 +
<subtitle id='01:12:29'>so many ways this is the most beautiful single interface design that was done in</subtitle>
 +
<subtitle id='01:12:35'>the in the 70s you can see it's perfectly modern would be great to have</subtitle>
 +
<subtitle id='01:12:41'>it right now</subtitle>
 +
<subtitle id='01:12:45'>so they dove into their report for ARPA</subtitle>
 +
<subtitle id='01:12:49'>which in this new ARPA of the late seventies was the size of a book and he</subtitle>
 +
<subtitle id='01:12:54'>has his controls for the book here so he can point at topics for the book and it</subtitle>
 +
<subtitle id='01:13:00'>will flip the pages here's what it looks</subtitle>
 +
<subtitle id='01:13:05'>like on the on the main screen you zip</subtitle>
 +
<subtitle id='01:13:10'>forward a few so a touchpad is what you</subtitle>
 +
<subtitle id='01:13:16'>use for flipping pages speech</subtitle>
 +
<subtitle id='01:13:21'>recognition</subtitle>
 +
<subtitle id='01:13:32'>take me to the museum that goes the</subtitle>
 +
<subtitle id='01:13:38'>museum telephone interface brings up the</subtitle>
 +
<subtitle id='01:13:44'>interface here so they had eight bits or</subtitle>
 +
<subtitle id='01:13:55'>pick so let me zoom up to a so they use it for doing anti-aliasing and for doing</subtitle>
 +
<subtitle id='01:14:02'>modern graphics so this is the first thing where they actually had graphics</subtitle>
 +
<subtitle id='01:14:06'>designers looking at the interfaces so they're nice and clean and simple very</subtitle>
 +
<subtitle id='01:14:10'>understandable calculator zooming in on</subtitle>
 +
<subtitle id='01:14:19'>a map here's a television set</subtitle>
 +
<subtitle id='01:14:35'>just hooks you up automatically to TV LAPD one blow good maybe that's a good</subtitle>
 +
<subtitle id='01:14:43'>place to stop thank you</subtitle>
 +
<subtitle id='01:14:55'>I do</subtitle>
 +
<subtitle id='4500'>[Applause] </subtitle>

Latest revision as of 22:59, 5 December 2017

[Applause] so whenever you get invited to a
conference that has pioneers in its name I think it's a celebration that we're
just still alive of course all the rest
of these guys are much older than I am
so I thought instead of just talking
about some of our work doing a brief period of be interesting to give you a
sense of what user interface design was
like in the 60s and 70s I'll include
some of the stuff that we did it Xerox PARC but as Newton said he got as far as
he did by standing on the shoulders of giants and we certainly did and I think
you make revolutionary process if you can stand on the shoulders of giants and
try and jump in a in a different direction and we certainly tried to do
that as well so the first thing I'd like
to just show is that the we're set up by
Nature to think normally which means
like McLuhan's fish here who doesn't know that it's swimming in pink water
and he meant that we are the fish and the context and our beliefs are this
colored water that we can't see and a an
interesting model of thinking very
simple model was done by Arthur Kessler some years ago and he took the pink
water from the the goldfish bowl and
spread it out and made a plane and likened normal human thought to an ant
crawling about on this plane and pointed out that the the ant can have the
illusion of progress and that the ant can choose directions
can see goals that can get around obstacles but no matter what it does
everything it does is pink has no sense of other dimensions of a thought but in
every action there's a little outlaw vertical thing a blue action so we might
have a little hint of a blue idea but we've all gone to school we all have
parents we go to church we grow up in a
particular place and so there's this kind of kersplat that comes down and
beats us back into Orthodox ways of thinking but every once in a while in an
unguarded moment taking a shower waking
up in the morning out jogging you suddenly get an outlaw idea an idea that
is can't stand to be confined in the pink plane now how many people in this
room have had one of these epiphanies so
it seems like it comes from heaven and back in the old days people would start
religions because these ideas seem to be
so true now it turns out that all ideas
whether they come this way or come regularly almost all ideas are mediocre
down to bed so the main thing you want to do when you have an idea is take a
nap in Western society we act way too
much we don't think nearly enough but we also have now have the methods of
science for dealing with these inspirations and they allow us a pretty
strong way of testing out whether this idea that seems to come from heaven
actually has any substance to it Kessler pointed out that we have one of three
emotional reactions or some combination so if somebody is telling you a joke
just one of the simplest forms of these a joke is leading somebody down the
bloop down the pink plane and suddenly revealing it's about something very
different you start laughing and if it's science you have this AHA
reaction and sometimes you start laughing because the the thing that's
funny about science is just because we had a new idea the universe didn't
change to accommodate the universe was like that all along and these insights
were just hiding from us and if it's art
then we have this long drawn-out sigh
you know and one of the purposes of our particularly great art is to remind us
that there are these other contexts and
then the difficult thing about having a
new idea is it takes almost as much creative effort on the part of everybody
else to understand this new idea this is why we had to set up schools a few
hundred years ago because these invented ideas were starting to appear and
they're very difficult to learn because they require a kind of a rotation in
normal human common-sense thinking now
in the early 60s I was I worked my way
through school as a systems programmer but I wasn't that interested in computing I was just using it as a job I
was in molecular biology and pure mathematics math I was interested in was
math of algebra so abstract algebra and
molecular biology was just starting to happen then in 1965 there was this great
book here and this book a lot of it was
about this bacterium that we have millions of in our stomach called ecoli
and by doing some calculations which are not in this book I discovered that one
of these little bacteria had about a megabyte of DNA now it was a lot of
computer back back in the nineteen sixty-five and it had three thousand
types of large protein molecules about
five million in total they were running very very quickly
and they reproduced every 20 minutes so is this enormous amount of activity
going on all powered by the kinetic motion of he and I also knew that these
bacteria we're about 1 mm the size of
the cells in our body cells in our body are about 2,000 times larger so this is
about the relative scale of these things and we have about a billion of our cells
just in the first joint of our thumb give you an idea and if a cell where the
size of a grain of rice then our thumb would be about the size of a living room
in your house that would have a billion of these cells and each one of these
cells has about 60 billion components
that interact information alee and Tom
Watson here has and we have about 100
trillion cells so this is a kind of a different way of looking at life that
appeared in the 50s and 60s and it was
just in my mind when I suddenly decided to go to graduate school in computing
and especially the computer pioneers
will remember just how large machines were physically back then and how small
they were logically I think there was a
fantastic somebody you'll remember Tony
there was a fantastic algal compiler compiler by a guy by the name of Brian
Whitman Goodman that had something like
200 passes it was on a on a machine that had I think only drum memory and it had
a very small amount of it so it had to constantly move the tape back and forth
and back and forth doing a little bit of the compilation each time and and the
thought of programming was mostly in terms of algorithms and data structures
not in terms of systems back in the
early 60s but things were starting to happen I was in an ARPA graduate I was
an our graduate student and one of the things that I found about
about shortly after I went to graduate school was was Ivan Sutherlands
sketchpad and sketchpad was kind of the dawn of computer graphics was done in
1962 and so it had this notion of
graphical objects it actually had a clipping window
it had icons and here's kind of what it
looked like
so things were done with a light pen you'll see his hand go up and dip into
the ink there and he's manipulating
buttons on the side so he's gonna draw a flange he doesn't draw it very carefully
because he can draw this thing and then he can point to the parts of the flange
and then he can tell sketch pad to make them all mutually perpendicular sketch
pad is doing that right now and it just figured out how to solve that problem so
you notice the clipping window the actual canvas that he's writing on is
about a third of a mile square there's
plenty of room for drawings again he's saying make these guys parallel and they
are already attached to the sides of the flange so figured out that problem so in
each one of these cases here now the constraint is collinearity for making
these little dashed lines by the way this is not a line drawing display so
every little dot is being plotted individually by this tx2 computer just
about the size of this room dice tells
those lines to be invisible now he's got a hole through the flange zooms back out
now he wants to make a rivet same idea
notice he flicks that pin when he wants
to break the line drawing he chooses
that as the Center for the radius of this arc and now he points to these
lines and says make all of these mutually perpendicular and notice what
it had what it does it pulls the lines together centers the arc and makes a
nice little rivet and he could also constrain the proportions of these guys
if he wants here he's just showing you that they're in this under constrained
thing that he's made there are a number of different solutions for making a
symmetric thing he wants something that looks more like a regular rivet here
now what's cool about this is that this is not just a rivet this is what he
called a master for the rivet what we'd call the class today so now he's going
to make some instances of this rivet can move them around he can make them turn
them make them any size
see this program brought demands for better displays now he's going to prove
to us that you can have multiple instances of this rivet and then he
remembers oh I don't like the cross guys I'm going to make those invisible here
on the master drawing and guess what happens to the instances they all
reflect that change automatically
now he's just made a master of that construction that he made so he's taking
those two classes and composed them together and now we can make instances
of these flanges with a rivet in it and
again each one of them has its own parameters
okay so that's sketchpad so in many ways
the all of the stuff I've done except
maybe aiming it at kids in the last 35 years has been kind of putting a
footnote to these insights and sketchpad and once they asked Ivan Sutherland how
could you possibly have sort of invented
computer graphics done one of the first object-oriented software systems and
done a automatic problem solving system all in one year by yourself he said well
I didn't know it was hard what's
interesting about this we would be very pleased many of us to have a graphic
system we'd like the display to look a little bit better but we'd be very pleased to have a graphic system that
was this flexible that had this look and
feel to it so here's a way you defined
operators and sketchpad was composing constraints so here's a parallel here's
an equal constraint and a parallel constraint and you could pick this as a
graphical object as well he could pick this up and drop it into here copy it
and then you just merged the constraints with the lines that you want to deal
with and the parallel and equal constraints would make this thing into a
rectangle then the interior of sketchpad
you can imagine what it was like to try and read this thesis back in 1966 still
just three years after it had been done and eventually dawned on me that here
this is an instance what he called a
generic block and at some point it dawned on me that each instance opposite
one two three four five the sixth word
down here had a subroutine in it that knew how to display the particular type
of thing so if it was a line knew how to display the line and if it was a point a
knew how to display the point and this is the first time I ever saw what we
call morphism today here and this idea by the
way he didn't completely think of it was actually also in a very very early paper
by Doug Ross who was doing some design
graphic stuff at MIT at the at the same time and there was even kind of a class
hierarchy in it where he had a bunch of different kinds of things he call
variables things that held things had a
whole set of things that recall constraints so these are kind of super
classes each one of these guys was a class and then you couldn't get instance instances of those things so this is an
extremely sophisticated gem of a system
maybe my vote for the greatest single thing ever done in computer science by
one person it's almost astounding even to go
through and read the thesis today and one of the wonderful things about it was
that in his thesis every other page he
apologizes that the system didn't do more because we started this out he just
wanted to do the whole everything you could do in computer graphics with with
this thesis by the way all of these
pictures here were drawn in sketchpad for his thesis and plotted out one of
the few graphics thesis ever in which the computer graphics done by the
graduate student was actually used to produce the images in the thesis well
next thing I encountered in my first two weeks of graduate school were a pile of
tapes and listings from none other than
Kristin and Ola Johan they didn't know
it but we had a univac 1108 at Utah and
I was the latest graduate student and the tradition there is the latest graduate student got the latest dirty
tasks to do and so there's a note on it
that basically said this is the algal for the UNIVAC 1108 it doesn't work
make it work and in pouring into it I
discovered it wasn't exactly alcohol at all it was a Case Western Reserve algal
that had been doctored to make a language called Simula simulated had
documentation that looked exactly as though we're Norwegian transliterated
literally word-for-word into English which in fact it was so we couldn't
understand it but the debugging technique back then and these big
engineering buildings was you could take a listing
remember those fan-fold listings nice piece of computer graphics because you
could take these things and well unwind them down the entire hall of the
building and you could put graduate students on different parts of this listing so about three of us crawled
over this listing on our hands and these caught saying this looks like it might
be the storage alligator and here's where they do this and finally we realized from the storage alligator that
it was actually allocating storage the way sketchpad did and we suddenly
realized that this funny name they had funny names as was mentioned this
morning so they had the word process which didn't quite mean what it meant to
us which we would use the word instance
for today and they used the word activity for what we would use the word
class I haven't liked the word activity but we had no idea what this meant until
we saw the analogy and then I had one of
these epiphanies because I've been
thinking about molecular biology until recently and Simula was kind of question
is is it a better old thing or almost a really new thing and this is the
dichotomy you always get when you run into something new and all of a sudden I
had this idea that wow what if you
basically what if you threw away alcohol and
stayed with what the powerful idea here was that Simula was actually making
things that were like little software computers and would make as many of them
as you wanted and that's what Ivan Sutherland was doing with computer
graphics and a computer obviously by by
the Turing argument could do anything and so you could get rid of data structures which I hated because they
were so fragile and all of a sudden I realized if you could just find a way of
making everything out of little computers you would have a much simpler abstraction than the paraphernalia that
was in use on computing at the time turned out to be difficult to do
pragmatically it's not easy to make the
number-3 a little computer and have it run fast and have it be small in those
days but that was the insight that was one of those holy cows and another thing
that was around at that very same time was Doug Engelbart's online system also
funded by ARPA and this thing was
incredible so the mouse was invented by
Doug and Bill English in 1964 so the mouse is a couple of years old when I
first saw it one of the things that they used with this hypertext system was they
used it for dealing with their structured programming so they had done
their own compiler compiler and they made it so that you could actually get
abstractions of different levels of detail in their code which I thought was
pretty interesting and they use this thing for conferencing so here's what
NLS looked like should be some sound
here but in a minute
so this picture could have been taken yesterday but it was actually taken in 1967 there's the angle Bart with his
mouse and he has a five finger keyboard on the other hand so I can say I'd like to go to produce but I'd like to go to
produce they get big I like to say one branch only and when you look just that
low yeah yeah I'll say a word or two
here so this is actually in many ways a better user interface theory than we use
today three button Mouse five finger
keyboard Engelbart's idea was that you
shouldn't be moving your hands back and forth a lot so I wanted to be able to do
all the navigation you're ever going to do from having your hands out spread and
he also wanted to be able to do simple typing so correcting so you could type
every character out here and you could do all of the manipulation and command
giving in the system the command giving was subroutine style
so a typical command was move character that was the name of the subroutine and
then you'd pick the character you're going to move you'd pick the destination
those are the two parameters and then you'd hit command accept which is this
button all the way over to the right on the mouse so it's interesting how the underlying programming affected the user
interface style and we'll see that happen over and over again I can say I'd
like to see one line only that's you
filters news and I can do this route I said I have here
[Music] so here I'm afraid I'll need a different
pictures of you so here's what I do with a picture drawing capability here's a
slight lamp if I start from work here's the route I seem to have to go to to
pick up all the materials and that's my plan for getting home tonight but if I
want to I can say the library what am I supposed to kick up there I can just
point to that you know I see overdue books and all while there was
sustainment there with that name go back what a fight what's my supposed to pick
up the drugstore hmm I see you everything alright market can
do things if I want to just say I'd like to interchange the car do some camp
materials they're changing them very
quickly cans are gonna get interchanged with Prados they do it an Augustine
number so I'm hoping everybody here
notice that the response time on this system was just a little faster than you
used to this is on 192k time shared
computer with 20 users a half mil
machine but they got sub-second response on everything why two reasons one is
they wanted to
[Applause] the other reason is that they could
really program
this is how you can tell you know you you can't tell whether you have a
Research Center in a company just because there's something called research it's you can tell when the
company gets in trouble and the chief executives do not raid that thing called
research then you know you have a research center otherwise it's just a
toy the same thing with user interface it's not a user interface just to make a
control panel you have a user interface for the people doing the user interface
really care that there's a person at the other end of this thing and really cares
about what the person needs so one of
the distressing things about this system this movie I'm showing you was part of a
demonstration a live demonstration to about 3,000 people in San Francisco in
1968 so this movie is about 33 years old now and if Tim berners-lee
and the other people who did the world wide web bit have the slightest curiosity as they should I'm sure did in
physics to find out what people before them had done they would certainly have
found out what angle Bart did and the world wide web would be much better today but instead it was done really
terribly done as a consume only medium
by 25 years of progress and being able to author on a personal computing and
all of a sudden the web comes along and we're consumers again think about that
all this the hyperlinking and hypertext stuff and conferencing and all of this
stuff have been done in a full-fledged
well-funded project back in the in the late 60s and it got completely missed by
the current wave of very active but very
ignorant people doing computing today
now the other thing that happened in 1964 was the tablet was invented at Rand
so this was a honey of a technology but
unfortunately even in 1967 or 68
it cost about eighteen thousand which is like $100,000 today to get one tablet so
many wonderful things were done on this but usually each research center only
had one of these and it was one of the reasons why the mouse made it and the
tablet didn't it was just too difficult to make tablets for a long long time
now another thing that happened it ran the little even a little earlier was
there's this old old machine called the johniac which is one of the original
Princeton machines done in the early 50s and they were about to take it out of
commission in the late 50s and cliff Shaw said no give it to me he's the Shah
of nool Shan Simon give it to me and
I'll do something with it so what he did was a truly wonderful
interactive the first really great interactive programming language for end
users which was called jaws so jaws liqu looked like this
here's cliff Shaw actually says more words on this video than I ever heard
him say in his entire life we call the
system jaws standing for johniac open-shop system it is an online time
shared use of the computer johniac is a
venerable machine but small and slow by today's standards coupled to it is a
special-purpose buffer for messages to and from remote consoles
each console consists of an electric typewriter and a few buttons and lights
at eight such stations in various locations in the rand building are
connected by telephone lines to the buffer an executive routine in johniac
serves up to eight users at a time by interpreting and carrying out commands
given in a simple language I think you can't really see that what
was beautiful so what was beautiful about this system was about everything
at the end of the paper that cliff Shaw wrote about jaws in published in 1964 he
said the important thing about user interface design is the little things
the hundreds and hundreds of little things so for instance in this system
instead of using teletypes they refitted
a bunch of IBM executive typewriters so
you could have really good-looking typefaces they printed on drilled paper
that would fit into notebooks done by these end users when you typed on the
machine it typed in green and when it typed back at you had typed in black and
every little detail was handled beautifully on the system so there's one
of the few systems in the world when in the morning you realized oh in the
afternoon I'm going to get a chance to use jaws you get this little tingle of
anticipation you knew how many times have you felt that about a computer
system mean just knew this was going to be a beautiful experience because
everything was thought through and he didn't try to do anything that he
couldn't do in this perfect way so this set of standards for many many years in
every respect including documentation
there's Joss then the another thing that
had appeared on the scene in the early 60s was my vote for the first personal
computer which is called the link and
the this is done by Wes Clark here and the one of the design criteria for this
machine was that you had to be able to see over it when you were using it so as
I his idea was you didn't want it that
towered over you when you were using it you would be towering over over it and
it had most of the paraphernalia on it that we associate associate with
personal computers today so it's my vote for the first personal computer and also
in 1965 we had the first statement of
Moore's law then a few years later the second statement of it and the what
happened is kind of in the middle here between doubling every year and doubling
every two years has been doubling about every 18 months so this gave us a
30-year roadmap to be able to understand what kind of computing systems that we
could do then the other thing sorry the
other thing was that ARPA had decided to
finally do the ARPANET work and so suddenly we were thinking about how
could we run a system that might have potentially millions of machines on it
so all of those were context for the ways of thinking about complexity that
led to this machine that Edie Cheadle and I did what's called a flex machine and so I decided to imitate how similar
got implemented where they had some deep insights about objects and they took a
alcohol as a kind of a structure and they made the simular one system that I
was familiar with and I wanted something like jaws and that very same year and
I'm sure Klaus remembers it better than I do because he had to write the paper but
the same year that the Simula paper was published in the ACM which was 66
September 66 in January in February
Klaus feared and Weber had published a
fantastic in-depth treatment of a
language that they designed and implemented called Euler and Euler was
an extreme generalization of alcohol so I was taking alcohol towards lisp in a
sense basically it was based on some earlier ideas by Van vine garden and an
earlier paper that Klaus had written which was called the generalization of alcohol published the year 60 65 or
something so this is beautiful stuff because basically it got down to the
essence and if you looked at Euler you would see something that had the clean
simplicity of Jaws except it was powerful it was really powerful and I
thought boy if we could make oil or object oriented the way Samuel I had
made Alvin Algol object-oriented we would have something that was both very
powerful and also very small because euler had this very nice way of
compiling and it happened that the third computer i'd ever learned was the
borrows be 5,000 and the way they had decided to implement euler was to and
since windows were already around we put them in they weren't overlapping because
the displays back then couldn't they were calligraphic displays
it was very very difficult to make an overlapping window and I never thought of the idea at that point but the using
objects at the lowest level in the system and combining the language with
this idea of co-routines so I realized that if you add co-routines and persistence you didn't
need files because you basically just paused every structure that you wanted
to stay around and just let it stay active as a way of getting away from
data structures so a lot of interesting ideas in this thing and on each
iteration of these languages we did we
implemented the hospital simulation from the Simula one paper because that was
where we finally understood similar one was following those patients around the
hospital will see it not too long from now so I got to skip
over some of these insights we had about objects and maybe if there's time at the
end I'll talk about them I'll just say one word that the more you can think
biology when you're trying to understand objects the better off you are
the more you think C or E or indeed any
programming language with objects graphed and on the further away you are from these things because you're
basically trying to understand systems that are robust and even somewhat
redundant now the summer of 68 we had a
version of this flex machine going and I gave a report on it at the ARPA graduate
students conferences that summer and right before that summer I saw this
first flat panel display it's all of a sudden flat panel display wonder how
long it would be before you could put the Flex machine on the back of this
display then the other thing I had seen right before going to this graduate
conference was what the ran people had done with their tablet this is a system
called Grail
so in 66 so they built a tablet in 64 and 66 they implemented this really
tremendous character recognition algorithm better than graffiti and of
course infinitely earlier than graffiti and then they decided to do a graphical
programming version of Jaws for their analysts that ran and here's what it
like
first we erase a flow arrow then move the connector out of the way so that we
may draw a box in its place so recognizes he wants a box and just makes one now it's recognizing his
handwriting the printing in the box is being used as commentary only in this
case might notice how efficient box is slightly too large so we may change its
size that's where modern-day window control came from literally then draw
flow from the connector to the box
attached to decisions automatic box enjoy flow from it to scan we then
erased the floor arrows attached to the process post new area and move the box
to a new position this allows us to draw
a new box this is an incredible system
and there's a wonderful 15 minute movie
that I'm in the process of digitizing
and putting giving to the computer museum but look at this system all of a sudden you browse my god these guys got
an enormous amount of what user interface design has to be like and
again it was because of their trying to make this system is nice for an end user
as Joss was but now on the displays they just thought of every little thing and
this is smooth and it just really did work as fast as you saw there and any
one of us would like to have this system today but in fact most of the systems
that are pin based today are quite a bit inferior to what these guys did then in
the fall I saw a seymour papert's work with logo and logo wasn't an adaptation
of jaws to lisp for kids so a typical logo program to draw a
circle use differential geometry go a little turn a little over and over again
if you tell that to a turtle which is actually a vector you're adding little
incremental vectors to it and turning it a little you're going to get a
Circle because a circle is that thing that has constant curvature so I when I
saw this I was seeing somebody using computers to make Montessori like toys
for children and it captured my imagination more strongly than anything
else has and on the plane coming home
from that visit I started thinking about what would a computer for children actually be like and I decided it had to
be something they could carry around so we made this cardboard model out of and
and filled it up with lead pellets until people didn't want to carry it around
anymore and so the weight the maximum
weight was one kilogram so anybody here
have a 1 kilogram computer yet so
analogy to musical instruments the idea
of children learning math and science by doing their own simulation games using
real science all of those things were part of this and then this realization
that we might all be dead before the real revolution happens because back in
the manuscript days when the printing press appeared it was 50 years to go
from a big Gutenberg Bible to the oldest book that you could put in your pocket
but the real revolutions from the printing press didn't happen till more
than a hundred years later and so we had this image that here's the mainframe
which is kind of the old manuscript thing here's a desktop computer and
here's a computer you can carry around like the Aldous book there is this image
that gee the real computer revolution might not happen until the middle of
this century and we'd all be gone by that so there's a real urgency to try
and do something about it and we got
that chance at at Xerox PARC so one of
the best things that ever happened right
around in that period was the here's the cardboard model the Dynabook
and here's the real HP 35 calculator and
the a two interesting things happen with
the HP 35 calculator one is I just happened to have it when I had a talk
with my insurance agent and without thinking of it I pulled out the HP 35
and put it on the table between us and all of a sudden he was talking to me
very differently about insurance because I could just sit there and calculate
anything that he said and I realized
that all of a sudden that the balance of power had shifted then the second great
thing that happened is about three weeks after I got this early HP 35 it was
stolen and I realized at last somebody
has made a computer that's stealable
[Applause] we're making progress so let's see now a
few things had changed in the way I was looking at languages remember I said
that Euler had gone quite a ways towards Lisp and I didn't really understand Lisp
at that time and a few years later I had
occasion to go in and try and understand the Lisp interpreter written in itself
and I finally did understand it and then I had this huge Thunderbolt that what
you really needed was late binding and everything not just because you need it
for end users but because it was one of those things where I suddenly realized
hey we don't know anything every time we do something it's a huge learning curve
and when we do it in an early bound form
when we get to this place where we suddenly learn the thing that we needed
to know at the beginning of the project the early boundedness of what we've done
discourages us from going back and redoing things it's just too much work
so you say oh I'll do this in the next system but I realized that the early
boundedness of Lisp coupled with the right kind of programming tools and you
could actually take an inspiration 3/4
of the way through a project and reformulate your code much much more
easily and that was quite possible to do because we were building our own
computers so we build the the Flex machine it had a micro code processor in
there so we could we were actually the
firmware was actually giving us something like a custom piece of
hardware and we were planning on doing that at Xerox PARC and so the idea was
let's do a kiddy computer that we can actually build in the early 70s so the
first one was built around a Sony Trinitron 9
in China Tron and then the realistic
design I did here look like Vic Vic Vic Vic this in 1971 but had the trying to
try and in there I'd had some room for either this mythical 3m tape drive which
finally only did materialize and so forth but the idea was to make a
computer that we could actually put into schools and we have to understand about
display so here's this wonderful old machine we used to call the old
character generator and it was just the highest bandwidth video that money could
make we built it ourselves and the first
thing we did was to try and do really high quality fonts and the second thing
we realized is that we could by turning it upside down in a way we can make one
of the first bitmap memories ever done and do painting so here's what here's
what it looked like to design a character back then
this beating is because this was done on a 16 millimeter bollocks movie camera
back then so just you just designed the
thing in and showed you the thing in different sizes and then then rendered
to render the thing so we did many
experiments with that understood a lot about for example one of the things that
we found was that the worst display pitch you could have for a human being
was 50 to the inch at normal viewing distance that was the one where you
could see the square edge on a dot on a
pixel of course you don't want to see pixels when you look at a display you want to see pictures and so 50 and it
happened that 50 to the inch was the exact pitch that IBM had chosen for all
of its displays so they were the worst looking displays that money could buy
but there was a non-linearity so we discovered that if you made the pitch a
hundred to the inch you'd be having four times as many pixels which was expensive
but the inability to see the square
corner went down by a got better by a
factor of ten so four times as many pixels gave you a factor of 10 better
response and so we realized that just by choosing these very very carefully we
would get some very important let's see
what this is
so here's using it as you also see the
character recognizer that we build in here so L for drawing lines D for
sketching so here's the first painting system so this is done the summer of 72
choose brushes and choose different paints
okay and then we build a bunch of these machines called the Altos and here's
what they look like and this is the this
is the alto doing real-time musical synthesis
[Music]
so this is where we did stuff with really young kids kids of age three and
four this is a button box that has icons
I kind of control on it the Altos were
kind of a joint the hard work was done
by Chuck Thacker it was kind of the hardware genius at Parc and one of the
two or three people that part could not have functioned if he wasn't there and
the design for the thing was sort of the
clash of three friends who also had strong wills myself Butler Lampson and
Chuck Thacker we all kind of got what we wanted the main thing about the Altos
was that they're cheap and pretty fast compared to time sharing and they had
500,000 pixels on the screen so this
allowed us to do many many interesting things without having to optimize for
several years I believe that the one of
the principles for getting ahead in this business is avoid optimize optimizing
while you're trying to design because you're optimizing hat once you put it on
you're a different person you're just not the saint you're in the pink plane
when you're optimizing because you're trying to deal with known facts and make
those known facts happen and so Park was
able to make a lot of progress just by having a bunch of these machines around
and having them be fast enough for a few years so that new ideas could be done very very easily so I'll show you a
couple of example like here's the this
is the first test of overlapping windows
the inspiration I had in the shower the
year before and this is before we put window boundaries on so this is like
after the Alto is about a week old when we did this so these are two pieces of
text and I'm gonna pick up one by its
corner of the way Grail did showing the clipping there
and then I'm gonna drop move this over the other piece of text it's not too
convincing at this point so now I'm
going to bring the other guy up on top
just to prove and then and bring the other guy up on top so the original plan
was to have the windows show full graphics and be dragged and we had to
abandon that because we couldn't quite pull off the animation in real time on this machine so here's some of the
earlier tests for Windows of boundaries these you can see the user interface on
these that the Grail style make it bigger and smaller by the lower corner
they're moving around by that corner get another one by that corner gives you
another little window
and here's a first class of kids
so this is a 12 year olds taught by a 13 year old so she had taken the class the
year before there she is
dynamic Marilyn and this is the what she had done when she was a 12 year old so
this is the first graphics system done by a child so in other words she did it
this application so it has different shape brushes up here and as different
forms so she grabbed the square guy and now she's drawing a picture with it
so a lot of our interest was in end years as being able to make their own
tools here she got the the hexagon brush as drawing tree trunks with the hexagon
now she's getting a little dot drawing
the trunks this is basically a paint
program done by a 12 year old and then in her class
so here's something that's like a drawing an illustration system done by
another twelve-year-old girl so she's got little selection handles and see she
has a little menu down here of different commands so she just changed the color
now she's gonna change the size of the thing make it smaller you can see a
color bar menu up on the top now she's moving the thing so again this thing was
completely designed by a 12 year old and built as an application but it also
shows you the user interface approach here which we used to call doing with
images make symbols you basically stay
in the domain that the users want to operate in and they learn the symbolic
stuff as a way of getting more power over it
now here's a more sophisticated thing done by a fifteen-year-old so this is a
circuit this kid was interested in ham radio so this is a circuit drawing
program that he did so he has a menu of circuit symbols down here but you'll
notice in a second he also uses a pop-up
menu and here you can see his hand doing things you can see that you can get this
pop-up from the middle button on the mouse so he gets a closed dot there from
it we're pretty excited to have a 15
year old do this they just grabbed a
resistor over here and made an instance of it so it's bridging this gap so this
is trying to do as many things as as you
could along the lines of sketchpad but allowing the end users to do their own
tools
okay now the alto was micro coded so you could actually and it had multiple
display buffers had actually display list architecture that allowed you to do
a real double buffered animation so you got the following animation response on
it so I could do about a hundred and twenty square inches of graph graphics
and two and a half D at about twelve frames a second which is what you're
looking at here so how do you make these
animations so this was done by very
talented guy by the name of Ron Becker there's a menu up at the top you can't
quite see here but he's drawing a ball I'm putting a little specular reflection
on it coming over here and he's clicking
on the pop-up translucent mem menu there
to get this show me a path icon now he
says okay now run it so now it's taking
this ball through the path now he wants to get the step icon here the single
step this guy
now he's going to zap this guy and replace it with an empty frame and now
he's going to get another translucent frame and lay it over this one start the
animation you see that frame is missing
but as he starts painting over here it will that painting will be laid in and
he's using this guy underneath as a guide for where the center of the thing
is so you see as he paints the painting as this painting is being put into the
animation the trick of animation is to
put enough similarities in the different frames so that your eye will seem to
make one frame to store it into another it's sort of cognitive morphing and you
notice that even though it's only one frame here you seem to see the ball deforming it's called squash and stretch
another twelve year old girl galloping I
can write a program that has the horse
galloping across the street the screen
here's the horse again and now I have a
jockey here's a feature she added which
is to combine two animated things that's what the jockey on the horse drops them
in to make a race horse now they're one logical entity now I can have the jockey
and the horse run across the stream screen by making another program
okay and one more media thing here so
again because we had micro code we could do real-time music and we invented a
form of FM that could be played in real
time we had any voices of this real-time and what right now we're we're gonna
make a kind of a cello again you get to
see the user interface here we leave the old guys up because we want to see where
we've coming from that gives a gradual
kind of gradually getting louder bowing thing and now we want more harmonics
this is kind of a minute this one he's drawing here is a measure of harmonic
we're on more harmonics in the beginning and then less harmonics so you get the
bow fighting now we want to try various
modulation families this is pitch swoop
up to the pitch so that the string comes up to speed gradually put a little
vibrato in this repeating section between the two lines
[Music]
now let's go look for some ratios that
sound string like here's one that's kind of clarinet like there's one two three
one is a kind of a nice string sound
[Music]
if you just plug this now we play the
few from the past Akali and few can see minor with a different time where in
each voice [Music]
wonders of personal computing so here a
couple of these Altos in the schools and from our standpoint we'd actually gone
to quite a bit of trouble just to get a couple of computers in a classroom in
Palo Alto right basically you have to invent both all the hardware and all the
software and build all the stuff and you eventually get a couple of computers in
the classroom to start actually working with the children so a couple of things
here these kind of slides are the most boring slides because they just have
text on them but the notion of objects
here is very simple and it actually required microcode to make work so
they're the ideas there's nothing that isn't an object everything there's no
thing in the in the operating system part of it that isn't an object the
number three is an object the number the boolean value true is an object and
objects can send and receive messages and objects can remember that makes each
object kind of like a computer that can communicate and then we actually call
these guys classes to change that change
this to class here this below the line
stuff it's definitely we fooled around every version of small talk and
subsequent systems we've done ones up above we've never changed these seems to be three good things
about objects and the class this and what a class should be and exactly what
it is classes are objects in small talk and
the meta system and everything else we've changed numerous times over the
years and I think everybody who's fooled around with this stuff finds that this
it's difficult to come up with exactly abstractions that you really want but
this language stuff actually improve the user interface as you noticed the in
an object-oriented system and you say the object first it's actually the subject we should have called them
subjects it's actually the subject of the sentence then you say what what
you're supposed to do and in the GUI you select the thing that you're going to
talk to you first unlike the way Engelbart did it and you send the
message with a mouse click and the object is the thing that contains its
menus so you get an idiosyncratic menu etc etc and gooeys are successful in an
object-oriented systems if you use polymorphism as much as you possibly can
and I don't have time for this but
basically this is first starting off with the piaget stages and then
realizing that Bruner's multiple mentality model so the book here is
called towards the theory of instruction by Jerome Bruner still in print and it's
a really great book best book I know of about education has nothing to do with
computers in it but he shows the a bunch
of the experiments that show that unlike Piaget stages where you start off doing
and then you move to an image stage and you go to a symbolic Bruner showed that
all of the these mentalities are actually active and what's really
happening is a change of dominance between the mentalities so if you do
your user interface design right you can use all three of these very strong ways
that humans have to have to think about things and this is just to remind
everybody that icons came were around a lot longer before part sketchpad had
them and this was a wonderful system called the Lincoln wand that had a 3d
tablet stylus so this things sensed
where your hand was in the air and it had a whole iconic menu interface over
here that you would just point at and new so that these ideas were around for
quite a long time and the park GUI had
these characteristics we called it modeless not because there weren't modes
but because you didn't have to do something to get out of the mode for example this this guy is on top of this
guy so I can select text in here but you know if I want to do something for this
guy I just go directly at this guy I
don't have to do anything to get out of here I just go for the first command
that I want to do here in the system does it what you see is what you get as
much as possible here's one that hasn't been done very well today if you can see
it you can change it those are the idea that always have authoring be symmetric
every view should be overlapping so don't worry about whether they're
Windows or not the whole deal is layout and compositing iconic reference for
things this is a referent to the place I just was and multiple projects was a key
part of the interface at Xerox PARC not done unfortunately I'm the Mac or on on
Windows the reason I have them here is I'm using a system that is not using any of the Mac code so this is a actually an
iconic reference to this project I was in and if I press on it well maybe
nothing will happen oh because I can't see it
okay now I'll press on it
so I got taken back to where I was down
here I have a thing that says go back to the previous one takes me back there so
forth so here a couple of this is the first desktop publishing system and
here's a technique that we used everywhere which is to have the iconic
menus come up around the object that you're using so if you're in the text
you get a different menu then you were here the idea that everything is
basically layout it's all part of that user interface the idea of retrieving
from templates that look like the thing you're trying to retrieve parallel times
is about 1974-75 parallel time a guy by the name of sleuth at IBM was doing the
same kind of same kind of thing
simulation was the name of the game here
here's this is a fun one this was the
part of the hospital that was actually done by children recapitulating this
hospital simulation from Simula one and here's a more complicated version of
this thing that we had done so I think
just about I mean skip through a few
more things here I want to give you a
little hint of the parallel work that was going on at MIT at the same time
Nicholas Negroponte was on our advisory
board for our project at Xerox PARC and I was on his advisory board for his
project and he had a big color buffer
back in the early 70s and using this color buffer they did a system called
spatial data management system and I'll try and show you a few of the highlights in my last four minutes here so here's
the map over here are the controls he's got touch pads on the things this
is about 1977 or so he's got a huge full
wall screen here that shows him where
he's navigating around on the map
they'll get a sense of this so this is a zooming interface first really good one
ever done so the idea is everything that
you're interested in is in this thing they call data land and as you navigate
over something you can zoom in on
anything and it will just retrieve things of higher resolution as you go so
that the zoomed out things are their own icons
so now he's ooming back out it goes to a lower resolution version of this thing
here's a map of MIT so you can see where he's navigating here he's going to go up
to his ARPA correspondence on his desktop here here's a letter from I
think Steve Lukasik or whoever was there at that time so again you zoom in on it
Crispin's up this is also the first anti
aliased text and again because nicolas really cared the anti aliased everything
so many ways this is the most beautiful single interface design that was done in
the in the 70s you can see it's perfectly modern would be great to have
it right now
so they dove into their report for ARPA
which in this new ARPA of the late seventies was the size of a book and he
has his controls for the book here so he can point at topics for the book and it
will flip the pages here's what it looks
like on the on the main screen you zip
forward a few so a touchpad is what you
use for flipping pages speech
recognition
take me to the museum that goes the
museum telephone interface brings up the
interface here so they had eight bits or
pick so let me zoom up to a so they use it for doing anti-aliasing and for doing
modern graphics so this is the first thing where they actually had graphics
designers looking at the interfaces so they're nice and clean and simple very
understandable calculator zooming in on
a map here's a television set
just hooks you up automatically to TV LAPD one blow good maybe that's a good
place to stop thank you
I do
[Applause]