Difference between revisions of "End-User Programming by Alan Kay (1991)"

From Viewpoints Intelligent Archive
Jump to: navigation, search
(Created page with "{{#evt: service=youtubeIA |id=d6u6my4tCKU |alignment=left |autoresize=false }}")
 
 
Line 3: Line 3:
 
|id=d6u6my4tCKU
 
|id=d6u6my4tCKU
 
|alignment=left
 
|alignment=left
|autoresize=false
+
|autoresize=true
 
}}
 
}}
 +
 +
<subtitle id='00:00:00'></subtitle>
 +
<subtitle id='00:00:04'>okay so next next year will actually be</subtitle>
 +
<subtitle id='00:00:10'>the what I consider to be the 30th anniversary of this endeavor which is</subtitle>
 +
<subtitle id='00:00:14'>called end-user programming and this talk today is sort of it's different</subtitle>
 +
<subtitle id='00:00:24'>from the many talks that are that are given at Apple and elsewhere because</subtitle>
 +
<subtitle id='00:00:29'>most talks are given about minor successes and what I'd like to do is</subtitle>
 +
<subtitle id='00:00:36'>talk to you about a major failure and that it is a failure that has spun off</subtitle>
 +
<subtitle id='00:00:43'>absolutely major successes but it is</subtitle>
 +
<subtitle id='00:00:48'>never converged on its main objective</subtitle>
 +
<subtitle id='00:00:52'>which is to get end-users to be able to</subtitle>
 +
<subtitle id='00:00:59'>work build things aspire to build things</subtitle>
 +
<subtitle id='00:01:06'>on the same kind of level that professional programmers build them and</subtitle>
 +
<subtitle id='00:01:12'>the reason I'm saying it that way is that when we teach somebody to write in</subtitle>
 +
<subtitle id='00:01:17'>English we don't say you'll only pass at</subtitle>
 +
<subtitle id='00:01:22'>this endeavor if you wind up writing a Shakespearean sonnet or a play that is</subtitle>
 +
<subtitle id='00:01:27'>we have levels of what it means to be literate in reading and writing but the</subtitle>
 +
<subtitle id='00:01:34'>language that we try and teach people to use and to teach people to write is the</subtitle>
 +
<subtitle id='00:01:38'>same language that the great artists use</subtitle>
 +
<subtitle id='00:01:43'>likewise when we teach people to paint or teach people on a musical instrument</subtitle>
 +
<subtitle id='00:01:48'>we're generally best off if we are using the same kind of musical instrument that</subtitle>
 +
<subtitle id='00:01:54'>somebody great also uses the so that the</subtitle>
 +
<subtitle id='00:01:58'>idea is that the end users should be able to aspire to the kinds of things</subtitle>
 +
<subtitle id='00:02:02'>that they find in their environment in</subtitle>
 +
<subtitle id='00:02:06'>the case of the Macintosh it means that the end users should be able to aspire</subtitle>
 +
<subtitle id='00:02:10'>to the kinds of things that they see on the Mac every day that they go out and buy it in</subtitle>
 +
<subtitle id='00:02:15'>King's software they may not ever want to put themselves in the position of</subtitle>
 +
<subtitle id='00:02:20'>having to build one of those things with the kinds of smaller things that they</subtitle>
 +
<subtitle id='00:02:25'>build should be built sort of out of the same kinds of building blocks that they</subtitle>
 +
<subtitle id='00:02:31'>think these other applications are built</subtitle>
 +
<subtitle id='00:02:35'>like and I guess I'd like to start off with what I consider to be the prime</subtitle>
 +
<subtitle id='00:02:40'>theorem of all of this work and that is</subtitle>
 +
<subtitle id='00:02:47'>that the end users are not like us and</subtitle>
 +
<subtitle id='00:02:51'>this is a sort of a bell curve theory of life which says that in any endeavor and</subtitle>
 +
<subtitle id='00:02:58'>a population say about this size that 3</subtitle>
 +
<subtitle id='00:03:04'>to 5 percent in that population will be fairly well pre-wired for learning</subtitle>
 +
<subtitle id='00:03:09'>whatever it is it's gonna be a different 5% for each different kind of thing and</subtitle>
 +
<subtitle id='00:03:13'>only a few exceptional people are pre-wired for lots of things but you</subtitle>
 +
<subtitle id='00:03:18'>know some people have terrific control over their body and can learn a new</subtitle>
 +
<subtitle id='00:03:23'>physical coordination fairly easily and</subtitle>
 +
<subtitle id='00:03:27'>reason I put it in a bell curves not because I believe in normal distributions but it's sort of a way of</subtitle>
 +
<subtitle id='00:03:34'>contrasting the way social scientists</subtitle>
 +
<subtitle id='00:03:40'>think of human beings with observations</subtitle>
 +
<subtitle id='00:03:45'>and I sort of split it up that instead of worrying about the six standard</subtitle>
 +
<subtitle id='00:03:49'>deviations that these bell curves are wide I just think of it as 5% 85 and 10</subtitle>
 +
<subtitle id='00:03:55'>and that most of the endeavor in any</subtitle>
 +
<subtitle id='00:03:59'>kind of learning environment is actually</subtitle>
 +
<subtitle id='00:04:03'>devoted to doing something with the 85 the ID 5% are the ones who have enough</subtitle>
 +
<subtitle id='00:04:11'>precursors to build structures that the</subtitle>
 +
<subtitle id='00:04:15'>knowledge can be fit into they are the ones that go somewhere to learn a method</subtitle>
 +
<subtitle id='00:04:20'>or a technique and the kinds of fact</subtitle>
 +
<subtitle id='00:04:24'>this is my second question is how many people presume everybody in this room is a</subtitle>
 +
<subtitle id='00:04:29'>professional programmer is that true anybody here not a professional</subtitle>
 +
<subtitle id='00:04:33'>programmer okay a couple of people so of the professional programmers how many</subtitle>
 +
<subtitle id='00:04:39'>people here felt that they had any great difficulty in learning how to program</subtitle>
 +
<subtitle id='00:04:43'>honestly anything not just learning a</subtitle>
 +
<subtitle id='00:04:50'>language no learning Pascal learning C learning machine code APL let's just</subtitle>
 +
<subtitle id='00:04:58'>take let's just take the garden-variety one so and I followed that category to</subtitle>
 +
<subtitle id='00:05:03'>none of us had any particular difficulty doing that you know there was there are</subtitle>
 +
<subtitle id='00:05:09'>some things we had to learn there are lots of things that we had to learn and we sometimes founded a wrench to go from</subtitle>
 +
<subtitle id='00:05:14'>one language to another my own personal experience I started programming in 1961</subtitle>
 +
<subtitle id='00:05:19'>and I found that the first 5 or 6 machine codes that I learned interfered</subtitle>
 +
<subtitle id='00:05:25'>with each other but after that there wasn't any interference because I soon realized that the the objective of</subtitle>
 +
<subtitle id='00:05:31'>programming was not to remember machine codes but to remember other things that</subtitle>
 +
<subtitle id='00:05:36'>you program in terms of and then you just find the way the Machine does those</subtitle>
 +
<subtitle id='00:05:40'>things and that's sort of the transition from a beginner intermediate to an</subtitle>
 +
<subtitle id='00:05:46'>expert as we'll see later the one of the major difference between experts</subtitle>
 +
<subtitle id='00:05:51'>regardless of what the field is according to cognitive psychologists and</subtitle>
 +
<subtitle id='00:05:55'>people who are not experts is that the experts have somewhere between 10,000</subtitle>
 +
<subtitle id='00:06:00'>and 50,000 what you might call cliches</subtitle>
 +
<subtitle id='00:06:04'>there are things that are independent of the actual building blocks and there are</subtitle>
 +
<subtitle id='00:06:09'>little things like arches and other kinds of structures that are somewhat</subtitle>
 +
<subtitle id='00:06:13'>abstract like an example that's been identified of the many that have been</subtitle>
 +
<subtitle id='00:06:19'>identified in programming is that is</subtitle>
 +
<subtitle id='00:06:24'>very simple one of the ten thousand is the cliche called summing the elements</subtitle>
 +
<subtitle id='00:06:30'>of an array right that's an idea that we actually have and each programming</subtitle>
 +
<subtitle id='00:06:35'>language has a different way of doing it but when we're faced with some sort of</subtitle>
 +
<subtitle id='00:06:39'>problem we're trying to solve start mapping I claim and this is borne</subtitle>
 +
<subtitle id='00:06:44'>out by experiment that we start mapping that problem into the sum of the 10,000</subtitle>
 +
<subtitle id='00:06:49'>things that we have absorbed and that gives us a way of doing planning one of</subtitle>
 +
<subtitle id='00:06:54'>the major distinctions between expert planning and novice planning is that</subtitle>
 +
<subtitle id='00:06:59'>knossos plan when they do plan with the bricks they try and make plans in terms</subtitle>
 +
<subtitle id='00:07:05'>of the bricks and experts almost never do okay and you can imagine the</subtitle>
 +
<subtitle id='00:07:10'>difference in outreach by being able to plan with stuff that you already have</subtitle>
 +
<subtitle id='00:07:15'>inside of you and having to plan with something that is number one to</subtitle>
 +
<subtitle id='00:07:20'>primitive and number two is something you haven't learned yet it's still in some manual somewhere and so you're in</subtitle>
 +
<subtitle id='00:07:26'>this spidery fragile place that characterizes the the novice now one way</subtitle>
 +
<subtitle id='00:07:36'>of interpreting this is this is an elitist way of looking at humanity and</subtitle>
 +
<subtitle id='00:07:42'>in fact there was once a theory that</subtitle>
 +
<subtitle id='00:07:46'>only certain people were ever to be found in the 5% that's more of an</subtitle>
 +
<subtitle id='00:07:50'>elitist theory this notion of the aristocracy and that this being in this</subtitle>
 +
<subtitle id='00:07:56'>five percent was always genetic and and so forth but in fact by letting it hit</subtitle>
 +
<subtitle id='00:08:04'>different people in different populations it actually becomes a different kind of theory I call it a</subtitle>
 +
<subtitle id='00:08:09'>Jeffersonian theory because Jefferson's notion of democracy was as he said if</subtitle>
 +
<subtitle id='00:08:16'>the people do not yet have the discretion to make the decisions that</subtitle>
 +
<subtitle id='00:08:21'>they need then what we should do is better inform their discretion rather</subtitle>
 +
<subtitle id='00:08:25'>than withholding the franchise okay and so what Everson said along with lots of</subtitle>
 +
<subtitle id='00:08:30'>other people like Suzuki who thinks that you don't have to have being here in</subtitle>
 +
<subtitle id='00:08:35'>order to learn how to play the violin and has proved it with millions of counter examples that the of much more</subtitle>
 +
<subtitle id='00:08:44'>than a majority of the people for any given thing actually have enough stuff</subtitle>
 +
<subtitle id='00:08:49'>set up so that they can build the layer that is required to build a next layer</subtitle>
 +
<subtitle id='00:08:54'>we'll get them up to a very high level so this is an improvable theory of life</subtitle>
 +
<subtitle id='00:09:00'>rather than an elitist theory it is</subtitle>
 +
<subtitle id='00:09:04'>impossible to deny the existence of this no matter how Democratic you want to be</subtitle>
 +
<subtitle id='00:09:08'>tough beans this is this is here and you</subtitle>
 +
<subtitle id='00:09:13'>can pick them out in any crowd and the way they do things is different and they</subtitle>
 +
<subtitle id='00:09:17'>do things differently from the word go even when they have not seen the subject</subtitle>
 +
<subtitle id='00:09:22'>matter before and the reason in fact there's some very good</subtitle>
 +
<subtitle id='00:09:26'>beca's Jim spore here I just like to</subtitle>
 +
<subtitle id='00:09:30'>recommend his book that he wrote with Eliot solloway which is a collection of</subtitle>
 +
<subtitle id='00:09:34'>papers on novice programming it has</subtitle>
 +
<subtitle id='00:09:39'>probably 90% of the really good stuff</subtitle>
 +
<subtitle id='00:09:43'>that's ever been published by cognitive psychologists in studying this whole</subtitle>
 +
<subtitle id='00:09:48'>area and as well as we get into some of this some of this stuff will see that</subtitle>
 +
<subtitle id='00:09:54'>some of the things that work really well with the 85% actually hurt these people</subtitle>
 +
<subtitle id='00:10:01'>because these people actually come to the scene with some already some schemas</subtitle>
 +
<subtitle id='00:10:06'>that don't specifically have to do with the area but somehow are much more</subtitle>
 +
<subtitle id='00:10:11'>adaptable to the area than these people there's a way of finding these people</subtitle>
 +
<subtitle id='00:10:16'>ahead of time there are certain kinds of tests you can give to find them ahead of time and some tests have been done with</subtitle>
 +
<subtitle id='00:10:21'>them the other thing I should mention</subtitle>
 +
<subtitle id='00:10:25'>about this talk when I first agreed to do it which is a long time ago I've</subtitle>
 +
<subtitle id='00:10:30'>canceled out several times I was originally going to do it talking about</subtitle>
 +
<subtitle id='00:10:35'>playground but since then I wound up being a being a manager of a couple of</subtitle>
 +
<subtitle id='00:10:41'>projects manager of the vivarium now and I started up a couple of new projects</subtitle>
 +
<subtitle id='00:10:45'>and I've been very busy and doing a</subtitle>
 +
<subtitle id='00:10:49'>presentation on playground got less and less interesting and I still I found out</subtitle>
 +
<subtitle id='00:10:54'>I was still as interested in end-user programming as I ever was so I decided I</subtitle>
 +
<subtitle id='00:10:58'>would do it on this and that this is the last year that we're actually going to</subtitle>
 +
<subtitle id='00:11:06'>make any changes to playground so it's essentially being we're not</subtitle>
 +
<subtitle id='00:11:11'>going to kill it so much the teachers are still going to use it in the classroom but we're going to try and do</subtitle>
 +
<subtitle id='00:11:15'>something better and different so I thought it would be good at the end of</subtitle>
 +
<subtitle id='00:11:20'>the spring or so to have a joint presentation on playground because a lot</subtitle>
 +
<subtitle id='00:11:26'>of what makes playground work is actually the work of Scott Wallace and</subtitle>
 +
<subtitle id='00:11:30'>Marian and Dave Mintz so actually four of us that did it I thought it'd be nice</subtitle>
 +
<subtitle id='00:11:35'>to have a session just on yet and I</subtitle>
 +
<subtitle id='00:11:40'>didn't want to go through a history of all the things that have been done in</subtitle>
 +
<subtitle id='00:11:44'>the past but boy let's see maybe I'll</subtitle>
 +
<subtitle id='00:11:49'>just do it like this and let you scan it I by my count there been somewhere</subtitle>
 +
<subtitle id='00:11:55'>between 30 and 40 programming systems</subtitle>
 +
<subtitle id='00:11:59'>specifically aimed at end users in various ways this is by no means an</subtitle>
 +
<subtitle id='00:12:04'>enumeration of them and this is by no means all the different types they are I</subtitle>
 +
<subtitle id='00:12:10'>just picked what is it ten different types that characterize some of these</subtitle>
 +
<subtitle id='00:12:17'>and some of them are in more than one type of course 62 was the year that two</subtitle>
 +
<subtitle id='00:12:24'>of the best ones that were ever done was done this is why it's so poignant</subtitle>
 +
<subtitle id='00:12:28'>because that's 29 years ago now jaws</subtitle>
 +
<subtitle id='00:12:32'>which is probably I'm going to show you</subtitle>
 +
<subtitle id='00:12:36'>last year right before he died I got the</subtitle>
 +
<subtitle id='00:12:40'>jaws movie from cliff Shaw is the guy</subtitle>
 +
<subtitle id='00:12:45'>who did Joss single-handedly and we was so faded and stuff we went and got it</subtitle>
 +
<subtitle id='00:12:51'>color corrected and stuff anybody wants a copy of it can have it but this is</subtitle>
 +
<subtitle id='00:12:56'>this movie was made in 1964 okay the I'm</subtitle>
 +
<subtitle id='00:13:02'>only going to show you a part of it because I think you'll find it interesting I want to contrast the two two ways of</subtitle>
 +
<subtitle id='00:13:08'>doing things that people started working on back then and the reason they were</subtitle>
 +
<subtitle id='00:13:12'>working on it is because the Advanced Research Projects Agency in 1960 said</subtitle>
 +
<subtitle id='00:13:18'>you know the destiny of the computer is to become a symbiote a complementary partner for humans they</subtitle>
 +
<subtitle id='00:13:25'>didn't know what that meant McCarthy thought it meant that you should have an intelligent agent that was going to that</subtitle>
 +
<subtitle id='00:13:31'>he called the advice taker other people thought it would be something more like</subtitle>
 +
<subtitle id='00:13:35'>a tool so this notion of tool and agent and of course the tools are easier to do</subtitle>
 +
<subtitle id='00:13:40'>than the agents so the tools started appearing first let me let me show you a tool it's called jaws history of this it</subtitle>
 +
<subtitle id='00:13:47'>was done on a computer that I think that was built in 1952 maybe earlier it was</subtitle>
 +
<subtitle id='00:13:52'>one of the Princeton type computers this was one was called johniac because it</subtitle>
 +
<subtitle id='00:13:57'>was John von Neumann was one of the designers of it and I will not describe</subtitle>
 +
<subtitle id='00:14:02'>that machine to you except to say it was much larger than this room and it was</subtitle>
 +
<subtitle id='00:14:07'>astoundingly slow had almost no order</subtitle>
 +
<subtitle id='00:14:12'>set and they were gonna throw it away</subtitle>
 +
<subtitle id='00:14:16'>in 1959 1960 and cliff Shaw said well if</subtitle>
 +
<subtitle id='00:14:20'>you're gonna throw it away let me have it I'll do something on it and this is what</subtitle>
 +
<subtitle id='00:14:24'>he did a system called jaws for johniac open-shop system this is one of the very</subtitle>
 +
<subtitle id='00:14:29'>first interactive systems ever done and</subtitle>
 +
<subtitle id='00:14:33'>when you see it you'll be amazed at what they what they decided to do instead of</subtitle>
 +
<subtitle id='00:14:37'>using teletypes they decided to adapt IBM electric typewriters so in fact you</subtitle>
 +
<subtitle id='00:14:42'>type two jaws in green it would type back to you in black undrilled fan-fold</subtitle>
 +
<subtitle id='00:14:48'>paper so it would go into your notebook in upper and lower case okay and the</subtitle>
 +
<subtitle id='00:14:54'>user interface on this system and the systems that followed it were done about</subtitle>
 +
<subtitle id='00:14:58'>as well as it can be done jaws invented remember basic came along</subtitle>
 +
<subtitle id='00:15:03'>a little bit later and basic was a simulated Fortran when it first came</subtitle>
 +
<subtitle id='00:15:07'>about in basic you didn't interact with it you submit you interacted with the</subtitle>
 +
<subtitle id='00:15:11'>editor and you're what you were doing was the editor was a simulated key punch</subtitle>
 +
<subtitle id='00:15:16'>and you fed simulated cards as data to</subtitle>
 +
<subtitle id='00:15:20'>your basic program so this is like kiddy Fortran at Dartmouth and jaws earlier</subtitle>
 +
<subtitle id='00:15:27'>invented this idea that oh you should be able to have direct and indirect interaction so a direct thing is just</subtitle>
 +
<subtitle id='00:15:34'>saying three plus four and Joss would execute it but if you put a line number in front of it then Joss</subtitle>
 +
<subtitle id='00:15:40'>would defer execution of that line number something we associate with basic</subtitle>
 +
<subtitle id='00:15:44'>and APL but Joss invented it just invented it better as people have often</subtitle>
 +
<subtitle id='00:15:51'>said Joss was an improvement on its successors why did invent it better</subtitle>
 +
<subtitle id='00:15:59'>because Joss the Joss people were smart enough to realize that the line numbers</subtitle>
 +
<subtitle id='00:16:06'>should be floating-point numbers so you could always put things in between</subtitle>
 +
<subtitle id='00:16:13'>something that nobody in basic or APL ever thought of ever okay so this is</subtitle>
 +
<subtitle id='00:16:23'>just the end of it I'm skipping the introduction because I think everybody will understand what's going on right</subtitle>
 +
<subtitle id='00:16:28'>from the word go I haven't tested this out yet so I'm presuming it's all set up</subtitle>
 +
<subtitle id='00:16:33'>and working is that a good supposition</subtitle>
 +
<subtitle id='00:16:43'>turn off the talent in preparing for</subtitle>
 +
<subtitle id='00:16:48'>when it's worked for the unforce brand officers frequently have the problem of</subtitle>
 +
<subtitle id='00:16:52'>evaluating an expression for a number of values to aid in the preparation of a</subtitle>
 +
<subtitle id='00:16:57'>graph here is one such expression let's</subtitle>
 +
<subtitle id='00:17:04'>do it Josh you'll start on a page with a</subtitle>
 +
<subtitle id='00:17:10'>heading</subtitle>
 +
<subtitle id='00:17:14'>step one point three little valley with our warm it up well for values of T any</subtitle>
 +
<subtitle id='00:17:20'>one seventy two forty five and nine</subtitle>
 +
<subtitle id='00:17:33'>and 4l peak to the point line here we</subtitle>
 +
<subtitle id='00:17:38'>can backspace strike over and go on for</subtitle>
 +
<subtitle id='00:17:42'>L equal to point one point two in steps of point two up to - Part 3 if anyways</subtitle>
 +
<subtitle id='00:17:51'>our expression and type out the answers</subtitle>
 +
<subtitle id='00:18:12'>this is WYSIWYG as far as the required</subtitle>
 +
<subtitle id='00:18:21'>to convert degrees to radians and to</subtitle>
 +
<subtitle id='00:18:28'>convert logs to base e to base 10 then</subtitle>
 +
<subtitle id='00:18:35'>we can ask jaws to the result</subtitle>
 +
<subtitle id='00:18:41'>[Laughter]</subtitle>
 +
<subtitle id='00:19:03'>[Laughter]</subtitle>
 +
<subtitle id='00:19:17'>again we'll keep a record of our program before we delete it</subtitle>
 +
<subtitle id='00:19:24'>jobs could operate with indexed variables and the stored program may</subtitle>
 +
<subtitle id='00:19:32'>call for values of variables to be entered during execution will vary the</subtitle>
 +
<subtitle id='00:19:39'>value of the first index X from 1 in</subtitle>
 +
<subtitle id='00:19:43'>steps of 1 to Y</subtitle>
 +
<subtitle id='00:19:49'>and very the index lie from one steps of</subtitle>
 +
<subtitle id='00:19:54'>1 to 8 we enter the value of each</subtitle>
 +
<subtitle id='00:20:02'>variable evidence requested by jobs</subtitle>
 +
<subtitle id='00:20:10'>[Laughter]</subtitle>
 +
<subtitle id='00:20:18'>when all of these values have been entered we may proceed to have jaws</subtitle>
 +
<subtitle id='00:20:22'>calculated in mr. Abel as will be required for problems more complex than</subtitle>
 +
<subtitle id='00:20:27'>we have been able to demonstrate here</subtitle>
 +
<subtitle id='00:20:34'>[Laughter]</subtitle>
 +
<subtitle id='00:20:40'>you have just seen a demonstration of many features of the Java system has</subtitle>
 +
<subtitle id='00:20:45'>pointed out this is an experimental system designed to provide individual</subtitle>
 +
<subtitle id='00:20:50'>scientists and engineers with a personal on-demand computing service as a side</subtitle>
 +
<subtitle id='00:20:56'>aspect of the experiment we hope to gain insight into the interface problem</subtitle>
 +
<subtitle id='00:21:02'>between a man and a computer the system shown here is currently available to</subtitle>
 +
<subtitle id='00:21:07'>rands professional staff our experience in</subtitle>
 +
<subtitle id='00:21:11'>using just our observations of user behavior will be the basis on which to</subtitle>
 +
<subtitle id='00:21:16'>continue research later model systems will certainly differ from what you have</subtitle>
 +
<subtitle id='00:21:21'>seen John is one of many current efforts in online time shared use of computers</subtitle>
 +
<subtitle id='00:21:28'>the goal of the Java project has been to demonstrate that the ability to be</subtitle>
 +
<subtitle id='00:21:33'>online mr. computer given a reasonable language and almost continuous</subtitle>
 +
<subtitle id='00:21:38'>interaction leads to a powerful computational tool it is probably too</subtitle>
 +
<subtitle id='00:21:45'>early to forecast the ultimate effect of such systems but for a certain class of</subtitle>
 +
<subtitle id='00:21:50'>problems at least the programmer as the middleman</subtitle>
 +
<subtitle id='00:21:54'>problem and the machine is no longer needed jos represents to be believed a</subtitle>
 +
<subtitle id='00:22:00'>significant step forward because of an intimate interaction between man and</subtitle>
 +
<subtitle id='00:22:06'>machine this sista i just want to say a</subtitle>
 +
<subtitle id='00:22:14'>personal note that this is one of the few systems i've ever used in my life in</subtitle>
 +
<subtitle id='00:22:19'>which the knowledge that you're going to get to use it in the afternoon set up a</subtitle>
 +
<subtitle id='00:22:23'>pleasant little tingling in you that of</subtitle>
 +
<subtitle id='00:22:27'>anticipation that i mean i can't begin to describe how beautifully everything</subtitle>
 +
<subtitle id='00:22:32'>was finished off and cliff Shaw's paper</subtitle>
 +
<subtitle id='00:22:37'>which some of you may be interested it was written and I think the 63 or 64</subtitle>
 +
<subtitle id='00:22:43'>joint computer conference thing said the important thing in these systems is just</subtitle>
 +
<subtitle id='00:22:49'>in just the details the hundreds and hundreds of little details that you have</subtitle>
 +
<subtitle id='00:22:53'>to do and when and this was a system that users came back to and came back to</subtitle>
 +
<subtitle id='00:22:58'>they just loved it so much so that was</subtitle>
 +
<subtitle id='00:23:02'>Josh and that was one way of doing it might wonder why it didn't Joss make it</subtitle>
 +
<subtitle id='00:23:07'>and basic didn't well it was one of those awful stories that GE decided to</subtitle>
 +
<subtitle id='00:23:12'>do a network later on in the 60s and</subtitle>
 +
<subtitle id='00:23:18'>looking around for something to run on that network they went to every place in</subtitle>
 +
<subtitle id='00:23:23'>the country that had a GE computer and looked to see what was running on it and</subtitle>
 +
<subtitle id='00:23:28'>guess what place had a GE computer Dartmouth Joss was not implemented on a</subtitle>
 +
<subtitle id='00:23:33'>GE computer and so GE took what was running on the Dartmouth time-sharing</subtitle>
 +
<subtitle id='00:23:37'>system and made that the basis of its network called Datanet 50 and that is</subtitle>
 +
<subtitle id='00:23:43'>why and the only reason why basic came around and then of course Bill Gates</subtitle>
 +
<subtitle id='00:23:48'>whose taste whatever whatever taste he</subtitle>
 +
<subtitle id='00:23:52'>has must be mostly in his mouth</subtitle>
 +
<subtitle id='00:23:56'>decided to resurrect the language that</subtitle>
 +
<subtitle id='00:24:01'>had been safely dead for a few years and that will never get rid of it okay so</subtitle>
 +
<subtitle id='00:24:08'>let me show you another system that was done in exactly the same time for</subtitle>
 +
<subtitle id='00:24:15'>contrast this is sketchpad</subtitle>
 +
<subtitle id='00:24:30'>so this was done by the way also on a computer actually a computer almost the</subtitle>
 +
<subtitle id='00:24:36'>size of this floor has Ivan said once it was one of the last truly large</subtitle>
 +
<subtitle id='00:24:41'>computers in the United States it was it was certainly the last computer to have</subtitle>
 +
<subtitle id='00:24:45'>its own roof and also actually one of</subtitle>
 +
<subtitle id='00:24:52'>the great architectural designs call the</subtitle>
 +
<subtitle id='00:24:56'>tx2 to hear sketchpad this is the first</subtitle>
 +
<subtitle id='00:25:02'>known sketchpad movie around nineteen</subtitle>
 +
<subtitle id='00:25:06'>summer 1962 so he's pointing to those things and now</subtitle>
 +
<subtitle id='00:25:10'>he's going to say make all of those angles right angles and sketchpad just</subtitle>
 +
<subtitle id='00:25:14'>figured out how to do that so sketch pad this is the first system</subtitle>
 +
<subtitle id='00:25:19'>that ever had a window and in fact the virtual on this very first graphic</subtitle>
 +
<subtitle id='00:25:24'>system the virtual sheet of paper he's writing on is 1/3 of a mile on a side</subtitle>
 +
<subtitle id='00:25:28'>windowed he says make these guys</subtitle>
 +
<subtitle id='00:25:32'>parallel and now he's going to go in and</subtitle>
 +
<subtitle id='00:25:39'>- the lines</subtitle>
 +
<subtitle id='00:25:46'>so this is the system this is the first or at least I guess one of the first two</subtitle>
 +
<subtitle id='00:25:50'>object-oriented software systems by the</subtitle>
 +
<subtitle id='00:25:55'>way there no there's no line drawing on this display the tx2 is putting up a</subtitle>
 +
<subtitle id='00:25:59'>point it actually has a word of memory for each point on the screen okay but</subtitle>
 +
<subtitle id='00:26:05'>continuous zoom try doing that on a Mac think about what you're seeing here</subtitle>
 +
<subtitle id='00:26:11'>remember this is the number one so he</subtitle>
 +
<subtitle id='00:26:15'>wants to make a rivet again the reason it's called sketchpad is because the</subtitle>
 +
<subtitle id='00:26:20'>idea is you should show sort of what you want and give the the rules and</subtitle>
 +
<subtitle id='00:26:24'>sketchpad should complete it so use the center of the those cross guys to be the</subtitle>
 +
<subtitle id='00:26:30'>center of the circle now he's going to go again and say make those guys I just</subtitle>
 +
<subtitle id='00:26:34'>pointed to mutually at right angles and sketchpad in solving that also forces</subtitle>
 +
<subtitle id='00:26:40'>the rivet to be symmetric and in fact he</subtitle>
 +
<subtitle id='00:26:45'>could have made the ratios of the sides obey some rule as well once asked Ivan</subtitle>
 +
<subtitle id='00:26:56'>how could you possibly in one year done</subtitle>
 +
<subtitle id='00:27:00'>the first computer graphics system the first object-oriented software system and the first constraint based problem</subtitle>
 +
<subtitle id='00:27:05'>solving system and he said well I didn't know it was hard so the system is quite</subtitle>
 +
<subtitle id='00:27:13'>remarkable in that on any system even up</subtitle>
 +
<subtitle id='00:27:17'>to a $200,000 workstation you cannot buy a system that has this kind of</subtitle>
 +
<subtitle id='00:27:22'>interaction and problem-solving ability this is after 30 years he's continuously</subtitle>
 +
<subtitle id='00:27:30'>changing the size of the rivet to size it in there and now he's going to anchor</subtitle>
 +
<subtitle id='00:27:34'>it in there and by the way he that</subtitle>
 +
<subtitle id='00:27:39'>drawing of a rivet was what we call a class nowadays that Ivan called a master</subtitle>
 +
<subtitle id='00:27:44'>so he could make lots of different rivets here's another instance here's</subtitle>
 +
<subtitle id='00:27:52'>another one this is why they decided to do better</subtitle>
 +
<subtitle id='00:27:56'>displays but now look what happened he's</subtitle>
 +
<subtitle id='00:28:00'>gone back to the master of the instance and he's going to make the cross pieces</subtitle>
 +
<subtitle id='00:28:04'>invisible and in the drawing all of the</subtitle>
 +
<subtitle id='00:28:08'>instances have felt that change and you can't do that in Mack draw for Christ's</subtitle>
 +
<subtitle id='00:28:12'>sakes and in fact this drawing that he's</subtitle>
 +
<subtitle id='00:28:16'>doing here is a master itself he's going to zoom in on it</subtitle>
 +
<subtitle id='00:28:25'>it's a master so he can make instances of it</subtitle>
 +
<subtitle id='00:28:45'>and again this composite structure will feel any changes made to its master and</subtitle>
 +
<subtitle id='00:28:52'>so on ad infinitum fact even more</subtitle>
 +
<subtitle id='00:29:01'>sobering is that in that first film I</subtitle>
 +
<subtitle id='00:29:06'>haven't been able to run down a film and Ivan doesn't seem to have won either that showed how you dealt with how you</subtitle>
 +
<subtitle id='00:29:12'>actually made up the constraints and attach them so I have here an excerpt</subtitle>
 +
<subtitle id='00:29:18'>from the one of the sketchpad papers and</subtitle>
 +
<subtitle id='00:29:25'>in fact the fact may be let me do this</subtitle>
 +
<subtitle id='00:29:30'>one first so these little guys this is the this is</subtitle>
 +
<subtitle id='00:29:38'>the object that he's drawn and truly</subtitle>
 +
<subtitle id='00:29:42'>amazingly in sketchpad Ivan decided to make the constraints graphical objects</subtitle>
 +
<subtitle id='00:29:47'>as well they had a class called constraint and each instance of them was</subtitle>
 +
<subtitle id='00:29:54'>shown as an icon okay so this is also the first iconic programming system I'll</subtitle>
 +
<subtitle id='00:30:00'>tell you to me and what an icon is is a symbol in which something about the</subtitle>
 +
<subtitle id='00:30:07'>visible form of the symbol tells you in an analogical fashion about what it's</subtitle>
 +
<subtitle id='00:30:12'>supposed to do or you could say in a metaphorical fashion and so the</subtitle>
 +
<subtitle id='00:30:16'>constraints and sketchpad are like little spiders each arm of them reaches</subtitle>
 +
<subtitle id='00:30:21'>out to a parameter right so the the</subtitle>
 +
<subtitle id='00:30:25'>equal guy here has sort of two double</subtitle>
 +
<subtitle id='00:30:29'>arms because equal applies to in this case applies to lines so this equal</subtitle>
 +
<subtitle id='00:30:34'>constraint is saying I want this guy to</subtitle>
 +
<subtitle id='00:30:38'>be equal in size to this guy okay and</subtitle>
 +
<subtitle id='00:30:43'>that's what he does is he yeah this is a master definition he copies the</subtitle>
 +
<subtitle id='00:30:47'>definition he connects the definition up</subtitle>
 +
<subtitle id='00:30:51'>to the picture they merged together and as they merge together if contain</subtitle>
 +
<subtitle id='00:30:56'>constraints are satisfied and that forces the P guy is a</subtitle>
 +
<subtitle id='00:31:01'>parallel guys that forces these two guys to be parallel this guy forces them to be equal which</subtitle>
 +
<subtitle id='00:31:06'>forces the rest of the structure turn out right so so sketchpad and you can</subtitle>
 +
<subtitle id='00:31:10'>make up new ones of these you want you</subtitle>
 +
<subtitle id='00:31:14'>just didn't have a fixed set of constraints you could take the</subtitle>
 +
<subtitle id='00:31:18'>constraints that were there and build new ones and those would be a class of</subtitle>
 +
<subtitle id='00:31:23'>new constraints that you could then go out and apply it to pictures pretty</subtitle>
 +
<subtitle id='00:31:27'>nifty huh so this is why old farts II get really pissed off after all this</subtitle>
 +
<subtitle id='00:31:33'>time that we haven't actually qualitatively been able to go beyond</subtitle>
 +
<subtitle id='00:31:37'>this in fact in some cases we haven't even been able to do as good this is a</subtitle>
 +
<subtitle id='00:31:42'>long time and I'm including myself in the thing was I've been working for years trying to do something that will</subtitle>
 +
<subtitle id='00:31:47'>actually get over the threshold for the end user all right so the other the</subtitle>
 +
<subtitle id='00:31:52'>other thing that is an important point in this talk is that neither just nor</subtitle>
 +
<subtitle id='00:31:56'>sketchpad got above the threshold for the end user no matter how wonderful</subtitle>
 +
<subtitle id='00:32:00'>they seemed to us why that's why because</subtitle>
 +
<subtitle id='00:32:09'>the users are not like us and in fact if you ever wondered about it think of how</subtitle>
 +
<subtitle id='00:32:15'>many people are who program what percentage of programmers do you think</subtitle>
 +
<subtitle id='00:32:19'>have ever designed a programming language right maybe one in 10,000</subtitle>
 +
<subtitle id='00:32:24'>probably less than that how many programmers have ever designed a new user interface idea right one in</subtitle>
 +
<subtitle id='00:32:31'>100,000 so in fact even when we're design one der why is MPW so bad okay</subtitle>
 +
<subtitle id='00:32:40'>the reason is is that the people who design it even though they were designing for professional programmers</subtitle>
 +
<subtitle id='00:32:45'>they were a different kind of person than the programmers that they were</subtitle>
 +
<subtitle id='00:32:49'>designing it for so no wonder they couldn't design it for these other people because they thought the other</subtitle>
 +
<subtitle id='00:32:53'>people were like them this comes back and back I mean the Mac right now has an</subtitle>
 +
<subtitle id='00:32:59'>absurd set of barnacles on it right it</subtitle>
 +
<subtitle id='00:33:03'>is no longer use they're friendly like it used to be you think it is no way try</subtitle>
 +
<subtitle id='00:33:07'>it out on almost anybody who hasn't seen it before and let them try and</subtitle>
 +
<subtitle id='00:33:12'>find out the chooser for themselves let them try and figure out what it means</subtitle>
 +
<subtitle id='00:33:16'>that when you close the chooser if there's a perceptible lag between the</subtitle>
 +
<subtitle id='00:33:20'>time that it closes the actual window and before that it blinks out the thing</subtitle>
 +
<subtitle id='00:33:26'>that you've just selected but what does the end user do they go back and</subtitle>
 +
<subtitle id='00:33:30'>reselect the chooser to see if it really did select the printer you know this is</subtitle>
 +
<subtitle id='00:33:35'>in the company that is supposed to be making its money on user interface and</subtitle>
 +
<subtitle id='00:33:39'>we actually are willing to sell that and we're willing to sell it regardless of</subtitle>
 +
<subtitle id='00:33:44'>complaints to the contrary to saying why can't you just blink them out at the</subtitle>
 +
<subtitle id='00:33:48'>same time so what's the purpose of this</subtitle>
 +
<subtitle id='00:33:54'>talk purpose of this talk I can't give you a solution for this but I don't want</subtitle>
 +
<subtitle id='00:34:00'>to give a presentation either what I want to do is to have something that ranges between a dialogue and an</subtitle>
 +
<subtitle id='00:34:05'>argument about this stuff the only rule</subtitle>
 +
<subtitle id='00:34:09'>on arguments as you have to back you can't just complain you have to back up</subtitle>
 +
<subtitle id='00:34:14'>your complaint but as far as otherwise</subtitle>
 +
<subtitle id='00:34:18'>in my opinion everything else goes let me show you another system from 1963</subtitle>
 +
<subtitle id='00:34:25'>Ivan's brother Burt who in fact is known</subtitle>
 +
<subtitle id='00:34:29'>as brother Burt did this system which is</subtitle>
 +
<subtitle id='00:34:35'>called sometimes called OGG shop for</subtitle>
 +
<subtitle id='00:34:39'>online graphical specification procedures and Burt's idea Burt had done</subtitle>
 +
<subtitle id='00:34:44'>some hardware design he thought well here's another way of dealing with the end-user let's let the end-user wire up where the</subtitle>
 +
<subtitle id='00:34:52'>values are going to go okay and this set up a whole class of data flow type</subtitle>
 +
<subtitle id='00:34:57'>languages of which one of the best ones that's ever been done was done here at</subtitle>
 +
<subtitle id='00:35:01'>Apple a few years ago called fabric okay and so the idea is you have function</subtitle>
 +
<subtitle id='00:35:07'>boxes the information flows so the what</subtitle>
 +
<subtitle id='00:35:11'>this thing is showing you with the connectivity is where values are going to go so it has the advantage of being</subtitle>
 +
<subtitle id='00:35:17'>variable free and in fact these systems are generally fairly easy to program</subtitle>
 +
<subtitle id='00:35:23'>fairly difficult to deal with once they are</subtitle>
 +
<subtitle id='00:35:27'>one tends to forget what even oneself did a few weeks later and looking at</subtitle>
 +
<subtitle id='00:35:32'>somebody else's can often be a nightmare there's a reason for that which we can</subtitle>
 +
<subtitle id='00:35:39'>talk about later when I start talking about the site some of the psychological aspects okay let me get my where's that</subtitle>
 +
<subtitle id='00:35:59'>slide I just had oh they'll thank you</subtitle>
 +
<subtitle id='00:36:07'>that's the one I was looking for okay so</subtitle>
 +
<subtitle id='00:36:16'>English like things Joss and HyperCard</subtitle>
 +
<subtitle id='00:36:21'>actually are rather close basic had some</subtitle>
 +
<subtitle id='00:36:26'>English like aspects to it but Joss actually went so far as to require you</subtitle>
 +
<subtitle id='00:36:31'>to capital they wanted you to think in terms of sentence so you actually capitalized the first words and Joss and</subtitle>
 +
<subtitle id='00:36:37'>you put a period at the end and it tried</subtitle>
 +
<subtitle id='00:36:41'>to make the stuff very readable APL is sort of math like next system I want to</subtitle>
 +
<subtitle id='00:36:47'>show you is sort of a control throw flow way of doing it which the first great</subtitle>
 +
<subtitle id='00:36:51'>system to do that was Grail and you'll</subtitle>
 +
<subtitle id='00:36:56'>show you two excerpts first just to give</subtitle>
 +
<subtitle id='00:37:00'>you an idea what Grail was story behind this is the the main claim about Joss at</subtitle>
 +
<subtitle id='00:37:08'>Rand was that a lot of the end users who wanted to use the thing didn't know how</subtitle>
 +
<subtitle id='00:37:13'>to type and the pressure from this caused Tom Ellis and a couple of other</subtitle>
 +
<subtitle id='00:37:18'>people to invent the first really great tablet which was emitted in 1964 the</subtitle>
 +
<subtitle id='00:37:22'>same year that the mouse was invented by Engelbart and Bill English and this</subtitle>
 +
<subtitle id='00:37:30'>tablet was an incredible thing even by today's standards except it's price was</subtitle>
 +
<subtitle id='00:37:37'>quite unusual this could give you about a hundred points a</subtitle>
 +
<subtitle id='00:37:42'>second at a resolution of more than a hundred to the inch and it was about</subtitle>
 +
<subtitle id='00:37:47'>like this and cost about eighteen thousand dollars to buy one round</subtitle>
 +
<subtitle id='00:37:53'>1967-1968 okay and here's nineteen sixty</subtitle>
 +
<subtitle id='00:37:57'>five the first really great hand character recognizer you might compare</subtitle>
 +
<subtitle id='00:38:01'>this if you've seen the go systems version of this stuff take a look at</subtitle>
 +
<subtitle id='00:38:06'>this system sorry</subtitle>
 +
<subtitle id='00:38:18'>this list of processes takes us back to the topple stone where we may start to</subtitle>
 +
<subtitle id='00:38:23'>edit the flow diagram so there's no keyboard so CZ wants a box and it makes</subtitle>
 +
<subtitle id='00:38:34'>one now it's recognizing as printing this is</subtitle>
 +
<subtitle id='00:38:46'>where modern-day window control came from literally a decision elements to</subtitle>
 +
<subtitle id='00:38:56'>the box and came from it to scale</subtitle>
 +
<subtitle id='00:39:00'>we then erased the florals attached to the process and new areas and move the</subtitle>
 +
<subtitle id='00:39:06'>box to a new position this allows us to</subtitle>
 +
<subtitle id='00:39:13'>draw a new box then chop off his corner</subtitle>
 +
<subtitle id='00:39:19'>and label it sub scan [Applause]</subtitle>
 +
<subtitle id='00:39:25'>with the residual error now notice it's modeless misses the an he sees it he</subtitle>
 +
<subtitle id='00:39:31'>hesitates but he says I'll just complete it because I don't have to go into any</subtitle>
 +
<subtitle id='00:39:35'>mode okay so that was grail now that was</subtitle>
 +
<subtitle id='00:39:52'>about 1968 and one of the one of the</subtitle>
 +
<subtitle id='00:39:56'>great experiences I ever had in my life was to use that system for about a half</subtitle>
 +
<subtitle id='00:40:00'>an hour's about all that would stay up between crashes okay now let's take a</subtitle>
 +
<subtitle id='00:40:08'>look at now Grail is actually an end user language it was actually a simulation language and here's an</subtitle>
 +
<subtitle id='00:40:13'>example it is the process that we call</subtitle>
 +
<subtitle id='00:40:31'>the pseudo random integers because the process has been predefined in this file</subtitle>
 +
<subtitle id='00:40:36'>when we press on the translation display appears to be filled in in this case the</subtitle>
 +
<subtitle id='00:40:43'>translation is quite simple and requires just two crackers to return to the</subtitle>
 +
<subtitle id='00:40:48'>diagram we press return and drawing too</subtitle>
 +
<subtitle id='00:40:52'>soon element on a random wavelet drawing</subtitle>
 +
<subtitle id='00:40:56'>little connector and nullify it to represent a switch control planes can</subtitle>
 +
<subtitle id='00:41:01'>land to the switch label a switch with a name and a variable subscript to provide</subtitle>
 +
<subtitle id='00:41:09'>a terminal for each value of the subs we draw a trail or connectors and label</subtitle>
 +
<subtitle id='00:41:15'>each with the same name as the control switch and subscript each with a numeric</subtitle>
 +
<subtitle id='00:41:21'>value from 0 to 7</subtitle>
 +
<subtitle id='00:41:35'>to simplify the problem we draw another remote connector and label it then</subtitle>
 +
<subtitle id='00:41:41'>gather all of the control paths into</subtitle>
 +
<subtitle id='00:41:51'>this is tedious as the fighter note that</subtitle>
 +
<subtitle id='00:41:55'>this connector has no control point</subtitle>
 +
<subtitle id='00:42:05'>to close the loop we draw another remote connector give it the same label as the</subtitle>
 +
<subtitle id='00:42:11'>collection point and draw an arrow from it to rent before we can simulate the</subtitle>
 +
<subtitle id='00:42:17'>process we must assign space and values</subtitle>
 +
<subtitle id='00:42:21'>to data variables when we printed the switch subscript or entered a label on</subtitle>
 +
<subtitle id='00:42:27'>the interface display our used data labels on the coaming form each was</subtitle>
 +
<subtitle id='00:42:32'>stored away to be presented on this display that's the seed for the random</subtitle>
 +
<subtitle id='00:42:38'>number generator thought he did yeah</subtitle>
 +
<subtitle id='00:42:42'>exactly this is this is yeah this is what they</subtitle>
 +
<subtitle id='00:42:47'>actually wrote the operating system for this machine in this system notice it</subtitle>
 +
<subtitle id='00:42:59'>has as a speedometer up there it takes</subtitle>
 +
<subtitle id='00:43:05'>you through everything</subtitle>
 +
<subtitle id='00:43:22'>we will stop the simulation a nuisance</subtitle>
 +
<subtitle id='00:43:27'>okay so that was grail well it's this</subtitle>
 +
<subtitle id='00:43:33'>machine I believe was about all of these</subtitle>
 +
<subtitle id='00:43:37'>all of these systems were programmed on machines were about like 512 K max and</subtitle>
 +
<subtitle id='00:43:42'>it takes two for sketchpad was about 512 K and it was about to say his speed as a</subtitle>
 +
<subtitle id='00:43:47'>512 K Mac and this machine was a was a</subtitle>
 +
<subtitle id='00:43:51'>model 40 with a they built all their own displays and stuff herself was sort of a</subtitle>
 +
<subtitle id='00:43:56'>kludge duck display system all single user of course so it's about about that</subtitle>
 +
<subtitle id='00:44:04'>I mean that's the main thing is they could actually program back then so it</subtitle>
 +
<subtitle id='00:44:09'>was it was different they didn't have to wallow in bytes in order to get things</subtitle>
 +
<subtitle id='00:44:13'>done that hand character recognizer has</subtitle>
 +
<subtitle id='00:44:18'>been available in a paper since around 1965 and anybody who does the strange</subtitle>
 +
<subtitle id='00:44:25'>thing called reading papers could actually go back and look at it and</subtitle>
 +
<subtitle id='00:44:29'>implement it what's interesting is that the things like the go system are</subtitle>
 +
<subtitle id='00:44:35'>actually not even as good as the Laveen recognizer which is in the back of</subtitle>
 +
<subtitle id='00:44:40'>Sproul and Newman's book which is about it like a five page program in basic or</subtitle>
 +
<subtitle id='00:44:45'>C or something like that so this is a typical example of Silicon Valley trying</subtitle>
 +
<subtitle id='00:44:49'>to roll their own and coming up with that new kind of wheel that has about 15</subtitle>
 +
<subtitle id='00:44:55'>corners on it and this is really a serious problem I'm I am get very</subtitle>
 +
<subtitle id='00:45:00'>exercised when I see people doing stuff worse than was done 30 years ago</subtitle>
 +
<subtitle id='00:45:05'>especially when there's documentation that anybody could read so you can least</subtitle>
 +
<subtitle id='00:45:09'>start from where some of these characters left off you know you think we're doing better</subtitle>
 +
<subtitle id='00:45:13'>now than we did back then no we aren't we aren't doing better now they one of</subtitle>
 +
<subtitle id='00:45:19'>the reasons they were able to do so well is you couldn't make money at this back then</subtitle>
 +
<subtitle id='00:45:24'>the people who did this did it because they loved it and they they believed in</subtitle>
 +
<subtitle id='00:45:29'>this dream that the computer could actually be something wonderful for people they cost millions of dollars to</subtitle>
 +
<subtitle id='00:45:34'>do these experiments and they had to get people who are willing to put millions not $3,000 for makka FX or 10,000 for a</subtitle>
 +
<subtitle id='00:45:42'>mac FX but millions of dollars to do one of these systems in a form that could</subtitle>
 +
<subtitle id='00:45:46'>never be commercialized that was what it was like back then there's my old fart</subtitle>
 +
<subtitle id='00:45:52'>part of the lecture ok another system</subtitle>
 +
<subtitle id='00:46:01'>I'd like you to look at is I think it's</subtitle>
 +
<subtitle id='00:46:10'>this now in fact we were very so this is</subtitle>
 +
<subtitle id='00:46:23'>the one of the original movies of the old Dynabook model and</subtitle>
 +
<subtitle id='00:46:32'>we were very interested in seeing what</subtitle>
 +
<subtitle id='00:46:37'>end-users could do let me show you what</subtitle>
 +
<subtitle id='00:46:45'>one of our child and users could do in</subtitle>
 +
<subtitle id='00:46:49'>an object-oriented language object orientation as I say it existed in</subtitle>
 +
<subtitle id='00:46:56'>sketchpad existed in Simula never been</subtitle>
 +
<subtitle id='00:47:02'>used in a direct form for end-users until some of the Flex machine stuff and</subtitle>
 +
<subtitle id='00:47:09'>then most especially the small talk stuff and see what not quite sure where</subtitle>
 +
<subtitle id='00:47:21'>I am on this tape okay so here's so this</subtitle>
 +
<subtitle id='00:47:41'>is something like Mac draw it's a twelve</subtitle>
 +
<subtitle id='00:47:48'>year old girl</subtitle>
 +
<subtitle id='00:47:52'>[Music]</subtitle>
 +
<subtitle id='00:47:58'>the system is tight general and allow five sizes and colors to change that</subtitle>
 +
<subtitle id='00:48:03'>will many instances can be created from</subtitle>
 +
<subtitle id='00:48:09'>the shape description she is betting to build a truck the idea</subtitle>
 +
<subtitle id='00:48:17'>of a system to a drawing is something every child understands intuitively because they already know about drawing</subtitle>
 +
<subtitle id='00:48:22'>the school in order to design and build</subtitle>
 +
<subtitle id='00:48:29'>the system however Susan had to gain a fairly deep symbolic understanding of</subtitle>
 +
<subtitle id='00:48:34'>some of the semantics of drawing even more until she has time to grasp the</subtitle>
 +
<subtitle id='00:48:39'>very powerful notions which have something to do with inventing comprehensive models that not only</subtitle>
 +
<subtitle id='00:48:43'>capture her desires and ideas but which also rock</subtitle>
 +
<subtitle id='00:48:57'>okay so that now I won't show this one</subtitle>
 +
<subtitle id='00:49:02'>just in the interest of time so we had some successes at that and I'd</subtitle>
 +
<subtitle id='00:49:11'>characterize part of this success we had is because there was a fair amount of</subtitle>
 +
<subtitle id='00:49:18'>what you might call pre modeling with the kids I'll give you an example of</subtitle>
 +
<subtitle id='00:49:25'>this is stuff that was worked out by</subtitle>
 +
<subtitle id='00:49:29'>Adelle and some of the rest of us trying</subtitle>
 +
<subtitle id='00:49:36'>to figure out how do you get kids to do</subtitle>
 +
<subtitle id='00:49:41'>something besides just make pretty patterns on the screen the way they do in logo because one of the one of the</subtitle>
 +
<subtitle id='00:49:47'>biggest problems is the limited success</subtitle>
 +
<subtitle id='00:49:51'>or success in a limited area is probably one of the biggest barriers to getting</subtitle>
 +
<subtitle id='00:49:56'>major success you know it's the local mini minimum problem and one of things</subtitle>
 +
<subtitle id='00:50:01'>that was discovered although much after the fact was that the kids who did learn</subtitle>
 +
<subtitle id='00:50:07'>logo before logo had a turtle did much more interesting programs they were</subtitle>
 +
<subtitle id='00:50:12'>doing list processing of things like turning English sentences into pig latin</subtitle>
 +
<subtitle id='00:50:16'>sentences or it into french sentences where they actually had to use recursions and parameters and stuff</subtitle>
 +
<subtitle id='00:50:21'>whereas with the logo turtle you can actually do fairly elaborate effects on the screen just by long strings of four</subtitle>
 +
<subtitle id='00:50:28'>words and less so there's a real tendency for the kids to sit there</subtitle>
 +
<subtitle id='00:50:32'>rather than taking on the bigger structures in fact we discovered that because the first way we taught small</subtitle>
 +
<subtitle id='00:50:38'>talk to kids was in the form of turtle</subtitle>
 +
<subtitle id='00:50:43'>geometry because we didn't know what else to do so adele started thinking</subtitle>
 +
<subtitle id='00:50:48'>about how could you teach objects to the</subtitle>
 +
<subtitle id='00:50:52'>kids so she gave the kids a program called box and they typed something like</subtitle>
 +
<subtitle id='00:50:57'>Joe gets box new and a box would appear</subtitle>
 +
<subtitle id='00:51:01'>on the screen and the they could then say Joe grow and Joe turn 15 and the</subtitle>
 +
<subtitle id='00:51:07'>boxes would obey these messages that were sent to it</subtitle>
 +
<subtitle id='00:51:11'>and she you could get another box called Jill so you had two instances of them</subtitle>
 +
<subtitle id='00:51:15'>you can make Jill go one way and Jo go the other way and then she would get the</subtitle>
 +
<subtitle id='00:51:19'>kids to try and guess the interior of box what what were these box and they</subtitle>
 +
<subtitle id='00:51:24'>had they'd exit they had actually exercised the thing enough to know that</subtitle>
 +
<subtitle id='00:51:31'>that there are these I apologize for the</subtitle>
 +
<subtitle id='00:51:35'>size of this that there are these commands that there was a a turn command</subtitle>
 +
<subtitle id='00:51:41'>a move command a grow can may actually</subtitle>
 +
<subtitle id='00:51:45'>there wasn't a move command in it there is a draw undraw redraw turn and grow</subtitle>
 +
<subtitle id='00:51:50'>and so forth and they write down sort of</subtitle>
 +
<subtitle id='00:51:54'>an English description of what they thought was actually going on and then</subtitle>
 +
<subtitle id='00:51:58'>after they done that we would show them much to their horror what was actually</subtitle>
 +
<subtitle id='00:52:02'>there and it was in terms of the turtle</subtitle>
 +
<subtitle id='00:52:06'>each one of these in this particular way of doing it each of these instances</subtitle>
 +
<subtitle id='00:52:11'>owned its own turtle and so when you said turn it would say something like</subtitle>
 +
<subtitle id='00:52:19'>actually this is this is a fancier version that Dan did it would say</subtitle>
 +
<subtitle id='00:52:24'>something like selfie race changed my</subtitle>
 +
<subtitle id='00:52:29'>internal angle to the new angle and then self draw so that it was fairly theirs</subtitle>
 +
<subtitle id='00:52:35'>so there's three little sentences for each one of these things and then they</subtitle>
 +
<subtitle id='00:52:39'>would the next thing they would do is to</subtitle>
 +
<subtitle id='00:52:43'>make a plan to add a move here's one</subtitle>
 +
<subtitle id='00:52:52'>version of move</subtitle>
 +
<subtitle id='00:52:57'>sort of the way we did of getting the kids to write the English before they</subtitle>
 +
<subtitle id='00:53:02'>worked on the small talk so they put an English description of their intention</subtitle>
 +
<subtitle id='00:53:06'>and then they would do they would say</subtitle>
 +
<subtitle id='00:53:11'>self on draw placed the turtle at some new place and then say self draw so</subtitle>
 +
<subtitle id='00:53:17'>that's an analogy to the things that were already there and that was one of</subtitle>
 +
<subtitle id='00:53:21'>the things that led us to be interested in sub classing because we thought that</subtitle>
 +
<subtitle id='00:53:26'>the getting something that had superclass's would actually help the</subtitle>
 +
<subtitle id='00:53:32'>fledgling programmer by providing metaphors that would help them in their</subtitle>
 +
<subtitle id='00:53:36'>planning turned out not to be the case in fact super classes are very hard even</subtitle>
 +
<subtitle id='00:53:41'>for professional programmers to deal with anybody know why anybody have a</subtitle>
 +
<subtitle id='00:53:47'>sense anybody ever tried doing something in sub classing something in small talk</subtitle>
 +
<subtitle id='00:53:53'>somebody must have an opinion yeah what</subtitle>
 +
<subtitle id='00:53:57'>what is the superclass mean right you can't even be sure that the word print</subtitle>
 +
<subtitle id='00:54:02'>means what it's supposed to mean because small talk doesn't enforce any external</subtitle>
 +
<subtitle id='00:54:06'>meaning of it so we actually have to go read the superclass code to try and</subtitle>
 +
<subtitle id='00:54:11'>figure out what it does and it's not in a particularly readable form so the next</subtitle>
 +
<subtitle id='00:54:20'>thing the kids kids would do is in this move plan they would one of the things</subtitle>
 +
<subtitle id='00:54:30'>they might do is to leave out the undraw so now the box would leave a trail</subtitle>
 +
<subtitle id='00:54:34'>another thing they could do is to hook up the parameters of where the move to</subtitle>
 +
<subtitle id='00:54:39'>is to the mouse and they could drag the box around leaving a trail now and they</subtitle>
 +
<subtitle id='00:54:43'>would have a little painting program and a little painting power Graham was the</subtitle>
 +
<subtitle id='00:54:47'>basis for this system that was twelve twelve year old girl did okay that</subtitle>
 +
<subtitle id='00:54:54'>system by the way that the twelve year old did would be quite a challenge in HyperCard because hypercar isn't really</subtitle>
 +
<subtitle id='00:55:00'>an object-oriented language and you are without having something like</subtitle>
 +
<subtitle id='00:55:05'>independent objects that you can deal with after you've made them it is impossible to go back and recent you</subtitle>
 +
<subtitle id='00:55:10'>know think of what you have to do hypercard to simulate object-oriented graphics right you actually have to have</subtitle>
 +
<subtitle id='00:55:16'>another card where you're making the drawings on and then you're swapping</subtitle>
 +
<subtitle id='00:55:20'>images and yep you're forcing the end user to actually do double buffered</subtitle>
 +
<subtitle id='00:55:25'>graphics which is a little silly okay so</subtitle>
 +
<subtitle id='00:55:31'>that was a small talk we talked about</subtitle>
 +
<subtitle id='00:55:35'>data flow pattern matching just like snowball and but G was a graphical</subtitle>
 +
<subtitle id='00:55:39'>language to do that they've been rule-based languages like Rita which is</subtitle>
 +
<subtitle id='00:55:45'>called another one done it ran call which is called a Rand intelligent terminal agent</subtitle>
 +
<subtitle id='00:55:49'>which is basically a pattern matching</subtitle>
 +
<subtitle id='00:55:54'>system for allowing the end user when the end user came up to another database</subtitle>
 +
<subtitle id='00:56:00'>that the end user wanted to deal with the end user supposedly was able to</subtitle>
 +
<subtitle id='00:56:04'>write some rules in it that described the new database and Rita would merge</subtitle>
 +
<subtitle id='00:56:11'>this database into the user interface that the end user used for all databases</subtitle>
 +
<subtitle id='00:56:15'>turned out not to work so well but they learned a lot about rule based program</subtitle>
 +
<subtitle id='00:56:20'>so what's happened along the way of doing this stuff is that almost every</subtitle>
 +
<subtitle id='00:56:24'>one of these systems has led to an advanced in the world of the programmer</subtitle>
 +
<subtitle id='00:56:28'>but the end users still can't really do</subtitle>
 +
<subtitle id='00:56:33'>what they need to do that's the paradox that's why it's so frustrating every</subtitle>
 +
<subtitle id='00:56:37'>time we do something here it spills out really nicely into professional</subtitle>
 +
<subtitle id='00:56:41'>programmer world but we it's somehow we can't quite get past the barrier that</subtitle>
 +
<subtitle id='00:56:46'>the users aren't like us actually we have Alan warning here Alan want you</subtitle>
 +
<subtitle id='00:56:51'>raise your hand Alan did the best follow-on to sketchpad</subtitle>
 +
<subtitle id='00:56:56'>which is called thing lab and actually we have Dan Ingalls here who is the</subtitle>
 +
<subtitle id='00:57:00'>architect Dan which raise your hand who is the major architect of small talk</subtitle>
 +
<subtitle id='00:57:04'>over the many years so I bited them along because I figured if nobody else</subtitle>
 +
<subtitle id='00:57:08'>here would argue with me they probably would by demonstration programming by</subtitle>
 +
<subtitle id='00:57:17'>demonstration one of the first really good examples of that was Pygmalion have</subtitle>
 +
<subtitle id='00:57:21'>Dave Smith here see this is raise your hand</subtitle>
 +
<subtitle id='00:57:26'>so what's frustrating about this we have all these great people working for Apple</subtitle>
 +
<subtitle id='00:57:30'>and we still can't solve this goddamn problem so Pygmalion is maybe a better</subtitle>
 +
<subtitle id='00:57:40'>[Applause] Pygmalion I still think is one of the</subtitle>
 +
<subtitle id='00:57:46'>best ideas this is one of these systems that deserves to be done again because</subtitle>
 +
<subtitle id='00:57:52'>basic notion of this one is if you could capture what one programmer would</subtitle>
 +
<subtitle id='00:57:57'>explain to another when trying to explain an algorithm at the blackboard</subtitle>
 +
<subtitle id='00:58:01'>the programmer goes up there and draws some pictures of data structures and say well first you do the basically showing</subtitle>
 +
<subtitle id='00:58:06'>editing level at it of how you go from the raw ingredients to how you get your</subtitle>
 +
<subtitle id='00:58:10'>results and you capture that you would capture a lot of the useful parts of an</subtitle>
 +
<subtitle id='00:58:17'>algorithm without having to know a lot of the grungy terms and it in turn was</subtitle>
 +
<subtitle id='00:58:23'>based on some of the ideas of WYSIWYG</subtitle>
 +
<subtitle id='00:58:27'>editing that as they've put in his thesis people rarely make a an egregious</subtitle>
 +
<subtitle id='00:58:32'>error in a WYSIWYG text editor and the</subtitle>
 +
<subtitle id='00:58:36'>reason is because they're making the change right where they're looking and they can see whether the change was the</subtitle>
 +
<subtitle id='00:58:42'>one that they wanted or not so they're right there there's not this huge delay</subtitle>
 +
<subtitle id='00:58:46'>between seeing the change Radia Perlman had taught turtle</subtitle>
 +
<subtitle id='00:58:50'>programming to very young children by using a button box in which the turtle</subtitle>
 +
<subtitle id='00:58:54'>always acted out what it was going to do even when it was was when it was</subtitle>
 +
<subtitle id='00:58:59'>remembering and what's nice about in</subtitle>
 +
<subtitle id='00:59:03'>there are two ways you can go on a programming by demonstration system one</subtitle>
 +
<subtitle id='00:59:07'>way to go is to try and have some AI to try and figure out what the intent of</subtitle>
 +
<subtitle id='00:59:12'>the demonstration is we even have some</subtitle>
 +
<subtitle id='00:59:16'>systems that are being worked on on here Allen cipher and some other people are working on them I think this is a very</subtitle>
 +
<subtitle id='00:59:21'>hard problem and the reason is that I believe that in order to figure out the</subtitle>
 +
<subtitle id='00:59:26'>intent in any reasonable domain for programming that you have to have</subtitle>
 +
<subtitle id='00:59:30'>something like psych and you have to have a model of the 10,000 or 15,000</subtitle>
 +
<subtitle id='00:59:35'>people's the things that people generally want to do you have to have some way of figuring</subtitle>
 +
<subtitle id='00:59:39'>out what the goal is and if you don't</subtitle>
 +
<subtitle id='00:59:43'>have a way of understanding of homing in quickly on the goal the possibilities</subtitle>
 +
<subtitle id='00:59:48'>for misunderstanding what the intent is is tremendous just as this happens when you're dealing</subtitle>
 +
<subtitle id='00:59:53'>with another person who thinks in a different way I think the other way to</subtitle>
 +
<subtitle id='00:59:57'>do it was something that was done by dave student dan hilbert in a system</subtitle>
 +
<subtitle id='01:00:03'>called small star which is sort of the i think of as the granddaddy of direct</subtitle>
 +
<subtitle id='01:00:10'>manipulation programming by demonstration systems in which what he</subtitle>
 +
<subtitle id='01:00:14'>did is he tried to collect a transcript you know we would call it a macro today</subtitle>
 +
<subtitle id='01:00:19'>but to collect the macro in such a way that the form of the macro was</subtitle>
 +
<subtitle id='01:00:24'>meaningful in higher-level terms rather than low-level terms the way most macros</subtitle>
 +
<subtitle id='01:00:28'>are today and then you could go to that thing and be able to edit it into the</subtitle>
 +
<subtitle id='01:00:35'>level of generality that you're really trying to understand and I happen to</subtitle>
 +
<subtitle id='01:00:39'>believe that that is the best way in the next five years to solve this problem I</subtitle>
 +
<subtitle id='01:00:44'>do not believe that AI is going to get enough there and a little bit of AI is</subtitle>
 +
<subtitle id='01:00:49'>almost worse than none at all because it can actually get the user into a place</subtitle>
 +
<subtitle id='01:00:55'>where he's trying to outguess some system that can't guess what he's trying to do okay so let me talk about a few</subtitle>
 +
<subtitle id='01:01:08'>psychological ideas and some studies that have been done that are sort of a</subtitle>
 +
<subtitle id='01:01:13'>basis for us the first one is the one that gave rise to the Macintosh and next</subtitle>
 +
<subtitle id='01:01:20'>month we're actually going to give Jerome Bruner a Mac for coming up with</subtitle>
 +
<subtitle id='01:01:28'>what I think of as the main psychological basis for the design of</subtitle>
 +
<subtitle id='01:01:32'>the Mac and it's a multiple mentality way of looking at things</subtitle>
 +
<subtitle id='01:01:36'>he called them in active mentalities iconic and solid mentalities the slogan</subtitle>
 +
<subtitle id='01:01:41'>I made up was doing with images make symbols and weight and way you think of</subtitle>
 +
<subtitle id='01:01:46'>them in a more visual form is</subtitle>
 +
<subtitle id='01:01:51'>as in childhood development as three</subtitle>
 +
<subtitle id='01:01:55'>separate mental centers that all the deal with the world in a different way that mature at different rates and think</subtitle>
 +
<subtitle id='01:02:01'>about things in different ways we've had our greatest success in dealing with end</subtitle>
 +
<subtitle id='01:02:06'>users in retreating from the symbolic way of doing things down here and the</subtitle>
 +
<subtitle id='01:02:12'>real question about the Macintosh is have we actually been helping the</subtitle>
 +
<subtitle id='01:02:16'>problem know how we've been winning the battle and losing the war because the</subtitle>
 +
<subtitle id='01:02:21'>central thing that you must be able to do in programming is go from the</subtitle>
 +
<subtitle id='01:02:25'>concrete to the abstract and we've been seeing in a lot of our work at the</subtitle>
 +
<subtitle id='01:02:30'>school that the Mac actually seems to be interfering with the kids ability to do</subtitle>
 +
<subtitle id='01:02:35'>abstract thinking not helping we'll talk about that a little bit here's some</subtitle>
 +
<subtitle id='01:02:41'>psychological studies there's quite a bit of this stuff has been done and the</subtitle>
 +
<subtitle id='01:02:46'>first caveat is sort of epitomized by lead guards work is a classic study that</subtitle>
 +
<subtitle id='01:02:53'>showed that end users preferred English as a command language for text editing</subtitle>
 +
<subtitle id='01:02:57'>rather than command keys he did that at</subtitle>
 +
<subtitle id='01:03:01'>the exact same time that people were</subtitle>
 +
<subtitle id='01:03:05'>doing WYSIWYG editors at Parc okay so this is the this is the optimizing the</subtitle>
 +
<subtitle id='01:03:11'>Train theory of transportation rather than venting the airplane so he took a</subtitle>
 +
<subtitle id='01:03:16'>bad area and found out what the best thing to do in the bad area was another</subtitle>
 +
<subtitle id='01:03:23'>important notion is the distinction between what Brownell and Moser in 1949</subtitle>
 +
<subtitle id='01:03:29'>called mechanical learning which is being shown of parallelogram and being</subtitle>
 +
<subtitle id='01:03:36'>told that the area is the height time the base versus what we used to call it</subtitle>
 +
<subtitle id='01:03:41'>Park behold things the behold thing is a</subtitle>
 +
<subtitle id='01:03:46'>meaningful learning where there's something in what's being presented that</subtitle>
 +
<subtitle id='01:03:50'>illustrates why it works and the simplest be hold on this is to show that</subtitle>
 +
<subtitle id='01:03:54'>you can take a little piece of triangle from here and move it down here and it becomes a rectangle and therefore it has</subtitle>
 +
<subtitle id='01:03:59'>to be height times base so it's a</subtitle>
 +
<subtitle id='01:04:04'>difference between okay quickly now this notion of advanced</subtitle>
 +
<subtitle id='01:04:12'>organizer is a good idea the advanced</subtitle>
 +
<subtitle id='01:04:16'>organizer is like if you're going to read something in encyclopedia britannica read read the article in the</subtitle>
 +
<subtitle id='01:04:22'>world book first this is a good one for kids that gives you a map and you can</subtitle>
 +
<subtitle id='01:04:27'>take care of the much more complicated information much better the Mac should</subtitle>
 +
<subtitle id='01:04:32'>be an advanced organizer for end user programming everybody agree with that</subtitle>
 +
<subtitle id='01:04:36'>because it's got all of these metaphors there and you're doing the easy thing a</subtitle>
 +
<subtitle id='01:04:42'>reading from it in a sense and it should be organizing the knowledge that you need to put together for end users</subtitle>
 +
<subtitle id='01:04:49'>Gagne showed that putting things in your own words slows</subtitle>
 +
<subtitle id='01:04:55'>but it advances transfer so if you want</subtitle>
 +
<subtitle id='01:04:59'>people to take something that they've learned and apply it in a new situation it helps to have them articulate even</subtitle>
 +
<subtitle id='01:05:05'>though it delays the learning process itself labels these are like simple</subtitle>
 +
<subtitle id='01:05:14'>things right but it's incredibly important a label on a paragraph will</subtitle>
 +
<subtitle id='01:05:19'>help the comprehension of the paragraph by about a factor of three most people</subtitle>
 +
<subtitle id='01:05:24'>can't figure out what a paragraph is about unless they've been told here's</subtitle>
 +
<subtitle id='01:05:28'>one that Steve wire and Alex Canara did a long time ago which is to give the end</subtitle>
 +
<subtitle id='01:05:34'>users a concrete machine model where Steve Steve's around here somewhere okay</subtitle>
 +
<subtitle id='01:05:39'>well he lost his chance at fame</subtitle>
 +
<subtitle id='01:05:48'>the stuff that Adele and I and some other people did use pre-training</subtitle>
 +
<subtitle id='01:05:53'>prototypes giving the kid a plateau to</subtitle>
 +
<subtitle id='01:05:57'>stay on for a long time planning templates Atwood and Ramsey did the</subtitle>
 +
<subtitle id='01:06:04'>first really comprehensive study that showed how many schemas that experts</subtitle>
 +
<subtitle id='01:06:10'>have in programming and show that they are very very similar to the schemers</subtitle>
 +
<subtitle id='01:06:14'>that musicians and chess players and athletes and so forth have one of the</subtitle>
 +
<subtitle id='01:06:20'>great papers I don't remember the date was done by Perkins and a group at</subtitle>
 +
<subtitle id='01:06:25'>Harvard character yeah they were they</subtitle>
 +
<subtitle id='01:06:34'>thought it was in an in excess of 10,000 for programming it didn't seem to be up</subtitle>
 +
<subtitle id='01:06:39'>in the 50,000 of the chess master but it was in excess of 10,000 they thought no</subtitle>
 +
<subtitle id='01:06:48'>no the the presence of yeah the numbers of them the number of chunking entities</subtitle>
 +
<subtitle id='01:06:59'>there are also personal styles that interfere some people are what called</subtitle>
 +
<subtitle id='01:07:03'>are what I call Stoppers and other people are called movers and the stopper</subtitle>
 +
<subtitle id='01:07:08'>is a person that when they get into a difficulty they stop okay and the movers</subtitle>
 +
<subtitle id='01:07:15'>keep moving sort of difference between depression and anxiety right it's it's</subtitle>
 +
<subtitle id='01:07:21'>always it's always better to be anxious because</subtitle>
 +
<subtitle id='01:07:26'>you're moving at least and the problem</subtitle>
 +
<subtitle id='01:07:30'>is the extreme cases actually are almost as we're as bad off the movers many</subtitle>
 +
<subtitle id='01:07:37'>times we'll just take her randomly in order to be moving but they won't sit</subtitle>
 +
<subtitle id='01:07:42'>down and do any more thinking than the stoppers do so one of the one of the key</subtitle>
 +
<subtitle id='01:07:47'>things that you have to do and this is a serious problem is that you have to have</subtitle>
 +
<subtitle id='01:07:51'>something like the Mac puts a lot of effort into extending the short-term</subtitle>
 +
<subtitle id='01:07:55'>memory of the user onto the screen in order to prevent stoppers from getting</subtitle>
 +
<subtitle id='01:08:00'>stopped right there's always a pulldown you can this is why the pull downs work</subtitle>
 +
<subtitle id='01:08:04'>better than pop-ups because it's hard for a stopper to remember that the</subtitle>
 +
<subtitle id='01:08:08'>pop-up is there it's invisible they have to actually do something whereas just</subtitle>
 +
<subtitle id='01:08:12'>scanning around and so that at least there's a line of menu they can go and</subtitle>
 +
<subtitle id='01:08:16'>fiddle with it to get going</subtitle>
 +
<subtitle id='01:08:20'>close tracking of code I'm actually leading up to something here which is a</subtitle>
 +
<subtitle id='01:08:26'>problem with this area is that see the reason nobody solved it in 30 years it's</subtitle>
 +
<subtitle id='01:08:30'>actually complex I apologize for that it's actually a hard problem as I said</subtitle>
 +
<subtitle id='01:08:35'>in the beginning close tracking of code close tracking of code means that the</subtitle>
 +
<subtitle id='01:08:40'>user pays attention to the very code that they've actually put in the machine</subtitle>
 +
<subtitle id='01:08:44'>most users do not we've seen this everyday at the school is that the kids</subtitle>
 +
<subtitle id='01:08:49'>will put code in and never read it again even though it's in front of their face</subtitle>
 +
<subtitle id='01:08:53'>they will not look at what they do tinkering we've just talked about is</subtitle>
 +
<subtitle id='01:08:59'>going in and making a change somewhere because that sometimes that has worked</subtitle>
 +
<subtitle id='01:09:04'>once right go in someplace and suspicious make a change and they will</subtitle>
 +
<subtitle id='01:09:09'>do it forever most users won't break problems into subproblems because that</subtitle>
 +
<subtitle id='01:09:15'>isn't solving the problem now the reason</subtitle>
 +
<subtitle id='01:09:20'>I want to reason I'm emphasizing this stuff is what is astounding to me about</subtitle>
 +
<subtitle id='01:09:24'>this stuff is that does not matter how old the person is for this to be true</subtitle>
 +
<subtitle id='01:09:29'>these studies have been done from kids starting with age four and five they've</subtitle>
 +
<subtitle id='01:09:34'>been done with ell entry school middle school high school college</subtitle>
 +
<subtitle id='01:09:39'>lots of Yale students suffered through this it seems to be almost universal</subtitle>
 +
<subtitle id='01:09:46'>that these are the problems that you have to work with here's another one</subtitle>
 +
<subtitle id='01:09:51'>that solloway and spore and some other people did novices will write this is</subtitle>
 +
<subtitle id='01:09:55'>almost a no-brainer but it's an interesting one novice will write better programs if the</subtitle>
 +
<subtitle id='01:09:59'>primitives of the language fit their preferred strategy and it's hard to</subtitle>
 +
<subtitle id='01:10:04'>believe for instance an example that</subtitle>
 +
<subtitle id='01:10:13'>since it makes a difference between saying this</subtitle>
 +
<subtitle id='01:10:27'>and saying this</subtitle>
 +
<subtitle id='01:10:34'>doesn't seem that difference to us but makes a huge difference if a difference</subtitle>
 +
<subtitle id='01:10:41'>between the normal if statement the way we usually see it if a less than B then</subtitle>
 +
<subtitle id='01:10:46'>a gets a plus B versus saying the action cloth first a gets a plus B if a is less</subtitle>
 +
<subtitle id='01:10:53'>than B this one is the one that the end users like the end users like saying a</subtitle>
 +
<subtitle id='01:11:00'>plus B goes to a rather than a gets a</subtitle>
 +
<subtitle id='01:11:04'>plus B ok because the end users are</subtitle>
 +
<subtitle id='01:11:10'>basically bottom up they're generating and putting and if you think about the</subtitle>
 +
<subtitle id='01:11:16'>the other versions of those two things they're both top-down they're putting</subtitle>
 +
<subtitle id='01:11:20'>the guards first they're delaying</subtitle>
 +
<subtitle id='01:11:24'>talking about what the action is going to be whereas the end users are in their</subtitle>
 +
<subtitle id='01:11:28'>best place when they're thinking about what the action is and finally this is</subtitle>
 +
<subtitle id='01:11:33'>sort of the classic paper by spohrer and solloway yes sorry has a couple of I</subtitle>
 +
<subtitle id='01:11:42'>think the central important things one</subtitle>
 +
<subtitle id='01:11:47'>is that a few types of bugs account for most of the errors and here's the capper</subtitle>
 +
<subtitle id='01:11:53'>most bugs are not misunderstandings of</subtitle>
 +
<subtitle id='01:11:58'>the language but our composition bugs we</subtitle>
 +
<subtitle id='01:12:02'>had we taught many third graders this</subtitle>
 +
<subtitle id='01:12:06'>language we worked on called playground and one of the astounding things about</subtitle>
 +
<subtitle id='01:12:12'>this experience these are seven and eight-year-olds is to have a class of</subtitle>
 +
<subtitle id='01:12:18'>sixty children after about a week and a half be able to answer most questions about</subtitle>
 +
<subtitle id='01:12:23'>how do you do something if correctly if the answer was a single playground limit</subtitle>
 +
<subtitle id='01:12:28'>of primitive so in a week and a half they'd absorb about 50 or 60 of the damn</subtitle>
 +
<subtitle id='01:12:32'>things really astoundingly and I think one way we could say we're Scott because</subtitle>
 +
<subtitle id='01:12:38'>it's see if I could get a nod from him on this that one of the most amazing</subtitle>
 +
<subtitle id='01:12:43'>things is the Running Start the kids get in playground like the first two</subtitle>
 +
<subtitle id='01:12:48'>weeks you get 95% of what you're going to get and then actually it retrogrades</subtitle>
 +
<subtitle id='01:12:56'>but being able to have almost 100%</subtitle>
 +
<subtitle id='01:13:00'>comprehension on answers that require</subtitle>
 +
<subtitle id='01:13:04'>single primitives the kids are almost unable to answer any question that</subtitle>
 +
<subtitle id='01:13:08'>requires any kind of combination of more than one primitive any kind of question</subtitle>
 +
<subtitle id='01:13:14'>whether it's even a simple secret you do this first and then this or you do this</subtitle>
 +
<subtitle id='01:13:19'>here and this here any kind of thing that we require is planned composition</subtitle>
 +
<subtitle id='01:13:24'>that's outside of the bricks of the thing they have no schemas for if you</subtitle>
 +
<subtitle id='01:13:28'>want to look at it in terms of schemas there are only plans they can do are in</subtitle>
 +
<subtitle id='01:13:32'>terms of the bricks and the only planning they can do with the bricks are single applications of these bricks what</subtitle>
 +
<subtitle id='01:13:45'>do you think okay listen if I knew I would be writing the paper right now</subtitle>
 +
<subtitle id='01:13:56'>yeah the question is when you start</subtitle>
 +
<subtitle id='01:14:00'>getting into what what you might call con this is where we can start getting</subtitle>
 +
<subtitle id='01:14:05'>huge content interference like the users can't problem-solve is basically what is</subtitle>
 +
<subtitle id='01:14:09'>being said here in any form and the difference and this is why the Mac is an</subtitle>
 +
<subtitle id='01:14:14'>illusion and in a bit because the way we get the users to problem-solve on the</subtitle>
 +
<subtitle id='01:14:18'>Mac is we give them an environment that they can problem solve in and the</subtitle>
 +
<subtitle id='01:14:22'>problem with programming I claim the difficulty with programming is the users</subtitle>
 +
<subtitle id='01:14:26'>haven't ever done that kind of problem solving at all and there's problem</subtitle>
 +
<subtitle id='01:14:30'>solving that involves something like variables and that there isn't anything</subtitle>
 +
<subtitle id='01:14:34'>in there Norton ordinary experience where they think of things that terms</subtitle>
 +
<subtitle id='01:14:38'>and that the Mac actually doesn't get you it only helps in HyperCard to the</subtitle>
 +
<subtitle id='01:14:42'>extent where you're doing things that don't involve problem solving that involves variables as soon as you go try</subtitle>
 +
<subtitle id='01:14:48'>and go from the concrete to the abstract and that my claim is it doesn't matter what kind of end-user scheme you're</subtitle>
 +
<subtitle id='01:14:54'>trying whether it's data flow or any other kind of thing the biggest problem that you have is that is that the end</subtitle>
 +
<subtitle id='01:14:58'>user doesn't have the schema for doing the abs drak problem-solving forget about how</subtitle>
 +
<subtitle id='01:15:03'>are you going to realize it here's some</subtitle>
 +
<subtitle id='01:15:07'>of the problems one of my favorite</subtitle>
 +
<subtitle id='01:15:12'>psychologist is a guy by the name of Vygotsky who turned out a lot more than</subtitle>
 +
<subtitle id='01:15:21'>Piaget did in just 10 years he died of pneumonia in the 30s and forgot ski one</subtitle>
 +
<subtitle id='01:15:29'>of vygotsky's many things did was to study concept formation in children and</subtitle>
 +
<subtitle id='01:15:35'>it goes through a number of stages first stage is there's a complete separation</subtitle>
 +
<subtitle id='01:15:40'>between the thing and the symbol the</subtitle>
 +
<subtitle id='01:15:46'>second stage is there is an ephemeral connection between the thing in the</subtitle>
 +
<subtitle id='01:15:50'>symbol some some days there's a connection and some days there isn't a connection third thing is the phase that</subtitle>
 +
<subtitle id='01:15:57'>most people get to and stay at which is there is an indelible Association of the</subtitle>
 +
<subtitle id='01:16:02'>name with the thing kids think that the that is you know in the sky that there's</subtitle>
 +
<subtitle id='01:16:09'>a mystical thing called do G that is this thing and in fact the real symbolic</subtitle>
 +
<subtitle id='01:16:15'>act is not this one but starting to</subtitle>
 +
<subtitle id='01:16:20'>admit other ways of thinking about dog and the one that we do and scientists do</subtitle>
 +
<subtitle id='01:16:27'>is the one where we take the symbols away from the thing again and keep them</subtitle>
 +
<subtitle id='01:16:31'>safely over here to use them just when we use them this is the does everybody</subtitle>
 +
<subtitle id='01:16:37'>understand what I'm saying this is the hard this is the place that ordinary</subtitle>
 +
<subtitle id='01:16:41'>experience doesn't get people to well</subtitle>
 +
<subtitle id='01:16:46'>dogs yen and I think I just made up some</subtitle>
 +
<subtitle id='01:16:50'>brats some arbitrary thing standing for</subtitle>
 +
<subtitle id='01:16:56'>God's could mean X but what I'm saying</subtitle>
 +
<subtitle id='01:17:00'>is is that the it's this sort of freezing on the ordinary language gets</subtitle>
 +
<subtitle id='01:17:06'>you in pretty good shape by freezing on the association between the thing and</subtitle>
 +
<subtitle id='01:17:11'>the symbol and in fact the deadly embrace is so tight that is how</subtitle>
 +
<subtitle id='01:17:15'>for people to relax yes thank you no you</subtitle>
 +
<subtitle id='01:17:23'>know why they don't give it up you got a theory exactly it's like Necker cube do</subtitle>
 +
<subtitle id='01:17:35'>you speak more than one language yeah you I know whether you've had this</subtitle>
 +
<subtitle id='01:17:40'>experience but most people who speak more than one language fluently have the sense of that they're actually thinking</subtitle>
 +
<subtitle id='01:17:45'>in terms of it and it's one or the other it's like a Necker cube you're in one</subtitle>
 +
<subtitle id='01:17:49'>order you're in the other and it's it's more than just the words it's actually patterns of thought my wife actually</subtitle>
 +
<subtitle id='01:17:55'>speaks French very fluently and when she's been in France for a couple of weeks she has some difficulty in getting</subtitle>
 +
<subtitle id='01:18:01'>the concepts back into English yes yeah</subtitle>
 +
<subtitle id='01:18:13'>well see the the cop-out which I'm going</subtitle>
 +
<subtitle id='01:18:17'>to be a cop out on the thing but I think that part of it is the 5% thing part of</subtitle>
 +
<subtitle id='01:18:23'>it and I think the end part of us are in the 85% who for one reason or another</subtitle>
 +
<subtitle id='01:18:29'>gradually loosened our hold on the way</subtitle>
 +
<subtitle id='01:18:33'>our language uses symbols and got us into this this foggy your way</subtitle>
 +
<subtitle id='01:18:37'>now when way of looking at problem-solving is a lot of it is not</subtitle>
 +
<subtitle id='01:18:42'>committing to the first idea you have for the solution right and that means</subtitle>
 +
<subtitle id='01:18:48'>that you see a separation between yourself and your ideas the piaget</subtitle>
 +
<subtitle id='01:18:54'>problems of the kid with the tall glass of water are that the kid is frozen and</subtitle>
 +
<subtitle id='01:19:00'>immobilized by the vividness of the visual scene and so where the Middle</subtitle>
 +
<subtitle id='01:19:06'>Ages but it's it's it's the stepping</subtitle>
 +
<subtitle id='01:19:10'>back the detachment from the vividness of the senses that starts giving you the</subtitle>
 +
<subtitle id='01:19:15'>problem-solving stuff</subtitle>
 +
<subtitle id='01:19:19'>language doesn't solve anything they want to solve yes for instance a lot</subtitle>
 +
<subtitle id='01:19:23'>more people than 5% use spreadsheets and know how to at least do some simple</subtitle>
 +
<subtitle id='01:19:27'>spreadsheet calculations and some at other things like that can solve things</subtitle>
 +
<subtitle id='01:19:32'>that those people financial Iowa's yes problem so these kids they get all the</subtitle>
 +
<subtitle id='01:19:37'>primitives and there's no problem that they really want to solve with it yeah</subtitle>
 +
<subtitle id='01:19:42'>yeah well part of the part of the wait when you're doing stuff with children</subtitle>
 +
<subtitle id='01:19:46'>you actually want to have the problems be something they do want to do and we actually put some effort into making</subtitle>
 +
<subtitle id='01:19:51'>that the case and can even find out from them that whether they're bored or not</subtitle>
 +
<subtitle id='01:19:56'>most interesting thing about the playground stop because it was much what</subtitle>
 +
<subtitle id='01:20:01'>we're doing is more comprehensive than when we're doing small talk is that the</subtitle>
 +
<subtitle id='01:20:05'>kids love of playground even though they're not learning much after about</subtitle>
 +
<subtitle id='01:20:10'>the first week and a half they are totally enthusiastic about it</subtitle>
 +
<subtitle id='01:20:14'>for the whole six weeks or even couple of months and they love it they go to it every day there's they don't complain</subtitle>
 +
<subtitle id='01:20:19'>you know they only complain when it crashes and it doesn't crash that much this year so they're happy as clams they</subtitle>
 +
<subtitle id='01:20:25'>love it it's it's satisfying their needs there's a lot of things that they can do</subtitle>
 +
<subtitle id='01:20:30'>with it but they stay like I say in this level where there are certain things</subtitle>
 +
<subtitle id='01:20:35'>that it can do and there are other things that are just out of the potential well entirely so the boredom</subtitle>
 +
<subtitle id='01:20:41'>is not actually the problem well yeah</subtitle>
 +
<subtitle id='01:20:57'>yeah IRA goldstein at as Mark Miller</subtitle>
 +
<subtitle id='01:21:03'>here no IRA Goldstein did quite a bit of</subtitle>
 +
<subtitle id='01:21:07'>work at MIT before he came to park on</subtitle>
 +
<subtitle id='01:21:11'>schemas that people used for solving adventure games and this is part of the</subtitle>
 +
<subtitle id='01:21:16'>same general kind of stuff that was been in the 70s that John Seely Brown and</subtitle>
 +
<subtitle id='01:21:20'>other people have done where you take some area like subtraction and actually</subtitle>
 +
<subtitle id='01:21:25'>spohrer and solloway did again where you take some problem that you can give to</subtitle>
 +
<subtitle id='01:21:31'>new people over and over again and you try and extract the schemas from it and you try and build a help system</subtitle>
 +
<subtitle id='01:21:37'>basically that understands that the</subtitle>
 +
<subtitle id='01:21:41'>person is making this kind of an error and tries to give them a way of seeing what the what the schema they should</subtitle>
 +
<subtitle id='01:21:47'>apply is practically though it hasn't worked out because the schema is their</subtitle>
 +
<subtitle id='01:21:53'>short-term memory is already blown out of the water right so the schema stuff</subtitle>
 +
<subtitle id='01:21:57'>adds an enormous overload and it's it's</subtitle>
 +
<subtitle id='01:22:01'>rather it's usually rather abstract so</subtitle>
 +
<subtitle id='01:22:06'>here's another here's another way of thinking about abstractions so one</subtitle>
 +
<subtitle id='01:22:15'>abstraction is this notion of a group of things</subtitle>
 +
<subtitle id='01:22:22'>the next thing is do not worry about what the things are so we have eight</subtitle>
 +
<subtitle id='01:22:28'>things there and the next thing is we might be able to line them up and</subtitle>
 +
<subtitle id='01:22:32'>analogize them to length the next thing is we might think of it even as a sort</subtitle>
 +
<subtitle id='01:22:37'>of trip along a length and then finally</subtitle>
 +
<subtitle id='01:22:41'>we might wig it all the way down to eight as a as a symbol idea that's</subtitle>
 +
<subtitle id='01:22:47'>divorced from it doesn't have this this symbol doesn't have any iconic significance okay and when you think</subtitle>
 +
<subtitle id='01:22:53'>about people learning what eight plus</subtitle>
 +
<subtitle id='01:22:57'>three is everybody can readily believe why you can learn that 8 plus 3 is 11</subtitle>
 +
<subtitle id='01:23:02'>but what is difficult is for anybody who learns 8 plus 3 equals 11 to understand</subtitle>
 +
<subtitle id='01:23:07'>what the significance of plus is because</subtitle>
 +
<subtitle id='01:23:12'>it's easy to learn number sentences down here but in fact the richness of it is</subtitle>
 +
<subtitle id='01:23:18'>up here and some of the best thinking that you can do like thinking in science</subtitle>
 +
<subtitle id='01:23:24'>is done before numbers get down here thinking of science is done in terms of</subtitle>
 +
<subtitle id='01:23:28'>trips in various spaces ok and so when</subtitle>
 +
<subtitle id='01:23:33'>you add each one of these things you have a different kind of combination and</subtitle>
 +
<subtitle id='01:23:38'>a different kind of result even although all of the vertical abstractions always</subtitle>
 +
<subtitle id='01:23:42'>obtain like I believe that this is one</subtitle>
 +
<subtitle id='01:23:46'>of the major problems that has to be surmounted because the the power comes</subtitle>
 +
<subtitle id='01:23:52'>from going lower and yet the the ability to use the concepts comes from staying</subtitle>
 +
<subtitle id='01:23:57'>high right this is the essential</subtitle>
 +
<subtitle id='01:24:01'>dichotomy I believe in Indians of programming</subtitle>
 +
<subtitle id='01:24:12'>query you know they're they're kind of saying the language for kids to do they're you know yeah that was one of</subtitle>
 +
<subtitle id='01:24:17'>the sirens songs in the 60s it was called problem oriented languages where</subtitle>
 +
<subtitle id='01:24:21'>you picked a problem space and in fact one of the big urges 12 towards what</subtitle>
 +
<subtitle id='01:24:26'>were called extensible languages in the 60s was that you should be able to sit down you know if you're a programmer an</subtitle>
 +
<subtitle id='01:24:33'>Mis Department you should be able to sit down with one of these extensible languages and make up a language and</subtitle>
 +
<subtitle id='01:24:39'>when people finally succeeded in doing extensible languages that you could do</subtitle>
 +
<subtitle id='01:24:43'>that in they discovered that there's several things when it was very hard to</subtitle>
 +
<subtitle id='01:24:47'>get the languages rich enough so that they weren't just kits like you know</subtitle>
 +
<subtitle id='01:24:53'>reports program generator RPG is one of the famous old early fourth generation</subtitle>
 +
<subtitle id='01:24:58'>languages not really a language and the other thing is that they could not</subtitle>
 +
<subtitle id='01:25:02'>exchange code with anybody like Smalltalk 72 was an extensible language</subtitle>
 +
<subtitle id='01:25:07'>in every way including syntactically because partly because we thought that I</subtitle>
 +
<subtitle id='01:25:12'>thought that that was still important that was a big idea in the in the 60s</subtitle>
 +
<subtitle id='01:25:17'>and it turned out to actually be more trouble than it was worth and there's some tactical extension the ability to</subtitle>
 +
<subtitle id='01:25:22'>create wholly new languages and it was actually taken out when we went to small</subtitle>
 +
<subtitle id='01:25:27'>talk 76 not to say that it shouldn't be tried again because obviously we don't</subtitle>
 +
<subtitle id='01:25:31'>know what the answer is but in fact it didn't seem to work the well and in fact</subtitle>
 +
<subtitle id='01:25:36'>languages that are a lot like English have a big problem is that in people's</subtitle>
 +
<subtitle id='01:25:41'>expectations about English seriously interfere because English actually is</subtitle>
 +
<subtitle id='01:25:46'>not a good carrier of meaning right English is not sending a message to</subtitle>
 +
<subtitle id='01:25:51'>somebody directly it's sending a gesture to a thought cloud that you hope you</subtitle>
 +
<subtitle id='01:25:56'>share with the other person and the computers don't have much in their thought cloud</subtitle>
 +
<subtitle id='01:26:01'>so okay so let me let me wind this up by</subtitle>
 +
<subtitle id='01:26:12'>talking about what's what I think is going to happen in the future and what</subtitle>
 +
<subtitle id='01:26:16'>and some things that are starting to happen at Apple but I really think this</subtitle>
 +
<subtitle id='01:26:21'>the whole purpose of this talk is to try and challenge some of the people in the</subtitle>
 +
<subtitle id='01:26:25'>room to work on this area I personally</subtitle>
 +
<subtitle id='01:26:29'>think that for apples differentiation in the next five years now that Windows is</subtitle>
 +
<subtitle id='01:26:36'>encroaching on our turf and so forth</subtitle>
 +
<subtitle id='01:26:40'>that our biggest differentiation is to be able to deal with the generative side</subtitle>
 +
<subtitle id='01:26:44'>of direct manipulation to be able to</subtitle>
 +
<subtitle id='01:26:48'>allow the users to aspire as I say to the kinds of things that they use on the</subtitle>
 +
<subtitle id='01:26:52'>Mac now here's that here's a Gartner</subtitle>
 +
<subtitle id='01:26:56'>group slide that seems almost</subtitle>
 +
<subtitle id='01:27:02'>incomprehensible but let me we put on my</subtitle>
 +
<subtitle id='01:27:08'>age 50 glasses here and see if I can decipher it basically this this line</subtitle>
 +
<subtitle id='01:27:15'>here is the worldwide revenues of all multi-user systems that's mainframes and</subtitle>
 +
<subtitle id='01:27:20'>mini it was about 80 billion in 89 and 89 was</subtitle>
 +
<subtitle id='01:27:27'>the year that this little curve which is our curve the desktop personal computers</subtitle>
 +
<subtitle id='01:27:33'>crossed the mainframe curve okay and</subtitle>
 +
<subtitle id='01:27:39'>from then until now and into the future</subtitle>
 +
<subtitle id='01:27:43'>the worldwide revenues for desktop computing completely dominate all of the</subtitle>
 +
<subtitle id='01:27:49'>mainframe stuff in fact the mainframe is</subtitle>
 +
<subtitle id='01:27:53'>this curve here so it's it's just</subtitle>
 +
<subtitle id='01:27:57'>slightly better than linear going off into the future for apples planning this</subtitle>
 +
<subtitle id='01:28:05'>is the area under the curve between 1990 and 1995 is estimated be 650 billion</subtitle>
 +
<subtitle id='01:28:12'>dollars that is a lot of area</subtitle>
 +
<subtitle id='01:28:16'>and we should get fact the company</subtitle>
 +
<subtitle id='01:28:20'>reorganization and the strategies are that we should be able to harvest a lot</subtitle>
 +
<subtitle id='01:28:24'>of this because we are one of the major creators of this as a this is an area</subtitle>
 +
<subtitle id='01:28:29'>that's why we have to be worried about what we call paradigm to computing the</subtitle>
 +
<subtitle id='01:28:34'>computing that we do in the next way of harvesting that area is allowing the end</subtitle>
 +
<subtitle id='01:28:40'>users to do a lot more than they can now by direct manipulation then the other</subtitle>
 +
<subtitle id='01:28:45'>thing is that there is this other curve that starting does essentially has no F</subtitle>
 +
<subtitle id='01:28:51'>doesn't start showing itself really until around 1995 which are what I've</subtitle>
 +
<subtitle id='01:28:56'>been calling intimate computers you can think of them as the notebook computers</subtitle>
 +
<subtitle id='01:29:01'>and the Gartner group estimates that the</subtitle>
 +
<subtitle id='01:29:05'>area under this curve between 1995 in the year 2000 is going to be 525 billion</subtitle>
 +
<subtitle id='01:29:10'>why is it going to grow so much faster because the intimate computer can reach</subtitle>
 +
<subtitle id='01:29:16'>everybody right it it is dynamic paper</subtitle>
 +
<subtitle id='01:29:20'>it's going to be hooked into wireless networking of various kinds and it's</subtitle>
 +
<subtitle id='01:29:25'>going to be selling for under $1,000 it's not an extension of the laptop into</subtitle>
 +
<subtitle id='01:29:30'>this world anymore then the desktop is like the</subtitle>
 +
<subtitle id='01:29:34'>mainframe this is a new whole new thing and so we have this interesting thing</subtitle>
 +
<subtitle id='01:29:39'>here that Apple could be immensely rich by 1995 and broke by 1997 right this is</subtitle>
 +
<subtitle id='01:29:46'>one of these important places in this area here is the one what we call p3 and</subtitle>
 +
<subtitle id='01:29:52'>my belief is that it's going to be p3 and user programming is done by giving</subtitle>
 +
<subtitle id='01:29:57'>advice to some intelligent agent that figures out how to do it that's what the</subtitle>
 +
<subtitle id='01:30:01'>end users really want but there's such a gap between when that's going to happen</subtitle>
 +
<subtitle id='01:30:05'>it might not even happen this decade that I believe that we have to close the</subtitle>
 +
<subtitle id='01:30:11'>circle to drop the other shoe of the Macintosh and get the end-users</subtitle>
 +
<subtitle id='01:30:15'>empowered the same way we've empowered them for using applications they have to</subtitle>
 +
<subtitle id='01:30:19'>be able to build them and change them to me it's one of the most critical</subtitle>
 +
<subtitle id='01:30:23'>critical problems and so we started on a</subtitle>
 +
<subtitle id='01:30:34'>little paradigm 2 project called Mac pet</subtitle>
 +
<subtitle id='01:30:39'>the three things I think need to be put together one of the things ways of</subtitle>
 +
<subtitle id='01:30:45'>thinking about HyperCard is that it's like the mac paint of end-user programming right Mac paint was not a</subtitle>
 +
<subtitle id='01:30:52'>great desktop publishing system but people did do page layout on it because</subtitle>
 +
<subtitle id='01:30:57'>it was the first thing that you could do page layout on then that draw I had a</subtitle>
 +
<subtitle id='01:31:01'>better metaphor then page maker had much more of the functions and then finally</subtitle>
 +
<subtitle id='01:31:06'>we have the second generation page layout stuff like this like ready-set-go</subtitle>
 +
<subtitle id='01:31:11'>that shows this as a sort of a four stage evolution and I think HyperCard</subtitle>
 +
<subtitle id='01:31:15'>got so much above the threshold of the end users and then stopped short that at</subtitle>
 +
<subtitle id='01:31:21'>Apple we should do the invention of the equivalent of mac draw for it the more</subtitle>
 +
<subtitle id='01:31:25'>object-oriented thing that maybe even extends into a little bit of what page</subtitle>
 +
<subtitle id='01:31:29'>maker is all about so that we can then get the third-party developers to go out</subtitle>
 +
<subtitle id='01:31:34'>and do a seriously engineered version of these things but the third-party</subtitle>
 +
<subtitle id='01:31:39'>developers do not do this kind of design we have to do it</subtitle>
 +
<subtitle id='01:31:43'>nobody else is going to do it</subtitle>
 +
<subtitle id='01:31:55'>and I think this is just how many people</subtitle>
 +
<subtitle id='01:32:01'>here have seen pink recently okay</subtitle>
 +
<subtitle id='01:32:05'>lots of people okay the one of the good</subtitle>
 +
<subtitle id='01:32:09'>things about pink is the effort to be</subtitle>
 +
<subtitle id='01:32:13'>much more tactile and kinesthetic of doing lots more user dragging and moving</subtitle>
 +
<subtitle id='01:32:18'>things around bad thing about pink maybe I shouldn't say the bad thing</subtitle>
 +
<subtitle id='01:32:23'>the unfortunate thing about pink is that</subtitle>
 +
<subtitle id='01:32:29'>it isn't going enough beyond the Macintosh in the direct manipulation</subtitle>
 +
<subtitle id='01:32:33'>area I believe for pink in order for pink to be a successful concept and to</subtitle>
 +
<subtitle id='01:32:39'>pay its way for changing over it has to solve the end-user programming problem</subtitle>
 +
<subtitle id='01:32:44'>just because pink is a paradigm too kind of system it's a direct manipulation</subtitle>
 +
<subtitle id='01:32:48'>system and the only thing really left to be done in direct manipulation that is</subtitle>
 +
<subtitle id='01:32:53'>qualitatively important is this end user idea how am i doing on time should I</subtitle>
 +
<subtitle id='01:32:59'>wrap up okay</subtitle>
 +
<subtitle id='01:33:05'>[Music] okay okay so let me try a scenario out</subtitle>
 +
<subtitle id='01:33:15'>on you and try and get you to criticize it and because there's such an old fuddy</subtitle>
 +
<subtitle id='01:33:25'>duddy i keep on going back to some of the friends of the past space war i had</subtitle>
 +
<subtitle id='01:33:32'>a lot to do with designing small talk and it's a wonderful thing to think of</subtitle>
 +
<subtitle id='01:33:38'>in terms this is now we're shifting into the kids world when we start first</subtitle>
 +
<subtitle id='01:33:44'>started working with kids we didn't know that working with kids would help us out</subtitle>
 +
<subtitle id='01:33:48'>with adults that much because it was before all these studies that showed that the same problems of the end users</subtitle>
 +
<subtitle id='01:33:53'>were shared by children and high school students and adults and so forth so</subtitle>
 +
<subtitle id='01:34:00'>space war is just this game first video game invented at MIT in 1961 and the</subtitle>
 +
<subtitle id='01:34:05'>spaceships floating around and you can blow your friend out of the out of the</subtitle>
 +
<subtitle id='01:34:10'>sky and what's interesting about it is that it is actually rather easy to</subtitle>
 +
<subtitle id='01:34:14'>program if you have an object-oriented language easy to program if you can</subtitle>
 +
<subtitle id='01:34:20'>think of the few conceptual things I'm going to show you they're just a couple</subtitle>
 +
<subtitle id='01:34:24'>of things that you actually have to think of in order to do this now if you</subtitle>
 +
<subtitle id='01:34:31'>start thinking about things in terms of s equals VT like they teach you in physics class you're dead right what</subtitle>
 +
<subtitle id='01:34:38'>does that mean however in computer terms where you have</subtitle>
 +
<subtitle id='01:34:43'>a dynamic thing going over and over this</subtitle>
 +
<subtitle id='01:34:47'>translates into something that only has an addition in it take the current</subtitle>
 +
<subtitle id='01:34:51'>position and add some hop to it so what the computer does by its dynamicism this</subtitle>
 +
<subtitle id='01:34:56'>actually takes the equations of motion of physics and makes them into</subtitle>
 +
<subtitle id='01:35:02'>differential equations right even better than differential equations because the</subtitle>
 +
<subtitle id='01:35:08'>well it basically our differential equations you can think of the deep the</subtitle>
 +
<subtitle id='01:35:12'>DT is in the clock that ticks you past each thing and that gets you sort of</subtitle>
 +
<subtitle id='01:35:17'>wonder if ative to nirvana here this is really critical</subtitle>
 +
<subtitle id='01:35:22'>because the thinking of things in terms of simple additions is infinitely easier</subtitle>
 +
<subtitle id='01:35:27'>for the end user so let me let me run you through it</subtitle>
 +
<subtitle id='01:35:31'>here's how you would here's one way to do it with the child you get the child</subtitle>
 +
<subtitle id='01:35:35'>to draw the draw a car first and then</subtitle>
 +
<subtitle id='01:35:41'>you start talking about motion and get</subtitle>
 +
<subtitle id='01:35:46'>the kid to think about moving from one place to another in making hops so here</subtitle>
 +
<subtitle id='01:35:52'>we're making four hops and we've moved eight away we take physical bins the</subtitle>
 +
<subtitle id='01:36:00'>open school kids use physical plastic bins for holding things because they</subtitle>
 +
<subtitle id='01:36:04'>don't have permanent desks and you can</subtitle>
 +
<subtitle id='01:36:08'>put this is sort of like variables but you can put where you are in the current</subtitle>
 +
<subtitle id='01:36:12'>position and what the hop is in it you can get kids to change these on each other and see how big a hop they can</subtitle>
 +
<subtitle id='01:36:17'>make and so it's all a game and so we</subtitle>
 +
<subtitle id='01:36:23'>have this one simple idea that we're taking the number in position and adding it to the number and hop and then</subtitle>
 +
<subtitle id='01:36:28'>putting the result back in the position and you can do lots of things right</subtitle>
 +
<subtitle id='01:36:34'>there now what we want to do is go to</subtitle>
 +
<subtitle id='01:36:38'>the</subtitle>
 +
<subtitle id='01:36:44'>[Applause] if I lost it oh well now what we want to</subtitle>
 +
<subtitle id='01:36:53'>do is to go to the bins that are in the</subtitle>
 +
<subtitle id='01:37:01'>language for this kid and we want to put a two in the hot bin the way we do it</subtitle>
 +
<subtitle id='01:37:08'>now here's a question what kind of numbers should you be using I claim like</subtitle>
 +
<subtitle id='01:37:15'>I like vectors you know the remember I showed you this</subtitle>
 +
<subtitle id='01:37:25'>so one of the problems with getting down to here is that it's hard for people</subtitle>
 +
<subtitle id='01:37:31'>they haven't really learned this this is one of the ways of thinking about</subtitle>
 +
<subtitle id='01:37:35'>numbers so I think thinking about every number as a kind of a trip actually</subtitle>
 +
<subtitle id='01:37:40'>gives you more of an extension of what the numbers are for so I'm claiming in</subtitle>
 +
<subtitle id='01:37:45'>this scenario and anybody can argue with me at any point here that what I'm going</subtitle>
 +
<subtitle id='01:37:50'>to do is pick out a horizontal displacement from my Mac draw like</subtitle>
 +
<subtitle id='01:37:54'>toolbox I'm going to dump it into hop and when I dump it in there it shows up</subtitle>
 +
<subtitle id='01:37:58'>as a an arrow sign a displacement number</subtitle>
 +
<subtitle id='01:38:03'>and some little carrots that I can so I just flick it up to a two and so what</subtitle>
 +
<subtitle id='01:38:07'>I've got in there is a horizontal</subtitle>
 +
<subtitle id='01:38:11'>displacement of two and the car is</subtitle>
 +
<subtitle id='01:38:19'>already at some position and I see that it actually has a horizontal position</subtitle>
 +
<subtitle id='01:38:23'>displacement of 30 and a vertical displacement of 105 some point</subtitle>
 +
<subtitle id='01:38:28'>somebody's going to ask me why don't I do this with turtle geometry but I'll</subtitle>
 +
<subtitle id='01:38:32'>tell you later why so what we do is to</subtitle>
 +
<subtitle id='01:38:43'>let these backwards maybe they didn't all print out maybe</subtitle>
 +
<subtitle id='01:38:49'>that's my problem so what we do is Dave Smith style we start moving things</subtitle>
 +
<subtitle id='01:38:56'>around we put the cursor in the position and it shows up in the code we open up</subtitle>
 +
<subtitle id='01:39:01'>the position number to find out the</subtitle>
 +
<subtitle id='01:39:05'>operators that it has it gives us a plus we go to the hop guy it puts this in</subtitle>
 +
<subtitle id='01:39:10'>here and now it surrounds it with a sort</subtitle>
 +
<subtitle id='01:39:14'>of a lozenge in gray to show that that's a permissible result that's what we keep</subtitle>
 +
<subtitle id='01:39:20'>on going because we want to take that result and put it back into position so it generates this kind of an assignment</subtitle>
 +
<subtitle id='01:39:26'>statement position plus hop goes into position and we can keep on going if we</subtitle>
 +
<subtitle id='01:39:33'>want but that's where we decide to stop and by adding a clock into this we can</subtitle>
 +
<subtitle id='01:39:43'>get it to go over and over again and run the and run the car so what we have to</subtitle>
 +
<subtitle id='01:39:49'>do in all of these games is we have to</subtitle>
 +
<subtitle id='01:39:54'>take a situation that the child can understand there are several ways we could have done this we could have used</subtitle>
 +
<subtitle id='01:39:59'>turtle geometry turns out that using turtle geometry prevents the kids from</subtitle>
 +
<subtitle id='01:40:03'>ever finding out how to do space war</subtitle>
 +
<subtitle id='01:40:07'>right think about it because you have to</subtitle>
 +
<subtitle id='01:40:11'>do a kind of addition that turtle geometry doesn't have but this one is</subtitle>
 +
<subtitle id='01:40:15'>perfectly understandable of what happens you can watch the position changing the</subtitle>
 +
<subtitle id='01:40:20'>car goes back and forth you can do multiple you do multiple games and and</subtitle>
 +
<subtitle id='01:40:25'>so forth then you introduce the idea of</subtitle>
 +
<subtitle id='01:40:31'>looking at various views of this trip object that trip objects can be looked</subtitle>
 +
<subtitle id='01:40:35'>at in various ways and one way is to</subtitle>
 +
<subtitle id='01:40:40'>look at them as a horizontal displacement and vertical displacement and this is a more of a an abbreviation</subtitle>
 +
<subtitle id='01:40:46'>for that another way of looking at them is in polar coordinates but you don't</subtitle>
 +
<subtitle id='01:40:50'>say polar coordinates two kids the worst thing you can ever do in mathematics with kids is tell them the official</subtitle>
 +
<subtitle id='01:40:55'>names for things but you get them to act out on the floor</subtitle>
 +
<subtitle id='01:40:59'>of seeing this is another way of finding this place on the floor it's all done</subtitle>
 +
<subtitle id='01:41:03'>with their bodies and then there's a as</subtitle>
 +
<subtitle id='01:41:07'>we all know there's a very sensible way of thinking about what addition means</subtitle>
 +
<subtitle id='01:41:11'>which is when you add one trip to another one way of actually getting the</subtitle>
 +
<subtitle id='01:41:17'>answer directly is to see that this this way the two things separately add when</subtitle>
 +
<subtitle id='01:41:22'>you have the number in this other form it takes you to the right place but it</subtitle>
 +
<subtitle id='01:41:26'>is not clear exactly what the how you actually do the operation and you can do</subtitle>
 +
<subtitle id='01:41:32'>them in the other order and get the same answer and so that the idea here is that</subtitle>
 +
<subtitle id='01:41:38'>what you're building up now is a</subtitle>
 +
<subtitle id='01:41:44'>collection of ideas completely built around a single notion this is where</subtitle>
 +
<subtitle id='01:41:51'>who's you you suggested you should have fewer concepts fewer bricks okay fewer</subtitle>
 +
<subtitle id='01:41:59'>bricks my belief is the same thing is that you should take one like one brick</subtitle>
 +
<subtitle id='01:42:03'>and find a thousand things to do with it</subtitle>
 +
<subtitle id='01:42:08'>because that is the way you get from the idea of understanding single instances</subtitle>
 +
<subtitle id='01:42:12'>of the thing to actually understanding the concept as it projects another way I</subtitle>
 +
<subtitle id='01:42:16'>would say is the main problem the end users have is that they can understand</subtitle>
 +
<subtitle id='01:42:20'>the bricks but they can't project them into new situations and it's just</subtitle>
 +
<subtitle id='01:42:25'>getting so that they can project some brick into a new situation is the is the</subtitle>
 +
<subtitle id='01:42:30'>biggest barrier does anybody yep some disagreement I hope</subtitle>
 +
<subtitle id='01:42:38'>because there's about three different things I'm hearing enters one is we want</subtitle>
 +
<subtitle id='01:42:43'>you end-user skyscraper design okay or</subtitle>
 +
<subtitle id='01:42:47'>one you end-user dog house design we're going to have a new and improved manual</subtitle>
 +
<subtitle id='01:42:51'>architecture needs to learn from confused which ones are you advocating</subtitle>
 +
<subtitle id='01:42:56'>which ones I think that the user I think</subtitle>
 +
<subtitle id='01:43:00'>it is a mistake to put give the user system that they can't aspire to the</subtitle>
 +
<subtitle id='01:43:04'>skyscraper in right and the the thing</subtitle>
 +
<subtitle id='01:43:09'>that I hate I mean just a personal prejudice is I hate giving people a</subtitle>
 +
<subtitle id='01:43:13'>concept that is in too weak a form so</subtitle>
 +
<subtitle id='01:43:17'>that doesn't include the larger I'd rather spend a longer amount of time on</subtitle>
 +
<subtitle id='01:43:21'>the on the powerful idea take months if</subtitle>
 +
<subtitle id='01:43:25'>necessary to let because to me it's not important whether you know how to add</subtitle>
 +
<subtitle id='01:43:29'>three and five and get eight you know cuz that that doesn't project yeah well</subtitle>
 +
<subtitle id='01:43:53'>the question I think I think the question is I mean the end user can design a skyscraper perfectly well on</subtitle>
 +
<subtitle id='01:43:58'>paper and it's not going to fall down right because the there's nothing</subtitle>
 +
<subtitle id='01:44:03'>dangerous about the lines on the paper that they've drawn so I think that you</subtitle>
 +
<subtitle id='01:44:07'>can give I think it deep it if the user has to sit down and and take something</subtitle>
 +
<subtitle id='01:44:12'>dangerous like see where you can screw</subtitle>
 +
<subtitle id='01:44:16'>yourself a hundred different ways before you can even turn around and I think there's no I think it's out of the</subtitle>
 +
<subtitle id='01:44:21'>question but I think that if you can confine the whole one of the things that</subtitle>
 +
<subtitle id='01:44:25'>you can get out of object-oriented approaches to the things you can confine the errors to a very tiny place</subtitle>
 +
<subtitle id='01:44:31'>it's what Butler Lampson used to call fail fast is what you don't want is for</subtitle>
 +
<subtitle id='01:44:37'>an error to happen long after</subtitle>
 +
<subtitle id='01:44:43'>wiping out your database yeah but I</subtitle>
 +
<subtitle id='01:44:48'>think that I think that's similar to what you have to do when you start having semi intelligent agents which is</subtitle>
 +
<subtitle id='01:44:53'>better undo it's like the the agent at</subtitle>
 +
<subtitle id='01:44:57'>the UNIX agent at Berkeley that somebody said I just ran out of file space I need</subtitle>
 +
<subtitle id='01:45:02'>some more and 20 seconds later it came back and said ok now you have plenty of</subtitle>
 +
<subtitle id='01:45:06'>file space that actually happened but</subtitle>
 +
<subtitle id='01:45:13'>because because if it if that had</subtitle>
 +
<subtitle id='01:45:17'>happened on a Mac it would have been all over because it deleted about a third of</subtitle>
 +
<subtitle id='01:45:22'>his files and it it actually got rather high marks for being an AI for doing</subtitle>
 +
<subtitle id='01:45:27'>that you think of what it had to actually think about in order to figure that out</subtitle>
 +
<subtitle id='01:45:31'>and but the in that particular case</subtitle>
 +
<subtitle id='01:45:35'>because it was on a fairly robust time sharing system it had an undelete so</subtitle>
 +
<subtitle id='01:45:42'>delete didn't mean to lead it just meant mark these files for special treatment doing archiving and I think for any kind</subtitle>
 +
<subtitle id='01:45:48'>of thing where you extending the franchise of the end user into the whole</subtitle>
 +
<subtitle id='01:45:53'>file level and stuff like that you have to have infinite undo and other kinds of</subtitle>
 +
<subtitle id='01:45:57'>things but yeah the real question is and all of these things is whether the end</subtitle>
 +
<subtitle id='01:46:02'>user can do something interesting before their constructions get too spidery and</subtitle>
 +
<subtitle id='01:46:07'>one of the hopes for instance in internet was an inheritance was that in</subtitle>
 +
<subtitle id='01:46:12'>it that inheritance could provide scaffolding done by master programmers</subtitle>
 +
<subtitle id='01:46:17'>but in fact it's only worked in a limited way because it's been difficult</subtitle>
 +
<subtitle id='01:46:21'>to understand even what the scaffolding is for the end-users another question</subtitle>
 +
<subtitle id='01:46:26'>probably have feel free to leave by the way because I know we're running over</subtitle>
 +
<subtitle id='01:46:30'>yeah oh there's Jim</subtitle>
 +
<subtitle id='01:46:37'>were you here when I was taking your name in vain they're enjoying them</subtitle>
 +
<subtitle id='01:46:54'>having fun well I mean our experience is</subtitle>
 +
<subtitle id='01:47:18'>that's been one of the hardest things for one reason that the the kids this is</subtitle>
 +
<subtitle id='01:47:23'>why I say I think that the Mac actually provides some interference what I</subtitle>
 +
<subtitle id='01:47:27'>talking to the kids I found it extremely useful to put a newspaper over the</subtitle>
 +
<subtitle id='01:47:31'>screen so they can't see it and get them to talk to me in English</subtitle>
 +
<subtitle id='01:47:36'>about the thing and because we've noticed an enormous disparity between the kids being able to do problem</subtitle>
 +
<subtitle id='01:47:41'>solving when they're off the machine versus the almost nil amount of problem</subtitle>
 +
<subtitle id='01:47:47'>solving they can do when they're actually sitting there okay and part of</subtitle>
 +
<subtitle id='01:47:52'>that is because you know I believe that that would be better if the everything</subtitle>
 +
<subtitle id='01:47:56'>we were doing was completely iconic they</subtitle>
 +
<subtitle id='01:48:00'>might be better off than they are now but right now they're they have a play</subtitle>
 +
<subtitle id='01:48:05'>field that's completely iconic and they're thinking sort of in iconic terms</subtitle>
 +
<subtitle id='01:48:09'>and they have a programming language that's more symbolic and yet the when</subtitle>
 +
<subtitle id='01:48:14'>you try and think of iconic versions for all the things that are in the symbols</subtitle>
 +
<subtitle id='01:48:18'>is very difficult because there are some abstractions involved we're not really</subtitle>
 +
<subtitle id='01:48:22'>referring to these things we're not really referring to particularly lengths</subtitle>
 +
<subtitle id='01:48:26'>were referring to general lengths and so forth and what</subtitle>
 +
<subtitle id='01:48:34'>we'll make pal a lot of students designed for learners who using</subtitle>
 +
<subtitle id='01:48:42'>well I don't know what if you tell me</subtitle>
 +
<subtitle id='01:48:47'>what that means I would say yes well</subtitle>
 +
<subtitle id='01:49:24'>logo does though and the experience with logo has not been encouraging to that</subtitle>
 +
<subtitle id='01:49:30'>level because the thing that is most opaque to the kids in logo is the is the</subtitle>
 +
<subtitle id='01:49:36'>abstraction of making a procedure out of something they have the hardest so that</subtitle>
 +
<subtitle id='01:49:54'>right yeah so there's a question about</subtitle>
 +
<subtitle id='01:49:58'>maybe there should be something like components you know it's one of the it's</subtitle>
 +
<subtitle id='01:50:02'>one of the one of the alternatives to this way of doing things is to say well</subtitle>
 +
<subtitle id='01:50:07'>instead of coming up with something that is like an expression like those of us</subtitle>
 +
<subtitle id='01:50:13'>that took mathematics Esme maybe what we should have instead is an incrementer</subtitle>
 +
<subtitle id='01:50:17'>tool you know it's basically a component so it it isn't just a plus it's a thing</subtitle>
 +
<subtitle id='01:50:25'>whose job it is it remembers what it's trying to increment by and it's it's</subtitle>
 +
<subtitle id='01:50:29'>actual deployment in the system is whenever you want to bump something up</subtitle>
 +
<subtitle id='01:50:33'>periodically you get one of these guys and stick it in there so then what you'd have in the code</subtitle>
 +
<subtitle id='01:50:38'>would be something like you'd have something more like a folder that had</subtitle>
 +
<subtitle id='01:50:42'>just the the position guy in there and</subtitle>
 +
<subtitle id='01:50:46'>an increment or guy and that would be the whole code there'd be no assignment statement or anything else because you'd</subtitle>
 +
<subtitle id='01:50:51'>be doing that that's why I was hoping somebody challenged me on that because that's a</subtitle>
 +
<subtitle id='01:50:55'>completely different way of looking at it it might be better maybe bring ideas</subtitle>
 +
<subtitle id='01:51:27'>for problem solving and I'm wondering now</subtitle>
 +
<subtitle id='01:51:36'>right in fact one of the things you could say is mmm computers are too hot</subtitle>
 +
<subtitle id='01:51:42'>problem-solving is really cool because it has this there's this detachment</subtitle>
 +
<subtitle id='01:51:46'>thanks and so question is how can you cool down the Mac when you want one of</subtitle>
 +
<subtitle id='01:51:52'>the ways of doing it is to make the images not jump around like if you go to over 100 frames per second the images</subtitle>
 +
<subtitle id='01:51:58'>will steady down like they are on paper if you go to anti raster anti-aliased</subtitle>
 +
<subtitle id='01:52:05'>graphics on the thing you'll start getting something that is more sketchy</subtitle>
 +
<subtitle id='01:52:11'>you know the kinds of things you'd normally go to a back of an envelope or</subtitle>
 +
<subtitle id='01:52:16'>even do it in your head in fact here's an analogy for I think what the problem is the easiest thing to make shapes with</subtitle>
 +
<subtitle id='01:52:23'>is a ball of clay how many people are tried sculpturing sculpting here with</subtitle>
 +
<subtitle id='01:52:29'>clay how many people got what they wanted right</subtitle>
 +
<subtitle id='01:52:34'>why that clay will go wherever you want</subtitle>
 +
<subtitle id='01:52:38'>it to and you can see it every step of the way you know it's perfectly WYSIWYG</subtitle>
 +
<subtitle id='01:52:42'>right Dave we'll just go wherever you want you can make it incrementally you</subtitle>
 +
<subtitle id='01:52:46'>can always see that it's wrong right that's not what I want right it's always</subtitle>
 +
<subtitle id='01:52:52'>wrong so what do they do in art school do they give the art students a ball of</subtitle>
 +
<subtitle id='01:52:56'>clay no way they gave them a lump of soap do they give them oil paints no way</subtitle>
 +
<subtitle id='01:53:02'>they give them watercolor in other words non-reversible media why do they do it</subtitle>
 +
<subtitle id='01:53:06'>because you have to have an image of some kind in your head it's not it's not</subtitle>
 +
<subtitle id='01:53:11'>exactly the same as a graphic image but you have to have a very strong image of</subtitle>
 +
<subtitle id='01:53:15'>what you're going after in order to get something neat to happen no matter how</subtitle>
 +
<subtitle id='01:53:20'>plastic the medium is see this is the bug I think of the Macintosh is the</subtitle>
 +
<subtitle id='01:53:24'>Macintosh is a lump of clay you know it</subtitle>
 +
<subtitle id='01:53:29'>will go where you push it but in fact it doesn't build a strong enough image in</subtitle>
 +
<subtitle id='01:53:33'>people's head of what the possibilities are and I think the challenge of the use</subtitle>
 +
<subtitle id='01:53:37'>physical place to quit actually the challenge of the user interface design</subtitle>
 +
<subtitle id='01:53:41'>of the future is that that it should explicitly build</subtitle>
 +
<subtitle id='01:53:45'>an image in people's head that is powerful enough to allow them to create as well as to access so thanks a lot</subtitle>
 +
<subtitle id='01:53:53'>thank you I want one last thing is I</subtitle>
 +
<subtitle id='01:54:02'>want to give this talk a year from now year from now and be able to actually</subtitle>
 +
<subtitle id='01:54:08'>have some conclusions here you schedule</subtitle>
 +
<subtitle id='6853'>it for August [Laughter] </subtitle>

Latest revision as of 20:35, 5 December 2017

okay so next next year will actually be
the what I consider to be the 30th anniversary of this endeavor which is
called end-user programming and this talk today is sort of it's different
from the many talks that are that are given at Apple and elsewhere because
most talks are given about minor successes and what I'd like to do is
talk to you about a major failure and that it is a failure that has spun off
absolutely major successes but it is
never converged on its main objective
which is to get end-users to be able to
work build things aspire to build things
on the same kind of level that professional programmers build them and
the reason I'm saying it that way is that when we teach somebody to write in
English we don't say you'll only pass at
this endeavor if you wind up writing a Shakespearean sonnet or a play that is
we have levels of what it means to be literate in reading and writing but the
language that we try and teach people to use and to teach people to write is the
same language that the great artists use
likewise when we teach people to paint or teach people on a musical instrument
we're generally best off if we are using the same kind of musical instrument that
somebody great also uses the so that the
idea is that the end users should be able to aspire to the kinds of things
that they find in their environment in
the case of the Macintosh it means that the end users should be able to aspire
to the kinds of things that they see on the Mac every day that they go out and buy it in
King's software they may not ever want to put themselves in the position of
having to build one of those things with the kinds of smaller things that they
build should be built sort of out of the same kinds of building blocks that they
think these other applications are built
like and I guess I'd like to start off with what I consider to be the prime
theorem of all of this work and that is
that the end users are not like us and
this is a sort of a bell curve theory of life which says that in any endeavor and
a population say about this size that 3
to 5 percent in that population will be fairly well pre-wired for learning
whatever it is it's gonna be a different 5% for each different kind of thing and
only a few exceptional people are pre-wired for lots of things but you
know some people have terrific control over their body and can learn a new
physical coordination fairly easily and
reason I put it in a bell curves not because I believe in normal distributions but it's sort of a way of
contrasting the way social scientists
think of human beings with observations
and I sort of split it up that instead of worrying about the six standard
deviations that these bell curves are wide I just think of it as 5% 85 and 10
and that most of the endeavor in any
kind of learning environment is actually
devoted to doing something with the 85 the ID 5% are the ones who have enough
precursors to build structures that the
knowledge can be fit into they are the ones that go somewhere to learn a method
or a technique and the kinds of fact
this is my second question is how many people presume everybody in this room is a
professional programmer is that true anybody here not a professional
programmer okay a couple of people so of the professional programmers how many
people here felt that they had any great difficulty in learning how to program
honestly anything not just learning a
language no learning Pascal learning C learning machine code APL let's just
take let's just take the garden-variety one so and I followed that category to
none of us had any particular difficulty doing that you know there was there are
some things we had to learn there are lots of things that we had to learn and we sometimes founded a wrench to go from
one language to another my own personal experience I started programming in 1961
and I found that the first 5 or 6 machine codes that I learned interfered
with each other but after that there wasn't any interference because I soon realized that the the objective of
programming was not to remember machine codes but to remember other things that
you program in terms of and then you just find the way the Machine does those
things and that's sort of the transition from a beginner intermediate to an
expert as we'll see later the one of the major difference between experts
regardless of what the field is according to cognitive psychologists and
people who are not experts is that the experts have somewhere between 10,000
and 50,000 what you might call cliches
there are things that are independent of the actual building blocks and there are
little things like arches and other kinds of structures that are somewhat
abstract like an example that's been identified of the many that have been
identified in programming is that is
very simple one of the ten thousand is the cliche called summing the elements
of an array right that's an idea that we actually have and each programming
language has a different way of doing it but when we're faced with some sort of
problem we're trying to solve start mapping I claim and this is borne
out by experiment that we start mapping that problem into the sum of the 10,000
things that we have absorbed and that gives us a way of doing planning one of
the major distinctions between expert planning and novice planning is that
knossos plan when they do plan with the bricks they try and make plans in terms
of the bricks and experts almost never do okay and you can imagine the
difference in outreach by being able to plan with stuff that you already have
inside of you and having to plan with something that is number one to
primitive and number two is something you haven't learned yet it's still in some manual somewhere and so you're in
this spidery fragile place that characterizes the the novice now one way
of interpreting this is this is an elitist way of looking at humanity and
in fact there was once a theory that
only certain people were ever to be found in the 5% that's more of an
elitist theory this notion of the aristocracy and that this being in this
five percent was always genetic and and so forth but in fact by letting it hit
different people in different populations it actually becomes a different kind of theory I call it a
Jeffersonian theory because Jefferson's notion of democracy was as he said if
the people do not yet have the discretion to make the decisions that
they need then what we should do is better inform their discretion rather
than withholding the franchise okay and so what Everson said along with lots of
other people like Suzuki who thinks that you don't have to have being here in
order to learn how to play the violin and has proved it with millions of counter examples that the of much more
than a majority of the people for any given thing actually have enough stuff
set up so that they can build the layer that is required to build a next layer
we'll get them up to a very high level so this is an improvable theory of life
rather than an elitist theory it is
impossible to deny the existence of this no matter how Democratic you want to be
tough beans this is this is here and you
can pick them out in any crowd and the way they do things is different and they
do things differently from the word go even when they have not seen the subject
matter before and the reason in fact there's some very good
beca's Jim spore here I just like to
recommend his book that he wrote with Eliot solloway which is a collection of
papers on novice programming it has
probably 90% of the really good stuff
that's ever been published by cognitive psychologists in studying this whole
area and as well as we get into some of this some of this stuff will see that
some of the things that work really well with the 85% actually hurt these people
because these people actually come to the scene with some already some schemas
that don't specifically have to do with the area but somehow are much more
adaptable to the area than these people there's a way of finding these people
ahead of time there are certain kinds of tests you can give to find them ahead of time and some tests have been done with
them the other thing I should mention
about this talk when I first agreed to do it which is a long time ago I've
canceled out several times I was originally going to do it talking about
playground but since then I wound up being a being a manager of a couple of
projects manager of the vivarium now and I started up a couple of new projects
and I've been very busy and doing a
presentation on playground got less and less interesting and I still I found out
I was still as interested in end-user programming as I ever was so I decided I
would do it on this and that this is the last year that we're actually going to
make any changes to playground so it's essentially being we're not
going to kill it so much the teachers are still going to use it in the classroom but we're going to try and do
something better and different so I thought it would be good at the end of
the spring or so to have a joint presentation on playground because a lot
of what makes playground work is actually the work of Scott Wallace and
Marian and Dave Mintz so actually four of us that did it I thought it'd be nice
to have a session just on yet and I
didn't want to go through a history of all the things that have been done in
the past but boy let's see maybe I'll
just do it like this and let you scan it I by my count there been somewhere
between 30 and 40 programming systems
specifically aimed at end users in various ways this is by no means an
enumeration of them and this is by no means all the different types they are I
just picked what is it ten different types that characterize some of these
and some of them are in more than one type of course 62 was the year that two
of the best ones that were ever done was done this is why it's so poignant
because that's 29 years ago now jaws
which is probably I'm going to show you
last year right before he died I got the
jaws movie from cliff Shaw is the guy
who did Joss single-handedly and we was so faded and stuff we went and got it
color corrected and stuff anybody wants a copy of it can have it but this is
this movie was made in 1964 okay the I'm
only going to show you a part of it because I think you'll find it interesting I want to contrast the two two ways of
doing things that people started working on back then and the reason they were
working on it is because the Advanced Research Projects Agency in 1960 said
you know the destiny of the computer is to become a symbiote a complementary partner for humans they
didn't know what that meant McCarthy thought it meant that you should have an intelligent agent that was going to that
he called the advice taker other people thought it would be something more like
a tool so this notion of tool and agent and of course the tools are easier to do
than the agents so the tools started appearing first let me let me show you a tool it's called jaws history of this it
was done on a computer that I think that was built in 1952 maybe earlier it was
one of the Princeton type computers this was one was called johniac because it
was John von Neumann was one of the designers of it and I will not describe
that machine to you except to say it was much larger than this room and it was
astoundingly slow had almost no order
set and they were gonna throw it away
in 1959 1960 and cliff Shaw said well if
you're gonna throw it away let me have it I'll do something on it and this is what
he did a system called jaws for johniac open-shop system this is one of the very
first interactive systems ever done and
when you see it you'll be amazed at what they what they decided to do instead of
using teletypes they decided to adapt IBM electric typewriters so in fact you
type two jaws in green it would type back to you in black undrilled fan-fold
paper so it would go into your notebook in upper and lower case okay and the
user interface on this system and the systems that followed it were done about
as well as it can be done jaws invented remember basic came along
a little bit later and basic was a simulated Fortran when it first came
about in basic you didn't interact with it you submit you interacted with the
editor and you're what you were doing was the editor was a simulated key punch
and you fed simulated cards as data to
your basic program so this is like kiddy Fortran at Dartmouth and jaws earlier
invented this idea that oh you should be able to have direct and indirect interaction so a direct thing is just
saying three plus four and Joss would execute it but if you put a line number in front of it then Joss
would defer execution of that line number something we associate with basic
and APL but Joss invented it just invented it better as people have often
said Joss was an improvement on its successors why did invent it better
because Joss the Joss people were smart enough to realize that the line numbers
should be floating-point numbers so you could always put things in between
something that nobody in basic or APL ever thought of ever okay so this is
just the end of it I'm skipping the introduction because I think everybody will understand what's going on right
from the word go I haven't tested this out yet so I'm presuming it's all set up
and working is that a good supposition
turn off the talent in preparing for
when it's worked for the unforce brand officers frequently have the problem of
evaluating an expression for a number of values to aid in the preparation of a
graph here is one such expression let's
do it Josh you'll start on a page with a
heading
step one point three little valley with our warm it up well for values of T any
one seventy two forty five and nine
and 4l peak to the point line here we
can backspace strike over and go on for
L equal to point one point two in steps of point two up to - Part 3 if anyways
our expression and type out the answers
this is WYSIWYG as far as the required
to convert degrees to radians and to
convert logs to base e to base 10 then
we can ask jaws to the result
[Laughter]
[Laughter]
again we'll keep a record of our program before we delete it
jobs could operate with indexed variables and the stored program may
call for values of variables to be entered during execution will vary the
value of the first index X from 1 in
steps of 1 to Y
and very the index lie from one steps of
1 to 8 we enter the value of each
variable evidence requested by jobs
[Laughter]
when all of these values have been entered we may proceed to have jaws
calculated in mr. Abel as will be required for problems more complex than
we have been able to demonstrate here
[Laughter]
you have just seen a demonstration of many features of the Java system has
pointed out this is an experimental system designed to provide individual
scientists and engineers with a personal on-demand computing service as a side
aspect of the experiment we hope to gain insight into the interface problem
between a man and a computer the system shown here is currently available to
rands professional staff our experience in
using just our observations of user behavior will be the basis on which to
continue research later model systems will certainly differ from what you have
seen John is one of many current efforts in online time shared use of computers
the goal of the Java project has been to demonstrate that the ability to be
online mr. computer given a reasonable language and almost continuous
interaction leads to a powerful computational tool it is probably too
early to forecast the ultimate effect of such systems but for a certain class of
problems at least the programmer as the middleman
problem and the machine is no longer needed jos represents to be believed a
significant step forward because of an intimate interaction between man and
machine this sista i just want to say a
personal note that this is one of the few systems i've ever used in my life in
which the knowledge that you're going to get to use it in the afternoon set up a
pleasant little tingling in you that of
anticipation that i mean i can't begin to describe how beautifully everything
was finished off and cliff Shaw's paper
which some of you may be interested it was written and I think the 63 or 64
joint computer conference thing said the important thing in these systems is just
in just the details the hundreds and hundreds of little details that you have
to do and when and this was a system that users came back to and came back to
they just loved it so much so that was
Josh and that was one way of doing it might wonder why it didn't Joss make it
and basic didn't well it was one of those awful stories that GE decided to
do a network later on in the 60s and
looking around for something to run on that network they went to every place in
the country that had a GE computer and looked to see what was running on it and
guess what place had a GE computer Dartmouth Joss was not implemented on a
GE computer and so GE took what was running on the Dartmouth time-sharing
system and made that the basis of its network called Datanet 50 and that is
why and the only reason why basic came around and then of course Bill Gates
whose taste whatever whatever taste he
has must be mostly in his mouth
decided to resurrect the language that
had been safely dead for a few years and that will never get rid of it okay so
let me show you another system that was done in exactly the same time for
contrast this is sketchpad
so this was done by the way also on a computer actually a computer almost the
size of this floor has Ivan said once it was one of the last truly large
computers in the United States it was it was certainly the last computer to have
its own roof and also actually one of
the great architectural designs call the
tx2 to hear sketchpad this is the first
known sketchpad movie around nineteen
summer 1962 so he's pointing to those things and now
he's going to say make all of those angles right angles and sketchpad just
figured out how to do that so sketch pad this is the first system
that ever had a window and in fact the virtual on this very first graphic
system the virtual sheet of paper he's writing on is 1/3 of a mile on a side
windowed he says make these guys
parallel and now he's going to go in and
- the lines
so this is the system this is the first or at least I guess one of the first two
object-oriented software systems by the
way there no there's no line drawing on this display the tx2 is putting up a
point it actually has a word of memory for each point on the screen okay but
continuous zoom try doing that on a Mac think about what you're seeing here
remember this is the number one so he
wants to make a rivet again the reason it's called sketchpad is because the
idea is you should show sort of what you want and give the the rules and
sketchpad should complete it so use the center of the those cross guys to be the
center of the circle now he's going to go again and say make those guys I just
pointed to mutually at right angles and sketchpad in solving that also forces
the rivet to be symmetric and in fact he
could have made the ratios of the sides obey some rule as well once asked Ivan
how could you possibly in one year done
the first computer graphics system the first object-oriented software system and the first constraint based problem
solving system and he said well I didn't know it was hard so the system is quite
remarkable in that on any system even up
to a $200,000 workstation you cannot buy a system that has this kind of
interaction and problem-solving ability this is after 30 years he's continuously
changing the size of the rivet to size it in there and now he's going to anchor
it in there and by the way he that
drawing of a rivet was what we call a class nowadays that Ivan called a master
so he could make lots of different rivets here's another instance here's
another one this is why they decided to do better
displays but now look what happened he's
gone back to the master of the instance and he's going to make the cross pieces
invisible and in the drawing all of the
instances have felt that change and you can't do that in Mack draw for Christ's
sakes and in fact this drawing that he's
doing here is a master itself he's going to zoom in on it
it's a master so he can make instances of it
and again this composite structure will feel any changes made to its master and
so on ad infinitum fact even more
sobering is that in that first film I
haven't been able to run down a film and Ivan doesn't seem to have won either that showed how you dealt with how you
actually made up the constraints and attach them so I have here an excerpt
from the one of the sketchpad papers and
in fact the fact may be let me do this
one first so these little guys this is the this is
the object that he's drawn and truly
amazingly in sketchpad Ivan decided to make the constraints graphical objects
as well they had a class called constraint and each instance of them was
shown as an icon okay so this is also the first iconic programming system I'll
tell you to me and what an icon is is a symbol in which something about the
visible form of the symbol tells you in an analogical fashion about what it's
supposed to do or you could say in a metaphorical fashion and so the
constraints and sketchpad are like little spiders each arm of them reaches
out to a parameter right so the the
equal guy here has sort of two double
arms because equal applies to in this case applies to lines so this equal
constraint is saying I want this guy to
be equal in size to this guy okay and
that's what he does is he yeah this is a master definition he copies the
definition he connects the definition up
to the picture they merged together and as they merge together if contain
constraints are satisfied and that forces the P guy is a
parallel guys that forces these two guys to be parallel this guy forces them to be equal which
forces the rest of the structure turn out right so so sketchpad and you can
make up new ones of these you want you
just didn't have a fixed set of constraints you could take the
constraints that were there and build new ones and those would be a class of
new constraints that you could then go out and apply it to pictures pretty
nifty huh so this is why old farts II get really pissed off after all this
time that we haven't actually qualitatively been able to go beyond
this in fact in some cases we haven't even been able to do as good this is a
long time and I'm including myself in the thing was I've been working for years trying to do something that will
actually get over the threshold for the end user all right so the other the
other thing that is an important point in this talk is that neither just nor
sketchpad got above the threshold for the end user no matter how wonderful
they seemed to us why that's why because
the users are not like us and in fact if you ever wondered about it think of how
many people are who program what percentage of programmers do you think
have ever designed a programming language right maybe one in 10,000
probably less than that how many programmers have ever designed a new user interface idea right one in
100,000 so in fact even when we're design one der why is MPW so bad okay
the reason is is that the people who design it even though they were designing for professional programmers
they were a different kind of person than the programmers that they were
designing it for so no wonder they couldn't design it for these other people because they thought the other
people were like them this comes back and back I mean the Mac right now has an
absurd set of barnacles on it right it
is no longer use they're friendly like it used to be you think it is no way try
it out on almost anybody who hasn't seen it before and let them try and
find out the chooser for themselves let them try and figure out what it means
that when you close the chooser if there's a perceptible lag between the
time that it closes the actual window and before that it blinks out the thing
that you've just selected but what does the end user do they go back and
reselect the chooser to see if it really did select the printer you know this is
in the company that is supposed to be making its money on user interface and
we actually are willing to sell that and we're willing to sell it regardless of
complaints to the contrary to saying why can't you just blink them out at the
same time so what's the purpose of this
talk purpose of this talk I can't give you a solution for this but I don't want
to give a presentation either what I want to do is to have something that ranges between a dialogue and an
argument about this stuff the only rule
on arguments as you have to back you can't just complain you have to back up
your complaint but as far as otherwise
in my opinion everything else goes let me show you another system from 1963
Ivan's brother Burt who in fact is known
as brother Burt did this system which is
called sometimes called OGG shop for
online graphical specification procedures and Burt's idea Burt had done
some hardware design he thought well here's another way of dealing with the end-user let's let the end-user wire up where the
values are going to go okay and this set up a whole class of data flow type
languages of which one of the best ones that's ever been done was done here at
Apple a few years ago called fabric okay and so the idea is you have function
boxes the information flows so the what
this thing is showing you with the connectivity is where values are going to go so it has the advantage of being
variable free and in fact these systems are generally fairly easy to program
fairly difficult to deal with once they are
one tends to forget what even oneself did a few weeks later and looking at
somebody else's can often be a nightmare there's a reason for that which we can
talk about later when I start talking about the site some of the psychological aspects okay let me get my where's that
slide I just had oh they'll thank you
that's the one I was looking for okay so
English like things Joss and HyperCard
actually are rather close basic had some
English like aspects to it but Joss actually went so far as to require you
to capital they wanted you to think in terms of sentence so you actually capitalized the first words and Joss and
you put a period at the end and it tried
to make the stuff very readable APL is sort of math like next system I want to
show you is sort of a control throw flow way of doing it which the first great
system to do that was Grail and you'll
show you two excerpts first just to give
you an idea what Grail was story behind this is the the main claim about Joss at
Rand was that a lot of the end users who wanted to use the thing didn't know how
to type and the pressure from this caused Tom Ellis and a couple of other
people to invent the first really great tablet which was emitted in 1964 the
same year that the mouse was invented by Engelbart and Bill English and this
tablet was an incredible thing even by today's standards except it's price was
quite unusual this could give you about a hundred points a
second at a resolution of more than a hundred to the inch and it was about
like this and cost about eighteen thousand dollars to buy one round
1967-1968 okay and here's nineteen sixty
five the first really great hand character recognizer you might compare
this if you've seen the go systems version of this stuff take a look at
this system sorry
this list of processes takes us back to the topple stone where we may start to
edit the flow diagram so there's no keyboard so CZ wants a box and it makes
one now it's recognizing as printing this is
where modern-day window control came from literally a decision elements to
the box and came from it to scale
we then erased the florals attached to the process and new areas and move the
box to a new position this allows us to
draw a new box then chop off his corner
and label it sub scan [Applause]
with the residual error now notice it's modeless misses the an he sees it he
hesitates but he says I'll just complete it because I don't have to go into any
mode okay so that was grail now that was
about 1968 and one of the one of the
great experiences I ever had in my life was to use that system for about a half
an hour's about all that would stay up between crashes okay now let's take a
look at now Grail is actually an end user language it was actually a simulation language and here's an
example it is the process that we call
the pseudo random integers because the process has been predefined in this file
when we press on the translation display appears to be filled in in this case the
translation is quite simple and requires just two crackers to return to the
diagram we press return and drawing too
soon element on a random wavelet drawing
little connector and nullify it to represent a switch control planes can
land to the switch label a switch with a name and a variable subscript to provide
a terminal for each value of the subs we draw a trail or connectors and label
each with the same name as the control switch and subscript each with a numeric
value from 0 to 7
to simplify the problem we draw another remote connector and label it then
gather all of the control paths into
this is tedious as the fighter note that
this connector has no control point
to close the loop we draw another remote connector give it the same label as the
collection point and draw an arrow from it to rent before we can simulate the
process we must assign space and values
to data variables when we printed the switch subscript or entered a label on
the interface display our used data labels on the coaming form each was
stored away to be presented on this display that's the seed for the random
number generator thought he did yeah
exactly this is this is yeah this is what they
actually wrote the operating system for this machine in this system notice it
has as a speedometer up there it takes
you through everything
we will stop the simulation a nuisance
okay so that was grail well it's this
machine I believe was about all of these
all of these systems were programmed on machines were about like 512 K max and
it takes two for sketchpad was about 512 K and it was about to say his speed as a
512 K Mac and this machine was a was a
model 40 with a they built all their own displays and stuff herself was sort of a
kludge duck display system all single user of course so it's about about that
I mean that's the main thing is they could actually program back then so it
was it was different they didn't have to wallow in bytes in order to get things
done that hand character recognizer has
been available in a paper since around 1965 and anybody who does the strange
thing called reading papers could actually go back and look at it and
implement it what's interesting is that the things like the go system are
actually not even as good as the Laveen recognizer which is in the back of
Sproul and Newman's book which is about it like a five page program in basic or
C or something like that so this is a typical example of Silicon Valley trying
to roll their own and coming up with that new kind of wheel that has about 15
corners on it and this is really a serious problem I'm I am get very
exercised when I see people doing stuff worse than was done 30 years ago
especially when there's documentation that anybody could read so you can least
start from where some of these characters left off you know you think we're doing better
now than we did back then no we aren't we aren't doing better now they one of
the reasons they were able to do so well is you couldn't make money at this back then
the people who did this did it because they loved it and they they believed in
this dream that the computer could actually be something wonderful for people they cost millions of dollars to
do these experiments and they had to get people who are willing to put millions not $3,000 for makka FX or 10,000 for a
mac FX but millions of dollars to do one of these systems in a form that could
never be commercialized that was what it was like back then there's my old fart
part of the lecture ok another system
I'd like you to look at is I think it's
this now in fact we were very so this is
the one of the original movies of the old Dynabook model and
we were very interested in seeing what
end-users could do let me show you what
one of our child and users could do in
an object-oriented language object orientation as I say it existed in
sketchpad existed in Simula never been
used in a direct form for end-users until some of the Flex machine stuff and
then most especially the small talk stuff and see what not quite sure where
I am on this tape okay so here's so this
is something like Mac draw it's a twelve
year old girl
[Music]
the system is tight general and allow five sizes and colors to change that
will many instances can be created from
the shape description she is betting to build a truck the idea
of a system to a drawing is something every child understands intuitively because they already know about drawing
the school in order to design and build
the system however Susan had to gain a fairly deep symbolic understanding of
some of the semantics of drawing even more until she has time to grasp the
very powerful notions which have something to do with inventing comprehensive models that not only
capture her desires and ideas but which also rock
okay so that now I won't show this one
just in the interest of time so we had some successes at that and I'd
characterize part of this success we had is because there was a fair amount of
what you might call pre modeling with the kids I'll give you an example of
this is stuff that was worked out by
Adelle and some of the rest of us trying
to figure out how do you get kids to do
something besides just make pretty patterns on the screen the way they do in logo because one of the one of the
biggest problems is the limited success
or success in a limited area is probably one of the biggest barriers to getting
major success you know it's the local mini minimum problem and one of things
that was discovered although much after the fact was that the kids who did learn
logo before logo had a turtle did much more interesting programs they were
doing list processing of things like turning English sentences into pig latin
sentences or it into french sentences where they actually had to use recursions and parameters and stuff
whereas with the logo turtle you can actually do fairly elaborate effects on the screen just by long strings of four
words and less so there's a real tendency for the kids to sit there
rather than taking on the bigger structures in fact we discovered that because the first way we taught small
talk to kids was in the form of turtle
geometry because we didn't know what else to do so adele started thinking
about how could you teach objects to the
kids so she gave the kids a program called box and they typed something like
Joe gets box new and a box would appear
on the screen and the they could then say Joe grow and Joe turn 15 and the
boxes would obey these messages that were sent to it
and she you could get another box called Jill so you had two instances of them
you can make Jill go one way and Jo go the other way and then she would get the
kids to try and guess the interior of box what what were these box and they
had they'd exit they had actually exercised the thing enough to know that
that there are these I apologize for the
size of this that there are these commands that there was a a turn command
a move command a grow can may actually
there wasn't a move command in it there is a draw undraw redraw turn and grow
and so forth and they write down sort of
an English description of what they thought was actually going on and then
after they done that we would show them much to their horror what was actually
there and it was in terms of the turtle
each one of these in this particular way of doing it each of these instances
owned its own turtle and so when you said turn it would say something like
actually this is this is a fancier version that Dan did it would say
something like selfie race changed my
internal angle to the new angle and then self draw so that it was fairly theirs
so there's three little sentences for each one of these things and then they
would the next thing they would do is to
make a plan to add a move here's one
version of move
sort of the way we did of getting the kids to write the English before they
worked on the small talk so they put an English description of their intention
and then they would do they would say
self on draw placed the turtle at some new place and then say self draw so
that's an analogy to the things that were already there and that was one of
the things that led us to be interested in sub classing because we thought that
the getting something that had superclass's would actually help the
fledgling programmer by providing metaphors that would help them in their
planning turned out not to be the case in fact super classes are very hard even
for professional programmers to deal with anybody know why anybody have a
sense anybody ever tried doing something in sub classing something in small talk
somebody must have an opinion yeah what
what is the superclass mean right you can't even be sure that the word print
means what it's supposed to mean because small talk doesn't enforce any external
meaning of it so we actually have to go read the superclass code to try and
figure out what it does and it's not in a particularly readable form so the next
thing the kids kids would do is in this move plan they would one of the things
they might do is to leave out the undraw so now the box would leave a trail
another thing they could do is to hook up the parameters of where the move to
is to the mouse and they could drag the box around leaving a trail now and they
would have a little painting program and a little painting power Graham was the
basis for this system that was twelve twelve year old girl did okay that
system by the way that the twelve year old did would be quite a challenge in HyperCard because hypercar isn't really
an object-oriented language and you are without having something like
independent objects that you can deal with after you've made them it is impossible to go back and recent you
know think of what you have to do hypercard to simulate object-oriented graphics right you actually have to have
another card where you're making the drawings on and then you're swapping
images and yep you're forcing the end user to actually do double buffered
graphics which is a little silly okay so
that was a small talk we talked about
data flow pattern matching just like snowball and but G was a graphical
language to do that they've been rule-based languages like Rita which is
called another one done it ran call which is called a Rand intelligent terminal agent
which is basically a pattern matching
system for allowing the end user when the end user came up to another database
that the end user wanted to deal with the end user supposedly was able to
write some rules in it that described the new database and Rita would merge
this database into the user interface that the end user used for all databases
turned out not to work so well but they learned a lot about rule based program
so what's happened along the way of doing this stuff is that almost every
one of these systems has led to an advanced in the world of the programmer
but the end users still can't really do
what they need to do that's the paradox that's why it's so frustrating every
time we do something here it spills out really nicely into professional
programmer world but we it's somehow we can't quite get past the barrier that
the users aren't like us actually we have Alan warning here Alan want you
raise your hand Alan did the best follow-on to sketchpad
which is called thing lab and actually we have Dan Ingalls here who is the
architect Dan which raise your hand who is the major architect of small talk
over the many years so I bited them along because I figured if nobody else
here would argue with me they probably would by demonstration programming by
demonstration one of the first really good examples of that was Pygmalion have
Dave Smith here see this is raise your hand
so what's frustrating about this we have all these great people working for Apple
and we still can't solve this goddamn problem so Pygmalion is maybe a better
[Applause] Pygmalion I still think is one of the
best ideas this is one of these systems that deserves to be done again because
basic notion of this one is if you could capture what one programmer would
explain to another when trying to explain an algorithm at the blackboard
the programmer goes up there and draws some pictures of data structures and say well first you do the basically showing
editing level at it of how you go from the raw ingredients to how you get your
results and you capture that you would capture a lot of the useful parts of an
algorithm without having to know a lot of the grungy terms and it in turn was
based on some of the ideas of WYSIWYG
editing that as they've put in his thesis people rarely make a an egregious
error in a WYSIWYG text editor and the
reason is because they're making the change right where they're looking and they can see whether the change was the
one that they wanted or not so they're right there there's not this huge delay
between seeing the change Radia Perlman had taught turtle
programming to very young children by using a button box in which the turtle
always acted out what it was going to do even when it was was when it was
remembering and what's nice about in
there are two ways you can go on a programming by demonstration system one
way to go is to try and have some AI to try and figure out what the intent of
the demonstration is we even have some
systems that are being worked on on here Allen cipher and some other people are working on them I think this is a very
hard problem and the reason is that I believe that in order to figure out the
intent in any reasonable domain for programming that you have to have
something like psych and you have to have a model of the 10,000 or 15,000
people's the things that people generally want to do you have to have some way of figuring
out what the goal is and if you don't
have a way of understanding of homing in quickly on the goal the possibilities
for misunderstanding what the intent is is tremendous just as this happens when you're dealing
with another person who thinks in a different way I think the other way to
do it was something that was done by dave student dan hilbert in a system
called small star which is sort of the i think of as the granddaddy of direct
manipulation programming by demonstration systems in which what he
did is he tried to collect a transcript you know we would call it a macro today
but to collect the macro in such a way that the form of the macro was
meaningful in higher-level terms rather than low-level terms the way most macros
are today and then you could go to that thing and be able to edit it into the
level of generality that you're really trying to understand and I happen to
believe that that is the best way in the next five years to solve this problem I
do not believe that AI is going to get enough there and a little bit of AI is
almost worse than none at all because it can actually get the user into a place
where he's trying to outguess some system that can't guess what he's trying to do okay so let me talk about a few
psychological ideas and some studies that have been done that are sort of a
basis for us the first one is the one that gave rise to the Macintosh and next
month we're actually going to give Jerome Bruner a Mac for coming up with
what I think of as the main psychological basis for the design of
the Mac and it's a multiple mentality way of looking at things
he called them in active mentalities iconic and solid mentalities the slogan
I made up was doing with images make symbols and weight and way you think of
them in a more visual form is
as in childhood development as three
separate mental centers that all the deal with the world in a different way that mature at different rates and think
about things in different ways we've had our greatest success in dealing with end
users in retreating from the symbolic way of doing things down here and the
real question about the Macintosh is have we actually been helping the
problem know how we've been winning the battle and losing the war because the
central thing that you must be able to do in programming is go from the
concrete to the abstract and we've been seeing in a lot of our work at the
school that the Mac actually seems to be interfering with the kids ability to do
abstract thinking not helping we'll talk about that a little bit here's some
psychological studies there's quite a bit of this stuff has been done and the
first caveat is sort of epitomized by lead guards work is a classic study that
showed that end users preferred English as a command language for text editing
rather than command keys he did that at
the exact same time that people were
doing WYSIWYG editors at Parc okay so this is the this is the optimizing the
Train theory of transportation rather than venting the airplane so he took a
bad area and found out what the best thing to do in the bad area was another
important notion is the distinction between what Brownell and Moser in 1949
called mechanical learning which is being shown of parallelogram and being
told that the area is the height time the base versus what we used to call it
Park behold things the behold thing is a
meaningful learning where there's something in what's being presented that
illustrates why it works and the simplest be hold on this is to show that
you can take a little piece of triangle from here and move it down here and it becomes a rectangle and therefore it has
to be height times base so it's a
difference between okay quickly now this notion of advanced
organizer is a good idea the advanced
organizer is like if you're going to read something in encyclopedia britannica read read the article in the
world book first this is a good one for kids that gives you a map and you can
take care of the much more complicated information much better the Mac should
be an advanced organizer for end user programming everybody agree with that
because it's got all of these metaphors there and you're doing the easy thing a
reading from it in a sense and it should be organizing the knowledge that you need to put together for end users
Gagne showed that putting things in your own words slows
but it advances transfer so if you want
people to take something that they've learned and apply it in a new situation it helps to have them articulate even
though it delays the learning process itself labels these are like simple
things right but it's incredibly important a label on a paragraph will
help the comprehension of the paragraph by about a factor of three most people
can't figure out what a paragraph is about unless they've been told here's
one that Steve wire and Alex Canara did a long time ago which is to give the end
users a concrete machine model where Steve Steve's around here somewhere okay
well he lost his chance at fame
the stuff that Adele and I and some other people did use pre-training
prototypes giving the kid a plateau to
stay on for a long time planning templates Atwood and Ramsey did the
first really comprehensive study that showed how many schemas that experts
have in programming and show that they are very very similar to the schemers
that musicians and chess players and athletes and so forth have one of the
great papers I don't remember the date was done by Perkins and a group at
Harvard character yeah they were they
thought it was in an in excess of 10,000 for programming it didn't seem to be up
in the 50,000 of the chess master but it was in excess of 10,000 they thought no
no the the presence of yeah the numbers of them the number of chunking entities
there are also personal styles that interfere some people are what called
are what I call Stoppers and other people are called movers and the stopper
is a person that when they get into a difficulty they stop okay and the movers
keep moving sort of difference between depression and anxiety right it's it's
always it's always better to be anxious because
you're moving at least and the problem
is the extreme cases actually are almost as we're as bad off the movers many
times we'll just take her randomly in order to be moving but they won't sit
down and do any more thinking than the stoppers do so one of the one of the key
things that you have to do and this is a serious problem is that you have to have
something like the Mac puts a lot of effort into extending the short-term
memory of the user onto the screen in order to prevent stoppers from getting
stopped right there's always a pulldown you can this is why the pull downs work
better than pop-ups because it's hard for a stopper to remember that the
pop-up is there it's invisible they have to actually do something whereas just
scanning around and so that at least there's a line of menu they can go and
fiddle with it to get going
close tracking of code I'm actually leading up to something here which is a
problem with this area is that see the reason nobody solved it in 30 years it's
actually complex I apologize for that it's actually a hard problem as I said
in the beginning close tracking of code close tracking of code means that the
user pays attention to the very code that they've actually put in the machine
most users do not we've seen this everyday at the school is that the kids
will put code in and never read it again even though it's in front of their face
they will not look at what they do tinkering we've just talked about is
going in and making a change somewhere because that sometimes that has worked
once right go in someplace and suspicious make a change and they will
do it forever most users won't break problems into subproblems because that
isn't solving the problem now the reason
I want to reason I'm emphasizing this stuff is what is astounding to me about
this stuff is that does not matter how old the person is for this to be true
these studies have been done from kids starting with age four and five they've
been done with ell entry school middle school high school college
lots of Yale students suffered through this it seems to be almost universal
that these are the problems that you have to work with here's another one
that solloway and spore and some other people did novices will write this is
almost a no-brainer but it's an interesting one novice will write better programs if the
primitives of the language fit their preferred strategy and it's hard to
believe for instance an example that
since it makes a difference between saying this
and saying this
doesn't seem that difference to us but makes a huge difference if a difference
between the normal if statement the way we usually see it if a less than B then
a gets a plus B versus saying the action cloth first a gets a plus B if a is less
than B this one is the one that the end users like the end users like saying a
plus B goes to a rather than a gets a
plus B ok because the end users are
basically bottom up they're generating and putting and if you think about the
the other versions of those two things they're both top-down they're putting
the guards first they're delaying
talking about what the action is going to be whereas the end users are in their
best place when they're thinking about what the action is and finally this is
sort of the classic paper by spohrer and solloway yes sorry has a couple of I
think the central important things one
is that a few types of bugs account for most of the errors and here's the capper
most bugs are not misunderstandings of
the language but our composition bugs we
had we taught many third graders this
language we worked on called playground and one of the astounding things about
this experience these are seven and eight-year-olds is to have a class of
sixty children after about a week and a half be able to answer most questions about
how do you do something if correctly if the answer was a single playground limit
of primitive so in a week and a half they'd absorb about 50 or 60 of the damn
things really astoundingly and I think one way we could say we're Scott because
it's see if I could get a nod from him on this that one of the most amazing
things is the Running Start the kids get in playground like the first two
weeks you get 95% of what you're going to get and then actually it retrogrades
but being able to have almost 100%
comprehension on answers that require
single primitives the kids are almost unable to answer any question that
requires any kind of combination of more than one primitive any kind of question
whether it's even a simple secret you do this first and then this or you do this
here and this here any kind of thing that we require is planned composition
that's outside of the bricks of the thing they have no schemas for if you
want to look at it in terms of schemas there are only plans they can do are in
terms of the bricks and the only planning they can do with the bricks are single applications of these bricks what
do you think okay listen if I knew I would be writing the paper right now
yeah the question is when you start
getting into what what you might call con this is where we can start getting
huge content interference like the users can't problem-solve is basically what is
being said here in any form and the difference and this is why the Mac is an
illusion and in a bit because the way we get the users to problem-solve on the
Mac is we give them an environment that they can problem solve in and the
problem with programming I claim the difficulty with programming is the users
haven't ever done that kind of problem solving at all and there's problem
solving that involves something like variables and that there isn't anything
in there Norton ordinary experience where they think of things that terms
and that the Mac actually doesn't get you it only helps in HyperCard to the
extent where you're doing things that don't involve problem solving that involves variables as soon as you go try
and go from the concrete to the abstract and that my claim is it doesn't matter what kind of end-user scheme you're
trying whether it's data flow or any other kind of thing the biggest problem that you have is that is that the end
user doesn't have the schema for doing the abs drak problem-solving forget about how
are you going to realize it here's some
of the problems one of my favorite
psychologist is a guy by the name of Vygotsky who turned out a lot more than
Piaget did in just 10 years he died of pneumonia in the 30s and forgot ski one
of vygotsky's many things did was to study concept formation in children and
it goes through a number of stages first stage is there's a complete separation
between the thing and the symbol the
second stage is there is an ephemeral connection between the thing in the
symbol some some days there's a connection and some days there isn't a connection third thing is the phase that
most people get to and stay at which is there is an indelible Association of the
name with the thing kids think that the that is you know in the sky that there's
a mystical thing called do G that is this thing and in fact the real symbolic
act is not this one but starting to
admit other ways of thinking about dog and the one that we do and scientists do
is the one where we take the symbols away from the thing again and keep them
safely over here to use them just when we use them this is the does everybody
understand what I'm saying this is the hard this is the place that ordinary
experience doesn't get people to well
dogs yen and I think I just made up some
brats some arbitrary thing standing for
God's could mean X but what I'm saying
is is that the it's this sort of freezing on the ordinary language gets
you in pretty good shape by freezing on the association between the thing and
the symbol and in fact the deadly embrace is so tight that is how
for people to relax yes thank you no you
know why they don't give it up you got a theory exactly it's like Necker cube do
you speak more than one language yeah you I know whether you've had this
experience but most people who speak more than one language fluently have the sense of that they're actually thinking
in terms of it and it's one or the other it's like a Necker cube you're in one
order you're in the other and it's it's more than just the words it's actually patterns of thought my wife actually
speaks French very fluently and when she's been in France for a couple of weeks she has some difficulty in getting
the concepts back into English yes yeah
well see the the cop-out which I'm going
to be a cop out on the thing but I think that part of it is the 5% thing part of
it and I think the end part of us are in the 85% who for one reason or another
gradually loosened our hold on the way
our language uses symbols and got us into this this foggy your way
now when way of looking at problem-solving is a lot of it is not
committing to the first idea you have for the solution right and that means
that you see a separation between yourself and your ideas the piaget
problems of the kid with the tall glass of water are that the kid is frozen and
immobilized by the vividness of the visual scene and so where the Middle
Ages but it's it's it's the stepping
back the detachment from the vividness of the senses that starts giving you the
problem-solving stuff
language doesn't solve anything they want to solve yes for instance a lot
more people than 5% use spreadsheets and know how to at least do some simple
spreadsheet calculations and some at other things like that can solve things
that those people financial Iowa's yes problem so these kids they get all the
primitives and there's no problem that they really want to solve with it yeah
yeah well part of the part of the wait when you're doing stuff with children
you actually want to have the problems be something they do want to do and we actually put some effort into making
that the case and can even find out from them that whether they're bored or not
most interesting thing about the playground stop because it was much what
we're doing is more comprehensive than when we're doing small talk is that the
kids love of playground even though they're not learning much after about
the first week and a half they are totally enthusiastic about it
for the whole six weeks or even couple of months and they love it they go to it every day there's they don't complain
you know they only complain when it crashes and it doesn't crash that much this year so they're happy as clams they
love it it's it's satisfying their needs there's a lot of things that they can do
with it but they stay like I say in this level where there are certain things
that it can do and there are other things that are just out of the potential well entirely so the boredom
is not actually the problem well yeah
yeah IRA goldstein at as Mark Miller
here no IRA Goldstein did quite a bit of
work at MIT before he came to park on
schemas that people used for solving adventure games and this is part of the
same general kind of stuff that was been in the 70s that John Seely Brown and
other people have done where you take some area like subtraction and actually
spohrer and solloway did again where you take some problem that you can give to
new people over and over again and you try and extract the schemas from it and you try and build a help system
basically that understands that the
person is making this kind of an error and tries to give them a way of seeing what the what the schema they should
apply is practically though it hasn't worked out because the schema is their
short-term memory is already blown out of the water right so the schema stuff
adds an enormous overload and it's it's
rather it's usually rather abstract so
here's another here's another way of thinking about abstractions so one
abstraction is this notion of a group of things
the next thing is do not worry about what the things are so we have eight
things there and the next thing is we might be able to line them up and
analogize them to length the next thing is we might think of it even as a sort
of trip along a length and then finally
we might wig it all the way down to eight as a as a symbol idea that's
divorced from it doesn't have this this symbol doesn't have any iconic significance okay and when you think
about people learning what eight plus
three is everybody can readily believe why you can learn that 8 plus 3 is 11
but what is difficult is for anybody who learns 8 plus 3 equals 11 to understand
what the significance of plus is because
it's easy to learn number sentences down here but in fact the richness of it is
up here and some of the best thinking that you can do like thinking in science
is done before numbers get down here thinking of science is done in terms of
trips in various spaces ok and so when
you add each one of these things you have a different kind of combination and
a different kind of result even although all of the vertical abstractions always
obtain like I believe that this is one
of the major problems that has to be surmounted because the the power comes
from going lower and yet the the ability to use the concepts comes from staying
high right this is the essential
dichotomy I believe in Indians of programming
query you know they're they're kind of saying the language for kids to do they're you know yeah that was one of
the sirens songs in the 60s it was called problem oriented languages where
you picked a problem space and in fact one of the big urges 12 towards what
were called extensible languages in the 60s was that you should be able to sit down you know if you're a programmer an
Mis Department you should be able to sit down with one of these extensible languages and make up a language and
when people finally succeeded in doing extensible languages that you could do
that in they discovered that there's several things when it was very hard to
get the languages rich enough so that they weren't just kits like you know
reports program generator RPG is one of the famous old early fourth generation
languages not really a language and the other thing is that they could not
exchange code with anybody like Smalltalk 72 was an extensible language
in every way including syntactically because partly because we thought that I
thought that that was still important that was a big idea in the in the 60s
and it turned out to actually be more trouble than it was worth and there's some tactical extension the ability to
create wholly new languages and it was actually taken out when we went to small
talk 76 not to say that it shouldn't be tried again because obviously we don't
know what the answer is but in fact it didn't seem to work the well and in fact
languages that are a lot like English have a big problem is that in people's
expectations about English seriously interfere because English actually is
not a good carrier of meaning right English is not sending a message to
somebody directly it's sending a gesture to a thought cloud that you hope you
share with the other person and the computers don't have much in their thought cloud
so okay so let me let me wind this up by
talking about what's what I think is going to happen in the future and what
and some things that are starting to happen at Apple but I really think this
the whole purpose of this talk is to try and challenge some of the people in the
room to work on this area I personally
think that for apples differentiation in the next five years now that Windows is
encroaching on our turf and so forth
that our biggest differentiation is to be able to deal with the generative side
of direct manipulation to be able to
allow the users to aspire as I say to the kinds of things that they use on the
Mac now here's that here's a Gartner
group slide that seems almost
incomprehensible but let me we put on my
age 50 glasses here and see if I can decipher it basically this this line
here is the worldwide revenues of all multi-user systems that's mainframes and
mini it was about 80 billion in 89 and 89 was
the year that this little curve which is our curve the desktop personal computers
crossed the mainframe curve okay and
from then until now and into the future
the worldwide revenues for desktop computing completely dominate all of the
mainframe stuff in fact the mainframe is
this curve here so it's it's just
slightly better than linear going off into the future for apples planning this
is the area under the curve between 1990 and 1995 is estimated be 650 billion
dollars that is a lot of area
and we should get fact the company
reorganization and the strategies are that we should be able to harvest a lot
of this because we are one of the major creators of this as a this is an area
that's why we have to be worried about what we call paradigm to computing the
computing that we do in the next way of harvesting that area is allowing the end
users to do a lot more than they can now by direct manipulation then the other
thing is that there is this other curve that starting does essentially has no F
doesn't start showing itself really until around 1995 which are what I've
been calling intimate computers you can think of them as the notebook computers
and the Gartner group estimates that the
area under this curve between 1995 in the year 2000 is going to be 525 billion
why is it going to grow so much faster because the intimate computer can reach
everybody right it it is dynamic paper
it's going to be hooked into wireless networking of various kinds and it's
going to be selling for under $1,000 it's not an extension of the laptop into
this world anymore then the desktop is like the
mainframe this is a new whole new thing and so we have this interesting thing
here that Apple could be immensely rich by 1995 and broke by 1997 right this is
one of these important places in this area here is the one what we call p3 and
my belief is that it's going to be p3 and user programming is done by giving
advice to some intelligent agent that figures out how to do it that's what the
end users really want but there's such a gap between when that's going to happen
it might not even happen this decade that I believe that we have to close the
circle to drop the other shoe of the Macintosh and get the end-users
empowered the same way we've empowered them for using applications they have to
be able to build them and change them to me it's one of the most critical
critical problems and so we started on a
little paradigm 2 project called Mac pet
the three things I think need to be put together one of the things ways of
thinking about HyperCard is that it's like the mac paint of end-user programming right Mac paint was not a
great desktop publishing system but people did do page layout on it because
it was the first thing that you could do page layout on then that draw I had a
better metaphor then page maker had much more of the functions and then finally
we have the second generation page layout stuff like this like ready-set-go
that shows this as a sort of a four stage evolution and I think HyperCard
got so much above the threshold of the end users and then stopped short that at
Apple we should do the invention of the equivalent of mac draw for it the more
object-oriented thing that maybe even extends into a little bit of what page
maker is all about so that we can then get the third-party developers to go out
and do a seriously engineered version of these things but the third-party
developers do not do this kind of design we have to do it
nobody else is going to do it
and I think this is just how many people
here have seen pink recently okay
lots of people okay the one of the good
things about pink is the effort to be
much more tactile and kinesthetic of doing lots more user dragging and moving
things around bad thing about pink maybe I shouldn't say the bad thing
the unfortunate thing about pink is that
it isn't going enough beyond the Macintosh in the direct manipulation
area I believe for pink in order for pink to be a successful concept and to
pay its way for changing over it has to solve the end-user programming problem
just because pink is a paradigm too kind of system it's a direct manipulation
system and the only thing really left to be done in direct manipulation that is
qualitatively important is this end user idea how am i doing on time should I
wrap up okay
[Music] okay okay so let me try a scenario out
on you and try and get you to criticize it and because there's such an old fuddy
duddy i keep on going back to some of the friends of the past space war i had
a lot to do with designing small talk and it's a wonderful thing to think of
in terms this is now we're shifting into the kids world when we start first
started working with kids we didn't know that working with kids would help us out
with adults that much because it was before all these studies that showed that the same problems of the end users
were shared by children and high school students and adults and so forth so
space war is just this game first video game invented at MIT in 1961 and the
spaceships floating around and you can blow your friend out of the out of the
sky and what's interesting about it is that it is actually rather easy to
program if you have an object-oriented language easy to program if you can
think of the few conceptual things I'm going to show you they're just a couple
of things that you actually have to think of in order to do this now if you
start thinking about things in terms of s equals VT like they teach you in physics class you're dead right what
does that mean however in computer terms where you have
a dynamic thing going over and over this
translates into something that only has an addition in it take the current
position and add some hop to it so what the computer does by its dynamicism this
actually takes the equations of motion of physics and makes them into
differential equations right even better than differential equations because the
well it basically our differential equations you can think of the deep the
DT is in the clock that ticks you past each thing and that gets you sort of
wonder if ative to nirvana here this is really critical
because the thinking of things in terms of simple additions is infinitely easier
for the end user so let me let me run you through it
here's how you would here's one way to do it with the child you get the child
to draw the draw a car first and then
you start talking about motion and get
the kid to think about moving from one place to another in making hops so here
we're making four hops and we've moved eight away we take physical bins the
open school kids use physical plastic bins for holding things because they
don't have permanent desks and you can
put this is sort of like variables but you can put where you are in the current
position and what the hop is in it you can get kids to change these on each other and see how big a hop they can
make and so it's all a game and so we
have this one simple idea that we're taking the number in position and adding it to the number and hop and then
putting the result back in the position and you can do lots of things right
there now what we want to do is go to
the
[Applause] if I lost it oh well now what we want to
do is to go to the bins that are in the
language for this kid and we want to put a two in the hot bin the way we do it
now here's a question what kind of numbers should you be using I claim like
I like vectors you know the remember I showed you this
so one of the problems with getting down to here is that it's hard for people
they haven't really learned this this is one of the ways of thinking about
numbers so I think thinking about every number as a kind of a trip actually
gives you more of an extension of what the numbers are for so I'm claiming in
this scenario and anybody can argue with me at any point here that what I'm going
to do is pick out a horizontal displacement from my Mac draw like
toolbox I'm going to dump it into hop and when I dump it in there it shows up
as a an arrow sign a displacement number
and some little carrots that I can so I just flick it up to a two and so what
I've got in there is a horizontal
displacement of two and the car is
already at some position and I see that it actually has a horizontal position
displacement of 30 and a vertical displacement of 105 some point
somebody's going to ask me why don't I do this with turtle geometry but I'll
tell you later why so what we do is to
let these backwards maybe they didn't all print out maybe
that's my problem so what we do is Dave Smith style we start moving things
around we put the cursor in the position and it shows up in the code we open up
the position number to find out the
operators that it has it gives us a plus we go to the hop guy it puts this in
here and now it surrounds it with a sort
of a lozenge in gray to show that that's a permissible result that's what we keep
on going because we want to take that result and put it back into position so it generates this kind of an assignment
statement position plus hop goes into position and we can keep on going if we
want but that's where we decide to stop and by adding a clock into this we can
get it to go over and over again and run the and run the car so what we have to
do in all of these games is we have to
take a situation that the child can understand there are several ways we could have done this we could have used
turtle geometry turns out that using turtle geometry prevents the kids from
ever finding out how to do space war
right think about it because you have to
do a kind of addition that turtle geometry doesn't have but this one is
perfectly understandable of what happens you can watch the position changing the
car goes back and forth you can do multiple you do multiple games and and
so forth then you introduce the idea of
looking at various views of this trip object that trip objects can be looked
at in various ways and one way is to
look at them as a horizontal displacement and vertical displacement and this is a more of a an abbreviation
for that another way of looking at them is in polar coordinates but you don't
say polar coordinates two kids the worst thing you can ever do in mathematics with kids is tell them the official
names for things but you get them to act out on the floor
of seeing this is another way of finding this place on the floor it's all done
with their bodies and then there's a as
we all know there's a very sensible way of thinking about what addition means
which is when you add one trip to another one way of actually getting the
answer directly is to see that this this way the two things separately add when
you have the number in this other form it takes you to the right place but it
is not clear exactly what the how you actually do the operation and you can do
them in the other order and get the same answer and so that the idea here is that
what you're building up now is a
collection of ideas completely built around a single notion this is where
who's you you suggested you should have fewer concepts fewer bricks okay fewer
bricks my belief is the same thing is that you should take one like one brick
and find a thousand things to do with it
because that is the way you get from the idea of understanding single instances
of the thing to actually understanding the concept as it projects another way I
would say is the main problem the end users have is that they can understand
the bricks but they can't project them into new situations and it's just
getting so that they can project some brick into a new situation is the is the
biggest barrier does anybody yep some disagreement I hope
because there's about three different things I'm hearing enters one is we want
you end-user skyscraper design okay or
one you end-user dog house design we're going to have a new and improved manual
architecture needs to learn from confused which ones are you advocating
which ones I think that the user I think
it is a mistake to put give the user system that they can't aspire to the
skyscraper in right and the the thing
that I hate I mean just a personal prejudice is I hate giving people a
concept that is in too weak a form so
that doesn't include the larger I'd rather spend a longer amount of time on
the on the powerful idea take months if
necessary to let because to me it's not important whether you know how to add
three and five and get eight you know cuz that that doesn't project yeah well
the question I think I think the question is I mean the end user can design a skyscraper perfectly well on
paper and it's not going to fall down right because the there's nothing
dangerous about the lines on the paper that they've drawn so I think that you
can give I think it deep it if the user has to sit down and and take something
dangerous like see where you can screw
yourself a hundred different ways before you can even turn around and I think there's no I think it's out of the
question but I think that if you can confine the whole one of the things that
you can get out of object-oriented approaches to the things you can confine the errors to a very tiny place
it's what Butler Lampson used to call fail fast is what you don't want is for
an error to happen long after
wiping out your database yeah but I
think that I think that's similar to what you have to do when you start having semi intelligent agents which is
better undo it's like the the agent at
the UNIX agent at Berkeley that somebody said I just ran out of file space I need
some more and 20 seconds later it came back and said ok now you have plenty of
file space that actually happened but
because because if it if that had
happened on a Mac it would have been all over because it deleted about a third of
his files and it it actually got rather high marks for being an AI for doing
that you think of what it had to actually think about in order to figure that out
and but the in that particular case
because it was on a fairly robust time sharing system it had an undelete so
delete didn't mean to lead it just meant mark these files for special treatment doing archiving and I think for any kind
of thing where you extending the franchise of the end user into the whole
file level and stuff like that you have to have infinite undo and other kinds of
things but yeah the real question is and all of these things is whether the end
user can do something interesting before their constructions get too spidery and
one of the hopes for instance in internet was an inheritance was that in
it that inheritance could provide scaffolding done by master programmers
but in fact it's only worked in a limited way because it's been difficult
to understand even what the scaffolding is for the end-users another question
probably have feel free to leave by the way because I know we're running over
yeah oh there's Jim
were you here when I was taking your name in vain they're enjoying them
having fun well I mean our experience is
that's been one of the hardest things for one reason that the the kids this is
why I say I think that the Mac actually provides some interference what I
talking to the kids I found it extremely useful to put a newspaper over the
screen so they can't see it and get them to talk to me in English
about the thing and because we've noticed an enormous disparity between the kids being able to do problem
solving when they're off the machine versus the almost nil amount of problem
solving they can do when they're actually sitting there okay and part of
that is because you know I believe that that would be better if the everything
we were doing was completely iconic they
might be better off than they are now but right now they're they have a play
field that's completely iconic and they're thinking sort of in iconic terms
and they have a programming language that's more symbolic and yet the when
you try and think of iconic versions for all the things that are in the symbols
is very difficult because there are some abstractions involved we're not really
referring to these things we're not really referring to particularly lengths
were referring to general lengths and so forth and what
we'll make pal a lot of students designed for learners who using
well I don't know what if you tell me
what that means I would say yes well
logo does though and the experience with logo has not been encouraging to that
level because the thing that is most opaque to the kids in logo is the is the
abstraction of making a procedure out of something they have the hardest so that
right yeah so there's a question about
maybe there should be something like components you know it's one of the it's
one of the one of the alternatives to this way of doing things is to say well
instead of coming up with something that is like an expression like those of us
that took mathematics Esme maybe what we should have instead is an incrementer
tool you know it's basically a component so it it isn't just a plus it's a thing
whose job it is it remembers what it's trying to increment by and it's it's
actual deployment in the system is whenever you want to bump something up
periodically you get one of these guys and stick it in there so then what you'd have in the code
would be something like you'd have something more like a folder that had
just the the position guy in there and
an increment or guy and that would be the whole code there'd be no assignment statement or anything else because you'd
be doing that that's why I was hoping somebody challenged me on that because that's a
completely different way of looking at it it might be better maybe bring ideas
for problem solving and I'm wondering now
right in fact one of the things you could say is mmm computers are too hot
problem-solving is really cool because it has this there's this detachment
thanks and so question is how can you cool down the Mac when you want one of
the ways of doing it is to make the images not jump around like if you go to over 100 frames per second the images
will steady down like they are on paper if you go to anti raster anti-aliased
graphics on the thing you'll start getting something that is more sketchy
you know the kinds of things you'd normally go to a back of an envelope or
even do it in your head in fact here's an analogy for I think what the problem is the easiest thing to make shapes with
is a ball of clay how many people are tried sculpturing sculpting here with
clay how many people got what they wanted right
why that clay will go wherever you want
it to and you can see it every step of the way you know it's perfectly WYSIWYG
right Dave we'll just go wherever you want you can make it incrementally you
can always see that it's wrong right that's not what I want right it's always
wrong so what do they do in art school do they give the art students a ball of
clay no way they gave them a lump of soap do they give them oil paints no way
they give them watercolor in other words non-reversible media why do they do it
because you have to have an image of some kind in your head it's not it's not
exactly the same as a graphic image but you have to have a very strong image of
what you're going after in order to get something neat to happen no matter how
plastic the medium is see this is the bug I think of the Macintosh is the
Macintosh is a lump of clay you know it
will go where you push it but in fact it doesn't build a strong enough image in
people's head of what the possibilities are and I think the challenge of the use
physical place to quit actually the challenge of the user interface design
of the future is that that it should explicitly build
an image in people's head that is powerful enough to allow them to create as well as to access so thanks a lot
thank you I want one last thing is I
want to give this talk a year from now year from now and be able to actually
have some conclusions here you schedule
it for August [Laughter]