Difference between revisions of "Directions in Object-Oriented Programming From Actions to Agents"

From Viewpoints Intelligent Archive
Jump to: navigation, search
(Created page with "{{#evt: service=youtubeIA |id=vHyo-783bC4 |alignment=left |autoresize=false }}")
 
Line 3: Line 3:
 
|id=vHyo-783bC4
 
|id=vHyo-783bC4
 
|alignment=left
 
|alignment=left
|autoresize=false
+
|autoresize=true
 
}}
 
}}
 +
 +
1
 +
00:00:05,590 --> 00:00:12,969
 +
in the timeframe of 15 or 20 years ago
 +
 +
2
 +
00:00:08,340 --> 00:00:16,289
 +
Alan Kay conceived of the Dynabook which
 +
 +
3
 +
00:00:12,969 --> 00:00:19,510
 +
most of you probably know was a
 +
 +
4
 +
00:00:16,289 --> 00:00:24,130
 +
conceptual forerunner of the PCs and and
 +
 +
5
 +
00:00:19,510 --> 00:00:26,640
 +
and probably some future machines that
 +
 +
6
 +
00:00:24,130 --> 00:00:28,869
 +
we've not not even seen commercially yet
 +
 +
7
 +
00:00:26,640 --> 00:00:32,910
 +
Alan Kay obviously as the man who's
 +
 +
8
 +
00:00:28,869 --> 00:00:35,440
 +
always been ahead of his time he was the
 +
 +
9
 +
00:00:32,910 --> 00:00:36,489
 +
inventor of the first small talk some of
 +
 +
10
 +
00:00:35,440 --> 00:00:38,320
 +
you may know that there were actually
 +
 +
11
 +
00:00:36,489 --> 00:00:40,120
 +
several small talks the one that you now
 +
 +
12
 +
00:00:38,320 --> 00:00:41,890
 +
know a small talk ad was the fourth or
 +
 +
13
 +
00:00:40,120 --> 00:00:43,780
 +
fifth in a sequence of small talks Alan
 +
 +
14
 +
00:00:41,890 --> 00:00:49,720
 +
Kay did that first that very first small
 +
 +
15
 +
00:00:43,780 --> 00:00:52,060
 +
talk and currently he is a an Apple
 +
 +
16
 +
00:00:49,720 --> 00:00:55,150
 +
fellow and prior to that he was a chief
 +
 +
17
 +
00:00:52,060 --> 00:00:57,910
 +
scientist at Atari with credentials like
 +
 +
18
 +
00:00:55,150 --> 00:01:00,550
 +
that I found it interesting to note in
 +
 +
19
 +
00:00:57,910 --> 00:01:03,250
 +
his biography that the only professional
 +
 +
20
 +
00:01:00,550 --> 00:01:06,630
 +
Society of which he is a member is the
 +
 +
21
 +
00:01:03,250 --> 00:01:08,890
 +
International Society of organ builders
 +
 +
22
 +
00:01:06,630 --> 00:01:12,430
 +
without taking any more of Alan's time
 +
 +
23
 +
00:01:08,890 --> 00:01:19,419
 +
let me now bring up Alan Kay
 +
 +
24
 +
00:01:12,430 --> 00:01:19,419
 +
[Applause]
 +
 +
25
 +
00:01:20,290 --> 00:01:33,180
 +
I have a piece
 +
 +
26
 +
00:01:37,790 --> 00:01:40,450
 +
oops
 +
 +
27
 +
00:01:49,900 --> 00:01:55,760
 +
so I found it necessary when giving
 +
 +
28
 +
00:01:52,640 --> 00:01:57,350
 +
talks in the East Coast to put the slide
 +
 +
29
 +
00:01:55,760 --> 00:02:00,140
 +
up so that people who might be offended
 +
 +
30
 +
00:01:57,350 --> 00:02:04,430
 +
can leave early I thought this might be
 +
 +
31
 +
00:02:00,140 --> 00:02:08,119
 +
an especially appropriate place well I
 +
 +
32
 +
00:02:04,430 --> 00:02:13,430
 +
think a good way to start off is to
 +
 +
33
 +
00:02:08,119 --> 00:02:15,110
 +
recall a statement by William James made
 +
 +
34
 +
00:02:13,430 --> 00:02:19,220
 +
about a century ago about the three
 +
 +
35
 +
00:02:15,110 --> 00:02:21,860
 +
stages in the life cycle of any idea and
 +
 +
36
 +
00:02:19,220 --> 00:02:24,220
 +
the first stage is that the new idea is
 +
 +
37
 +
00:02:21,860 --> 00:02:27,050
 +
condemned as being the work of madmen
 +
 +
38
 +
00:02:24,220 --> 00:02:28,910
 +
then a few years later it's remarked on
 +
 +
39
 +
00:02:27,050 --> 00:02:29,450
 +
as being commonplace and obvious all the
 +
 +
40
 +
00:02:28,910 --> 00:02:31,640
 +
time
 +
 +
41
 +
00:02:29,450 --> 00:02:35,319
 +
and the final stage is when the original
 +
 +
42
 +
00:02:31,640 --> 00:02:39,790
 +
condemned errs claim to have invented it
 +
 +
43
 +
00:02:35,319 --> 00:02:41,980
 +
I think we're at that stage now with
 +
 +
44
 +
00:02:39,790 --> 00:02:44,200
 +
objects in window oriented and pointing
 +
 +
45
 +
00:02:41,980 --> 00:02:48,549
 +
user interfaces which to me means that
 +
 +
46
 +
00:02:44,200 --> 00:02:50,829
 +
they must be hopelessly obsolete so
 +
 +
47
 +
00:02:48,549 --> 00:02:52,569
 +
we're actually we're actually having a
 +
 +
48
 +
00:02:50,829 --> 00:02:56,590
 +
symposium here about a patient who's
 +
 +
49
 +
00:02:52,569 --> 00:02:58,540
 +
already dead but in the grand tradition
 +
 +
50
 +
00:02:56,590 --> 00:03:03,340
 +
of computer science will live on for at
 +
 +
51
 +
00:02:58,540 --> 00:03:06,389
 +
least a century this is gonna be a
 +
 +
52
 +
00:03:03,340 --> 00:03:08,919
 +
different talk than norms talk norm is a
 +
 +
53
 +
00:03:06,389 --> 00:03:12,000
 +
norms talk as a practical talk by a
 +
 +
54
 +
00:03:08,919 --> 00:03:15,150
 +
person who got interested in
 +
 +
55
 +
00:03:12,000 --> 00:03:19,030
 +
object-oriented programming as a way of
 +
 +
56
 +
00:03:15,150 --> 00:03:23,829
 +
implementing large-scale complex systems
 +
 +
57
 +
00:03:19,030 --> 00:03:27,819
 +
in the context of a university where you
 +
 +
58
 +
00:03:23,829 --> 00:03:29,709
 +
don't have a lot of people to do the
 +
 +
59
 +
00:03:27,819 --> 00:03:33,549
 +
work and a lot of the work is transient
 +
 +
60
 +
00:03:29,709 --> 00:03:36,069
 +
and this this need to deal with
 +
 +
61
 +
00:03:33,549 --> 00:03:37,900
 +
complexity in a way is one of the main
 +
 +
62
 +
00:03:36,069 --> 00:03:41,470
 +
selling points in object-oriented
 +
 +
63
 +
00:03:37,900 --> 00:03:42,790
 +
systems and people have this notion that
 +
 +
64
 +
00:03:41,470 --> 00:03:45,459
 +
because object-oriented systems are
 +
 +
65
 +
00:03:42,790 --> 00:03:48,159
 +
usually worked on by small groups that
 +
 +
66
 +
00:03:45,459 --> 00:03:50,470
 +
it's something mainly for small groups
 +
 +
67
 +
00:03:48,159 --> 00:03:52,689
 +
the main reason small groups use it I
 +
 +
68
 +
00:03:50,470 --> 00:03:54,759
 +
think is because it's one of the few
 +
 +
69
 +
00:03:52,689 --> 00:03:57,400
 +
vehicles that a small group can do truly
 +
 +
70
 +
00:03:54,759 --> 00:03:59,409
 +
interesting things in a short time but
 +
 +
71
 +
00:03:57,400 --> 00:04:02,489
 +
if object-oriented systems are
 +
 +
72
 +
00:03:59,409 --> 00:04:06,970
 +
implemented in a in a thoughtful way
 +
 +
73
 +
00:04:02,489 --> 00:04:09,669
 +
than by their very nature and we'll talk
 +
 +
74
 +
00:04:06,970 --> 00:04:11,560
 +
about this in a bit if the protection
 +
 +
75
 +
00:04:09,669 --> 00:04:13,000
 +
mechanisms that are inherent in the
 +
 +
76
 +
00:04:11,560 --> 00:04:14,829
 +
notion of object-oriented programming
 +
 +
77
 +
00:04:13,000 --> 00:04:17,829
 +
are also implemented which they often
 +
 +
78
 +
00:04:14,829 --> 00:04:20,739
 +
aren't then one should be able to
 +
 +
79
 +
00:04:17,829 --> 00:04:24,310
 +
organize very large-scale projects as
 +
 +
80
 +
00:04:20,739 --> 00:04:26,229
 +
well because the whole joy in the
 +
 +
81
 +
00:04:24,310 --> 00:04:28,210
 +
object-oriented design is the notion
 +
 +
82
 +
00:04:26,229 --> 00:04:30,639
 +
that when you put an object in the
 +
 +
83
 +
00:04:28,210 --> 00:04:33,699
 +
system it should be able to make use of
 +
 +
84
 +
00:04:30,639 --> 00:04:35,919
 +
what's there but its presence in the
 +
 +
85
 +
00:04:33,699 --> 00:04:38,349
 +
system shouldn't disturb any other
 +
 +
86
 +
00:04:35,919 --> 00:04:41,289
 +
objects that's in the system it should
 +
 +
87
 +
00:04:38,349 --> 00:04:42,940
 +
be something that is self-contained it
 +
 +
88
 +
00:04:41,289 --> 00:04:46,910
 +
should not be able to be destroyed by
 +
 +
89
 +
00:04:42,940 --> 00:04:48,920
 +
the system and so forth and so the
 +
 +
90
 +
00:04:46,910 --> 00:04:50,750
 +
in an object-oriented system that's well
 +
 +
91
 +
00:04:48,920 --> 00:04:52,220
 +
designed you should be able to add new
 +
 +
92
 +
00:04:50,750 --> 00:04:55,130
 +
knowledge in an incremental fashion
 +
 +
93
 +
00:04:52,220 --> 00:04:56,630
 +
almost linear fashion how we can a
 +
 +
94
 +
00:04:55,130 --> 00:04:58,370
 +
little bit later we'll talk about a
 +
 +
95
 +
00:04:56,630 --> 00:05:00,230
 +
couple of the places where that isn't
 +
 +
96
 +
00:04:58,370 --> 00:05:01,940
 +
really true and maybe some of the
 +
 +
97
 +
00:05:00,230 --> 00:05:04,880
 +
solutions for it but I thought a good
 +
 +
98
 +
00:05:01,940 --> 00:05:07,570
 +
way of starting off would be to just
 +
 +
99
 +
00:05:04,880 --> 00:05:09,650
 +
take a look at a couple of
 +
 +
100
 +
00:05:07,570 --> 00:05:11,990
 +
object-oriented systems of the past or
 +
 +
101
 +
00:05:09,650 --> 00:05:13,850
 +
almost object-oriented systems the first
 +
 +
102
 +
00:05:11,990 --> 00:05:16,640
 +
one and I understand they're only a few
 +
 +
103
 +
00:05:13,850 --> 00:05:19,790
 +
people here last night to look at it I
 +
 +
104
 +
00:05:16,640 --> 00:05:21,800
 +
have an excerpt maybe this is even a
 +
 +
105
 +
00:05:19,790 --> 00:05:26,110
 +
different film of Ivan Sutherlands
 +
 +
106
 +
00:05:21,800 --> 00:05:28,820
 +
sketchpad which was one of the earliest
 +
 +
107
 +
00:05:26,110 --> 00:05:30,620
 +
object-oriented systems although Ivan
 +
 +
108
 +
00:05:28,820 --> 00:05:32,090
 +
didn't really quite think of it that way
 +
 +
109
 +
00:05:30,620 --> 00:05:42,740
 +
there's an interesting history behind it
 +
 +
110
 +
00:05:32,090 --> 00:05:48,130
 +
so let's show that first tape this is
 +
 +
111
 +
00:05:42,740 --> 00:05:50,660
 +
implemented by making this room that's -
 +
 +
112
 +
00:05:48,130 --> 00:05:58,010
 +
the last computer in the u.s. to have
 +
 +
113
 +
00:05:50,660 --> 00:05:59,960
 +
its own roof this is what you saw there
 +
 +
114
 +
00:05:58,010 --> 00:06:01,340
 +
was the very first implementation of the
 +
 +
115
 +
00:05:59,960 --> 00:06:02,810
 +
rubberband technique and here's
 +
 +
116
 +
00:06:01,340 --> 00:06:05,810
 +
something you don't often see even in
 +
 +
117
 +
00:06:02,810 --> 00:06:08,000
 +
graphic systems today he pointed he did
 +
 +
118
 +
00:06:05,810 --> 00:06:10,820
 +
a rough sketch he pointed to those edges
 +
 +
119
 +
00:06:08,000 --> 00:06:12,350
 +
and told him he wanted them all mutually
 +
 +
120
 +
00:06:10,820 --> 00:06:14,720
 +
perpendicular and sketchpad figured out
 +
 +
121
 +
00:06:12,350 --> 00:06:16,130
 +
how to do it we just saw that sketchpad
 +
 +
122
 +
00:06:14,720 --> 00:06:21,830
 +
was also the first system to have a
 +
 +
123
 +
00:06:16,130 --> 00:06:23,720
 +
window this is all done in 1962 there he
 +
 +
124
 +
00:06:21,830 --> 00:06:27,290
 +
pointed to those two lines and told them
 +
 +
125
 +
00:06:23,720 --> 00:06:32,150
 +
that he wanted them to be parallel and
 +
 +
126
 +
00:06:27,290 --> 00:06:34,970
 +
now the constraint is to be collinear so
 +
 +
127
 +
00:06:32,150 --> 00:06:41,480
 +
these little dashes will be precisely
 +
 +
128
 +
00:06:34,970 --> 00:06:43,370
 +
lined up over the lines underneath this
 +
 +
129
 +
00:06:41,480 --> 00:06:44,840
 +
is the first time when people discovered
 +
 +
130
 +
00:06:43,370 --> 00:06:47,039
 +
that the light pin was not a good input
 +
 +
131
 +
00:06:44,840 --> 00:06:49,350
 +
device
 +
 +
132
 +
00:06:47,039 --> 00:06:51,789
 +
and in spite of that it's been
 +
 +
133
 +
00:06:49,350 --> 00:06:55,930
 +
reinvented at least 90 times in the last
 +
 +
134
 +
00:06:51,789 --> 00:07:03,580
 +
25 years so he's made a hole in the
 +
 +
135
 +
00:06:55,930 --> 00:07:06,039
 +
flange and now he wants a rivet and
 +
 +
136
 +
00:07:03,580 --> 00:07:09,759
 +
again the whole idea behind sketchpad is
 +
 +
137
 +
00:07:06,039 --> 00:07:11,889
 +
you should be able to quickly sketch in
 +
 +
138
 +
00:07:09,759 --> 00:07:13,360
 +
an approximation of what you wanted
 +
 +
139
 +
00:07:11,889 --> 00:07:16,300
 +
who's going to use that as the center
 +
 +
140
 +
00:07:13,360 --> 00:07:19,030
 +
for the arc and then get the system to
 +
 +
141
 +
00:07:16,300 --> 00:07:21,759
 +
complete the drawing by implementing
 +
 +
142
 +
00:07:19,030 --> 00:07:23,949
 +
various constraints or rules and here
 +
 +
143
 +
00:07:21,759 --> 00:07:27,610
 +
he's saying make those four lines
 +
 +
144
 +
00:07:23,949 --> 00:07:30,370
 +
mutually perpendicular the doing of that
 +
 +
145
 +
00:07:27,610 --> 00:07:32,530
 +
pulls the diagonal line which pulls the
 +
 +
146
 +
00:07:30,370 --> 00:07:36,789
 +
center which pulls the arc which makes a
 +
 +
147
 +
00:07:32,530 --> 00:07:40,800
 +
perfect rivet so this is also the first
 +
 +
148
 +
00:07:36,789 --> 00:07:40,800
 +
non procedural programming system
 +
 +
149
 +
00:07:43,740 --> 00:07:47,050
 +
showing that no matter what you do and
 +
 +
150
 +
00:07:45,699 --> 00:07:49,210
 +
of course he could have added further
 +
 +
151
 +
00:07:47,050 --> 00:07:52,000
 +
constraints that would constrain the
 +
 +
152
 +
00:07:49,210 --> 00:07:53,710
 +
ratios of those sides so that no matter
 +
 +
153
 +
00:07:52,000 --> 00:07:56,460
 +
how you distorted it always would come
 +
 +
154
 +
00:07:53,710 --> 00:08:02,380
 +
back to something that was the same
 +
 +
155
 +
00:07:56,460 --> 00:08:04,360
 +
relative size so that was a master what
 +
 +
156
 +
00:08:02,380 --> 00:08:12,010
 +
we call a class today and here's an
 +
 +
157
 +
00:08:04,360 --> 00:08:15,010
 +
instance of that rivet the instances can
 +
 +
158
 +
00:08:12,010 --> 00:08:16,570
 +
be scaled and rotated in real time you
 +
 +
159
 +
00:08:15,010 --> 00:08:21,190
 +
might wonder why is a display jumping
 +
 +
160
 +
00:08:16,570 --> 00:08:23,320
 +
around like that well I didn't display
 +
 +
161
 +
00:08:21,190 --> 00:08:27,159
 +
is back then the tx2 here is putting up
 +
 +
162
 +
00:08:23,320 --> 00:08:29,410
 +
every screen individually in fact memory
 +
 +
163
 +
00:08:27,159 --> 00:08:32,900
 +
for each separate dot
 +
 +
164
 +
00:08:29,410 --> 00:08:34,550
 +
so this is a software oriented display
 +
 +
165
 +
00:08:32,900 --> 00:08:37,370
 +
and when you put up a lot of dots that
 +
 +
166
 +
00:08:34,550 --> 00:08:41,980
 +
starts flashing because it's tracking
 +
 +
167
 +
00:08:37,370 --> 00:08:41,980
 +
the pen here are a couple more instances
 +
 +
168
 +
00:08:42,880 --> 00:08:49,100
 +
listen you might imagine led to the
 +
 +
169
 +
00:08:44,960 --> 00:08:51,680
 +
development of better displays now he
 +
 +
170
 +
00:08:49,100 --> 00:08:53,300
 +
doesn't like the cross piece on the
 +
 +
171
 +
00:08:51,680 --> 00:08:55,130
 +
rivet so he goes back to the master and
 +
 +
172
 +
00:08:53,300 --> 00:08:57,560
 +
says make those invisible they're still
 +
 +
173
 +
00:08:55,130 --> 00:08:59,150
 +
there but they're invisible now and lo
 +
 +
174
 +
00:08:57,560 --> 00:09:05,930
 +
and behold we see that the instances
 +
 +
175
 +
00:08:59,150 --> 00:09:08,270
 +
feel that change dynamically and
 +
 +
176
 +
00:09:05,930 --> 00:09:12,110
 +
remarkably sketchpad even had a form of
 +
 +
177
 +
00:09:08,270 --> 00:09:15,310
 +
inheritance who's actually one of the
 +
 +
178
 +
00:09:12,110 --> 00:09:18,590
 +
first object-oriented software systems
 +
 +
179
 +
00:09:15,310 --> 00:09:20,120
 +
so now he's made this constructed thing
 +
 +
180
 +
00:09:18,590 --> 00:09:24,590
 +
into a master and now he can get
 +
 +
181
 +
00:09:20,120 --> 00:09:27,170
 +
instances of it I once asked Ivan
 +
 +
182
 +
00:09:24,590 --> 00:09:29,060
 +
Sutherland many years ago how is it
 +
 +
183
 +
00:09:27,170 --> 00:09:31,700
 +
possible for you to in a single year of
 +
 +
184
 +
00:09:29,060 --> 00:09:33,230
 +
1962 to do the first computer graphics
 +
 +
185
 +
00:09:31,700 --> 00:09:34,820
 +
system the first non procedural
 +
 +
186
 +
00:09:33,230 --> 00:09:36,500
 +
programming system and the first
 +
 +
187
 +
00:09:34,820 --> 00:09:43,730
 +
object-oriented software system and he
 +
 +
188
 +
00:09:36,500 --> 00:09:49,300
 +
said well I didn't know it was hard ok
 +
 +
189
 +
00:09:43,730 --> 00:09:49,300
 +
stopped them made a tremendous
 +
 +
190
 +
00:09:49,360 --> 00:09:58,630
 +
impression I had to learn it that's 22
 +
 +
191
 +
00:09:54,860 --> 00:10:01,280
 +
now when I first went to graduate school
 +
 +
192
 +
00:09:58,630 --> 00:10:02,870
 +
the desk at the University of Utah Dave
 +
 +
193
 +
00:10:01,280 --> 00:10:04,190
 +
Evans had one of these theses in and
 +
 +
194
 +
00:10:02,870 --> 00:10:05,990
 +
hand out and you had to prove that you
 +
 +
195
 +
00:10:04,190 --> 00:10:13,120
 +
understood it before you're allowed to
 +
 +
196
 +
00:10:05,990 --> 00:10:13,120
 +
sit down and think I might
 +
 +
197
 +
00:10:23,180 --> 00:10:32,850
 +
this isn't worthwhile looking at in any
 +
 +
198
 +
00:10:26,070 --> 00:10:40,320
 +
detail maybe I'll just use this from the
 +
 +
199
 +
00:10:32,850 --> 00:10:42,210
 +
main line here this this is essentially
 +
 +
200
 +
00:10:40,320 --> 00:10:44,610
 +
the pathway that I took getting
 +
 +
201
 +
00:10:42,210 --> 00:10:46,680
 +
interested in this stuff I was in the
 +
 +
202
 +
00:10:44,610 --> 00:10:50,279
 +
Air Force and there was a file system on
 +
 +
203
 +
00:10:46,680 --> 00:10:51,930
 +
the Burroughs 220 that was what we would
 +
 +
204
 +
00:10:50,279 --> 00:10:54,300
 +
call today object oriented back in those
 +
 +
205
 +
00:10:51,930 --> 00:10:55,680
 +
days I didn't have operating systems of
 +
 +
206
 +
00:10:54,300 --> 00:10:58,830
 +
course and these days did not have
 +
 +
207
 +
00:10:55,680 --> 00:11:01,970
 +
operating systems either back then there
 +
 +
208
 +
00:10:58,830 --> 00:11:01,970
 +
was more excuse for it
 +
 +
209
 +
00:11:02,540 --> 00:11:11,490
 +
and the Meniere's had the problem of how
 +
 +
210
 +
00:11:08,130 --> 00:11:12,420
 +
can I hand data tapes around Air
 +
 +
211
 +
00:11:11,490 --> 00:11:14,700
 +
Training Command
 +
 +
212
 +
00:11:12,420 --> 00:11:17,430
 +
they all have Burroughs 220s but there
 +
 +
213
 +
00:11:14,700 --> 00:11:20,850
 +
is no standard operating system and so
 +
 +
214
 +
00:11:17,430 --> 00:11:22,680
 +
somebody some genius in the late 50s
 +
 +
215
 +
00:11:20,850 --> 00:11:25,620
 +
came up with the following idea he said
 +
 +
216
 +
00:11:22,680 --> 00:11:29,520
 +
well what if we had to take format like
 +
 +
217
 +
00:11:25,620 --> 00:11:31,320
 +
this with each long tape record is going
 +
 +
218
 +
00:11:29,520 --> 00:11:33,480
 +
to be made up of three parts the first
 +
 +
219
 +
00:11:31,320 --> 00:11:35,610
 +
part is going to be a relative transfer
 +
 +
220
 +
00:11:33,480 --> 00:11:37,710
 +
vector into the second part which is
 +
 +
221
 +
00:11:35,610 --> 00:11:41,400
 +
going to be a bunch of Burroughs 220
 +
 +
222
 +
00:11:37,710 --> 00:11:43,050
 +
code that 220 code will know how to
 +
 +
223
 +
00:11:41,400 --> 00:11:45,450
 +
interpret the third part which are going
 +
 +
224
 +
00:11:43,050 --> 00:11:47,580
 +
to be our unit records so all you have
 +
 +
225
 +
00:11:45,450 --> 00:11:49,350
 +
to do when you get one of these tapes is
 +
 +
226
 +
00:11:47,580 --> 00:11:51,060
 +
you simply read the transfer back to the
 +
 +
227
 +
00:11:49,350 --> 00:11:53,160
 +
front part of it into a special place in
 +
 +
228
 +
00:11:51,060 --> 00:11:54,780
 +
core and then you can do anything you
 +
 +
229
 +
00:11:53,160 --> 00:11:57,000
 +
want with these tapes because we'll have
 +
 +
230
 +
00:11:54,780 --> 00:11:59,130
 +
a standard protocol in this transfer
 +
 +
231
 +
00:11:57,000 --> 00:12:01,860
 +
vector that's the way that file system
 +
 +
232
 +
00:11:59,130 --> 00:12:03,780
 +
worked back then heck of a good idea I
 +
 +
233
 +
00:12:01,860 --> 00:12:05,850
 +
was just mentioning to somebody this
 +
 +
234
 +
00:12:03,780 --> 00:12:07,380
 +
morning that the first time I ever did
 +
 +
235
 +
00:12:05,850 --> 00:12:10,260
 +
what we would call object-oriented
 +
 +
236
 +
00:12:07,380 --> 00:12:13,350
 +
programming today was done on the 1401
 +
 +
237
 +
00:12:10,260 --> 00:12:16,320
 +
in Auto coder because we used this
 +
 +
238
 +
00:12:13,350 --> 00:12:18,870
 +
technique on the 1401 s there as well
 +
 +
239
 +
00:12:16,320 --> 00:12:21,029
 +
and made up macros to allow us this
 +
 +
240
 +
00:12:18,870 --> 00:12:23,580
 +
generic access to things
 +
 +
241
 +
00:12:21,029 --> 00:12:26,700
 +
terrific idea why didn't it last well
 +
 +
242
 +
00:12:23,580 --> 00:12:30,360
 +
COBOL actually drove it out the adoption
 +
 +
243
 +
00:12:26,700 --> 00:12:33,930
 +
of COBOL as a as a way of getting ahead
 +
 +
244
 +
00:12:30,360 --> 00:12:35,860
 +
actually gave us a weaker metaphor that
 +
 +
245
 +
00:12:33,930 --> 00:12:38,529
 +
we're still saddled with today
 +
 +
246
 +
00:12:35,860 --> 00:12:40,240
 +
the borough's be 5,000 actually
 +
 +
247
 +
00:12:38,529 --> 00:12:43,029
 +
implemented these ideas and hardware it
 +
 +
248
 +
00:12:40,240 --> 00:12:45,130
 +
it antedate sketchpad and probably sent
 +
 +
249
 +
00:12:43,029 --> 00:12:47,019
 +
seven out of the top ten ideas ever
 +
 +
250
 +
00:12:45,130 --> 00:12:48,339
 +
thought up in software are actually
 +
 +
251
 +
00:12:47,019 --> 00:12:51,100
 +
implementing the hardware of this
 +
 +
252
 +
00:12:48,339 --> 00:12:52,690
 +
machine Burroughs made the enormous
 +
 +
253
 +
00:12:51,100 --> 00:12:56,290
 +
mistake of trying to explain this
 +
 +
254
 +
00:12:52,690 --> 00:12:58,120
 +
machine to their customers back then
 +
 +
255
 +
00:12:56,290 --> 00:12:59,680
 +
they actually hired college graduates
 +
 +
256
 +
00:12:58,120 --> 00:13:01,390
 +
and taught them how the machine works so
 +
 +
257
 +
00:12:59,680 --> 00:13:03,910
 +
they could go out and tell the customers
 +
 +
258
 +
00:13:01,390 --> 00:13:05,380
 +
how good it really was and I was I think
 +
 +
259
 +
00:13:03,910 --> 00:13:07,990
 +
it was the third machine that I learned
 +
 +
260
 +
00:13:05,380 --> 00:13:09,640
 +
back then and the these college
 +
 +
261
 +
00:13:07,990 --> 00:13:11,290
 +
graduates scared the heck out of all of
 +
 +
262
 +
00:13:09,640 --> 00:13:13,120
 +
these old data processing managers who
 +
 +
263
 +
00:13:11,290 --> 00:13:16,750
 +
are just struggling out of punch cards
 +
 +
264
 +
00:13:13,120 --> 00:13:19,620
 +
and the machine was late as well so it
 +
 +
265
 +
00:13:16,750 --> 00:13:23,649
 +
just never caught on sketchpad and then
 +
 +
266
 +
00:13:19,620 --> 00:13:27,160
 +
Simula was the first programming
 +
 +
267
 +
00:13:23,649 --> 00:13:30,550
 +
language that I would call trying to be
 +
 +
268
 +
00:13:27,160 --> 00:13:32,230
 +
an object-oriented language and there
 +
 +
269
 +
00:13:30,550 --> 00:13:36,459
 +
are two versions of it in between I
 +
 +
270
 +
00:13:32,230 --> 00:13:39,010
 +
designed a language called flex which is
 +
 +
271
 +
00:13:36,459 --> 00:13:41,860
 +
an attempt to simplify Simula and in
 +
 +
272
 +
00:13:39,010 --> 00:13:43,839
 +
some sense some real sense the small
 +
 +
273
 +
00:13:41,860 --> 00:13:47,290
 +
talks were an attempt to send to
 +
 +
274
 +
00:13:43,839 --> 00:13:50,500
 +
simplify Simula as well but there are
 +
 +
275
 +
00:13:47,290 --> 00:13:53,980
 +
all these other things that fed into it
 +
 +
276
 +
00:13:50,500 --> 00:13:55,930
 +
over here which the most important ones
 +
 +
277
 +
00:13:53,980 --> 00:13:59,020
 +
for I think object-oriented programming
 +
 +
278
 +
00:13:55,930 --> 00:14:02,050
 +
are the Lisp influences and over on this
 +
 +
279
 +
00:13:59,020 --> 00:14:04,570
 +
side influences that are basically
 +
 +
280
 +
00:14:02,050 --> 00:14:12,579
 +
either philosophical or coming out of
 +
 +
281
 +
00:14:04,570 --> 00:14:16,060
 +
cell biology now reason I bring these
 +
 +
282
 +
00:14:12,579 --> 00:14:17,950
 +
these up is because I think it's it's
 +
 +
283
 +
00:14:16,060 --> 00:14:19,660
 +
critical when thinking about
 +
 +
284
 +
00:14:17,950 --> 00:14:22,720
 +
object-oriented programming not to look
 +
 +
285
 +
00:14:19,660 --> 00:14:24,790
 +
at the the systems that are out there
 +
 +
286
 +
00:14:22,720 --> 00:14:26,140
 +
today and think this is object-oriented
 +
 +
287
 +
00:14:24,790 --> 00:14:28,750
 +
programming because in my opinion it
 +
 +
288
 +
00:14:26,140 --> 00:14:31,390
 +
isn't to me small talk eighty is not an
 +
 +
289
 +
00:14:28,750 --> 00:14:33,579
 +
object-oriented language because it
 +
 +
290
 +
00:14:31,390 --> 00:14:35,410
 +
lacks one of the things that I thought
 +
 +
291
 +
00:14:33,579 --> 00:14:38,290
 +
was most important in object-oriented
 +
 +
292
 +
00:14:35,410 --> 00:14:42,850
 +
design and that is differential
 +
 +
293
 +
00:14:38,290 --> 00:14:44,500
 +
protection which means that you should
 +
 +
294
 +
00:14:42,850 --> 00:14:46,000
 +
be it when an object is put out into the
 +
 +
295
 +
00:14:44,500 --> 00:14:49,360
 +
world that should be able to protect
 +
 +
296
 +
00:14:46,000 --> 00:14:51,910
 +
itself against various
 +
 +
297
 +
00:14:49,360 --> 00:14:54,519
 +
cendars so for instance if you have a
 +
 +
298
 +
00:14:51,910 --> 00:14:55,959
 +
file object but you would like the file
 +
 +
299
 +
00:14:54,519 --> 00:14:57,970
 +
object to be able to do is to
 +
 +
300
 +
00:14:55,959 --> 00:14:59,860
 +
discriminate about who's sending it the
 +
 +
301
 +
00:14:57,970 --> 00:15:03,160
 +
message to change bite number eight in
 +
 +
302
 +
00:14:59,860 --> 00:15:06,940
 +
the file and it's possible to do that in
 +
 +
303
 +
00:15:03,160 --> 00:15:11,260
 +
small talk but it's not set up to
 +
 +
304
 +
00:15:06,940 --> 00:15:13,380
 +
actually do that you can act in small
 +
 +
305
 +
00:15:11,260 --> 00:15:16,000
 +
talk you have to instrument every method
 +
 +
306
 +
00:15:13,380 --> 00:15:17,380
 +
that you want to protect in order to in
 +
 +
307
 +
00:15:16,000 --> 00:15:20,140
 +
order for it to do something
 +
 +
308
 +
00:15:17,380 --> 00:15:21,839
 +
the earliest small talk it was combined
 +
 +
309
 +
00:15:20,140 --> 00:15:24,310
 +
with what's known as capability
 +
 +
310
 +
00:15:21,839 --> 00:15:25,990
 +
protection there was objects were seen
 +
 +
311
 +
00:15:24,310 --> 00:15:28,480
 +
as a generalization of capability
 +
 +
312
 +
00:15:25,990 --> 00:15:31,839
 +
protection and that protection was built
 +
 +
313
 +
00:15:28,480 --> 00:15:34,360
 +
in so that no object could command
 +
 +
314
 +
00:15:31,839 --> 00:15:35,680
 +
another one to me the biggest difference
 +
 +
315
 +
00:15:34,360 --> 00:15:37,120
 +
between whether you really have an
 +
 +
316
 +
00:15:35,680 --> 00:15:39,149
 +
object-oriented system or not is whether
 +
 +
317
 +
00:15:37,120 --> 00:15:43,839
 +
you are really sending messages or not
 +
 +
318
 +
00:15:39,149 --> 00:15:45,670
 +
and small talk and Objective C and C++
 +
 +
319
 +
00:15:43,839 --> 00:15:46,990
 +
and all this you aren't really sending
 +
 +
320
 +
00:15:45,670 --> 00:15:49,360
 +
messages you're actually just doing
 +
 +
321
 +
00:15:46,990 --> 00:15:52,029
 +
subroutine calls which means that in
 +
 +
322
 +
00:15:49,360 --> 00:15:55,410
 +
some sense the sender guy on the outside
 +
 +
323
 +
00:15:52,029 --> 00:15:59,560
 +
is commanding the object to do things
 +
 +
324
 +
00:15:55,410 --> 00:16:01,000
 +
and the whole notion is not for doing
 +
 +
325
 +
00:15:59,560 --> 00:16:03,790
 +
commands but for doing something else
 +
 +
326
 +
00:16:01,000 --> 00:16:05,970
 +
let me give you a sort of a feeling for
 +
 +
327
 +
00:16:03,790 --> 00:16:05,970
 +
that
 +
 +
328
 +
00:16:17,560 --> 00:16:25,279
 +
when I started thinking about this stuff
 +
 +
329
 +
00:16:21,070 --> 00:16:30,050
 +
for real after I done a done a few
 +
 +
330
 +
00:16:25,279 --> 00:16:33,320
 +
failures I came to realize that the only
 +
 +
331
 +
00:16:30,050 --> 00:16:35,839
 +
model that I knew of either done by man
 +
 +
332
 +
00:16:33,320 --> 00:16:38,330
 +
or in nature that really could handle
 +
 +
333
 +
00:16:35,839 --> 00:16:41,600
 +
complexity in any appreciable fashion
 +
 +
334
 +
00:16:38,330 --> 00:16:44,089
 +
was a biological one the biological one
 +
 +
335
 +
00:16:41,600 --> 00:16:47,540
 +
ninety percent of a cell's effort is
 +
 +
336
 +
00:16:44,089 --> 00:16:49,040
 +
going into its own protection only ten
 +
 +
337
 +
00:16:47,540 --> 00:16:50,690
 +
percent of the cells effort is going
 +
 +
338
 +
00:16:49,040 --> 00:16:52,220
 +
into contribute or less as going into
 +
 +
339
 +
00:16:50,690 --> 00:16:55,970
 +
contributing to what the organism is
 +
 +
340
 +
00:16:52,220 --> 00:17:00,260
 +
about and the cells communicate both in
 +
 +
341
 +
00:16:55,970 --> 00:17:03,470
 +
the embryo and in the adult organism by
 +
 +
342
 +
00:17:00,260 --> 00:17:06,020
 +
sending messages around that they have
 +
 +
343
 +
00:17:03,470 --> 00:17:08,750
 +
very elaborate mechanisms to keep most
 +
 +
344
 +
00:17:06,020 --> 00:17:12,050
 +
messages out but many of the diseases
 +
 +
345
 +
00:17:08,750 --> 00:17:14,390
 +
that we fall prey to including AIDS have
 +
 +
346
 +
00:17:12,050 --> 00:17:20,390
 +
to do with cells not being able to keep
 +
 +
347
 +
00:17:14,390 --> 00:17:24,920
 +
certain messages out so that translated
 +
 +
348
 +
00:17:20,390 --> 00:17:27,290
 +
to me into take the biological cell
 +
 +
349
 +
00:17:24,920 --> 00:17:29,120
 +
metaphor and try and translate it into
 +
 +
350
 +
00:17:27,290 --> 00:17:31,250
 +
machine terms it's like you have lots of
 +
 +
351
 +
00:17:29,120 --> 00:17:33,710
 +
separate little computers running on a
 +
 +
352
 +
00:17:31,250 --> 00:17:35,990
 +
network able to send messages back and
 +
 +
353
 +
00:17:33,710 --> 00:17:37,790
 +
forth to each other when you think of
 +
 +
354
 +
00:17:35,990 --> 00:17:40,340
 +
this as the ground base of
 +
 +
355
 +
00:17:37,790 --> 00:17:41,750
 +
object-oriented systems then it's very
 +
 +
356
 +
00:17:40,340 --> 00:17:44,120
 +
difficult to think of this machine
 +
 +
357
 +
00:17:41,750 --> 00:17:46,460
 +
commanding this other machine because
 +
 +
358
 +
00:17:44,120 --> 00:17:48,170
 +
real computers have mechanisms for
 +
 +
359
 +
00:17:46,460 --> 00:17:51,410
 +
holding off commands they don't have to
 +
 +
360
 +
00:17:48,170 --> 00:17:54,320
 +
listen to you if they don't want and so
 +
 +
361
 +
00:17:51,410 --> 00:17:56,120
 +
the idea that each one of these objects
 +
 +
362
 +
00:17:54,320 --> 00:17:57,530
 +
is responsible for its own protection as
 +
 +
363
 +
00:17:56,120 --> 00:18:00,850
 +
the strongest thing you should ever be
 +
 +
364
 +
00:17:57,530 --> 00:18:03,920
 +
able to do is to be able to beseech
 +
 +
365
 +
00:18:00,850 --> 00:18:06,620
 +
please do this for me but you shouldn't
 +
 +
366
 +
00:18:03,920 --> 00:18:07,730
 +
be able to say do this for me any more
 +
 +
367
 +
00:18:06,620 --> 00:18:10,040
 +
than you should be able to do the
 +
 +
368
 +
00:18:07,730 --> 00:18:12,650
 +
equivalent of an assignment statement so
 +
 +
369
 +
00:18:10,040 --> 00:18:14,809
 +
one of the major things I worked on when
 +
 +
370
 +
00:18:12,650 --> 00:18:16,250
 +
I was designing the early small talk was
 +
 +
371
 +
00:18:14,809 --> 00:18:19,100
 +
how can we get rid of the assignment
 +
 +
372
 +
00:18:16,250 --> 00:18:20,450
 +
statement as an imperative and replace
 +
 +
373
 +
00:18:19,100 --> 00:18:22,280
 +
it with something that was much more of
 +
 +
374
 +
00:18:20,450 --> 00:18:24,980
 +
a suggestion
 +
 +
375
 +
00:18:22,280 --> 00:18:26,840
 +
and the amount of state that got changed
 +
 +
376
 +
00:18:24,980 --> 00:18:28,970
 +
if any was completely up to the
 +
 +
377
 +
00:18:26,840 --> 00:18:30,530
 +
discretion of the underlying object to
 +
 +
378
 +
00:18:28,970 --> 00:18:32,809
 +
me any language that doesn't implement
 +
 +
379
 +
00:18:30,530 --> 00:18:35,540
 +
that fully is not an object-oriented
 +
 +
380
 +
00:18:32,809 --> 00:18:37,220
 +
language because you've what you have is
 +
 +
381
 +
00:18:35,540 --> 00:18:39,950
 +
something more much more like abstract
 +
 +
382
 +
00:18:37,220 --> 00:18:41,300
 +
data types where you have a bad old idea
 +
 +
383
 +
00:18:39,950 --> 00:18:44,530
 +
and you're trying to put Bearnaise sauce
 +
 +
384
 +
00:18:41,300 --> 00:18:47,660
 +
on it in the hopes that will be better
 +
 +
385
 +
00:18:44,530 --> 00:18:53,240
 +
but Bearnaise sauce on a hot dog doesn't
 +
 +
386
 +
00:18:47,660 --> 00:18:57,080
 +
help so the input basic two implications
 +
 +
387
 +
00:18:53,240 --> 00:18:59,090
 +
here is that you have an outside and an
 +
 +
388
 +
00:18:57,080 --> 00:19:01,850
 +
inside the outside is completely
 +
 +
389
 +
00:18:59,090 --> 00:19:04,309
 +
behavioral messages can't be commands
 +
 +
390
 +
00:19:01,850 --> 00:19:08,030
 +
and assignment has to be replaced by
 +
 +
391
 +
00:19:04,309 --> 00:19:09,500
 +
advise if you have those two things then
 +
 +
392
 +
00:19:08,030 --> 00:19:11,990
 +
you have object or whether you have
 +
 +
393
 +
00:19:09,500 --> 00:19:14,780
 +
inheritance or not is not nearly as
 +
 +
394
 +
00:19:11,990 --> 00:19:16,220
 +
critical not nearly as critical because
 +
 +
395
 +
00:19:14,780 --> 00:19:17,840
 +
I'm a good object-oriented language you
 +
 +
396
 +
00:19:16,220 --> 00:19:20,990
 +
can actually build it and you may very
 +
 +
397
 +
00:19:17,840 --> 00:19:28,490
 +
well want to in some form of delegation
 +
 +
398
 +
00:19:20,990 --> 00:19:30,410
 +
mechanism so on these mysteries started
 +
 +
399
 +
00:19:28,490 --> 00:19:32,960
 +
becoming clear when I worked on this
 +
 +
400
 +
00:19:30,410 --> 00:19:35,590
 +
machine this is the old flex machine
 +
 +
401
 +
00:19:32,960 --> 00:19:38,390
 +
that Idi Cheadle and I did 20 years ago
 +
 +
402
 +
00:19:35,590 --> 00:19:41,809
 +
67 to 69 this is what it looked like on
 +
 +
403
 +
00:19:38,390 --> 00:19:44,780
 +
its own display and it was influenced
 +
 +
404
 +
00:19:41,809 --> 00:19:49,280
 +
very much by sketchpad by angle Bart's
 +
 +
405
 +
00:19:44,780 --> 00:19:51,470
 +
first hypertext system by simulant had a
 +
 +
406
 +
00:19:49,280 --> 00:19:54,020
 +
programming language I designed called
 +
 +
407
 +
00:19:51,470 --> 00:19:58,070
 +
flex it had a user interface that was so
 +
 +
408
 +
00:19:54,020 --> 00:19:59,540
 +
well designed it most people reacted to
 +
 +
409
 +
00:19:58,070 --> 00:20:01,309
 +
it the way you would if you opened up
 +
 +
410
 +
00:19:59,540 --> 00:20:02,929
 +
the lid of a garbage can and saw
 +
 +
411
 +
00:20:01,309 --> 00:20:04,370
 +
something moist and fuzzy down at the
 +
 +
412
 +
00:20:02,929 --> 00:20:06,620
 +
bottom
 +
 +
413
 +
00:20:04,370 --> 00:20:14,630
 +
or pretty much the way people react to
 +
 +
414
 +
00:20:06,620 --> 00:20:18,380
 +
APL today I'm really proud of that user
 +
 +
415
 +
00:20:14,630 --> 00:20:19,850
 +
interface of all the things I've
 +
 +
416
 +
00:20:18,380 --> 00:20:25,159
 +
designed it produced probably the most
 +
 +
417
 +
00:20:19,850 --> 00:20:27,830
 +
startling reaction but didn't have a few
 +
 +
418
 +
00:20:25,159 --> 00:20:32,029
 +
ideas on it it had a really good
 +
 +
419
 +
00:20:27,830 --> 00:20:33,830
 +
windowing system one of the first and I
 +
 +
420
 +
00:20:32,029 --> 00:20:35,360
 +
had multiple windows it was a
 +
 +
421
 +
00:20:33,830 --> 00:20:37,580
 +
calligraphic display so the windows
 +
 +
422
 +
00:20:35,360 --> 00:20:39,049
 +
didn't overlap back then but a lot of
 +
 +
423
 +
00:20:37,580 --> 00:20:43,760
 +
the things that we're familiar with now
 +
 +
424
 +
00:20:39,049 --> 00:20:46,520
 +
in modern user interface were developed
 +
 +
425
 +
00:20:43,760 --> 00:20:53,120
 +
on this machine although kind of ass
 +
 +
426
 +
00:20:46,520 --> 00:20:56,539
 +
backwards most of the time so after
 +
 +
427
 +
00:20:53,120 --> 00:20:58,610
 +
wandering about what we should do
 +
 +
428
 +
00:20:56,539 --> 00:21:00,890
 +
I realized that McLuhan made this great
 +
 +
429
 +
00:20:58,610 --> 00:21:02,390
 +
statement that I read one day said I
 +
 +
430
 +
00:21:00,890 --> 00:21:06,950
 +
don't know who discovered water but it
 +
 +
431
 +
00:21:02,390 --> 00:21:09,190
 +
wasn't a fish and I realized that as a
 +
 +
432
 +
00:21:06,950 --> 00:21:11,539
 +
graduate student I was the world's worst
 +
 +
433
 +
00:21:09,190 --> 00:21:12,679
 +
user interface designer because the
 +
 +
434
 +
00:21:11,539 --> 00:21:14,299
 +
whole thing about being a graduate
 +
 +
435
 +
00:21:12,679 --> 00:21:17,450
 +
student is to learn a really stupid
 +
 +
436
 +
00:21:14,299 --> 00:21:20,360
 +
system with 500 obscure commands just to
 +
 +
437
 +
00:21:17,450 --> 00:21:21,980
 +
prove that you can when you turn a
 +
 +
438
 +
00:21:20,360 --> 00:21:24,020
 +
person like that loose on a user
 +
 +
439
 +
00:21:21,980 --> 00:21:26,980
 +
interface you wind up with something
 +
 +
440
 +
00:21:24,020 --> 00:21:26,980
 +
like ms-dos
 +
 +
441
 +
00:21:29,039 --> 00:21:33,460
 +
so for a while I was thinking well I
 +
 +
442
 +
00:21:31,510 --> 00:21:35,529
 +
need some other context there must be
 +
 +
443
 +
00:21:33,460 --> 00:21:37,539
 +
some other context and I looked at some
 +
 +
444
 +
00:21:35,529 --> 00:21:39,970
 +
of the language work with chimpanzees
 +
 +
445
 +
00:21:37,539 --> 00:21:42,460
 +
was rather hard to get hold of
 +
 +
446
 +
00:21:39,970 --> 00:21:43,840
 +
chimpanzees the Xerox corporate
 +
 +
447
 +
00:21:42,460 --> 00:21:46,470
 +
executives who would never stay around
 +
 +
448
 +
00:21:43,840 --> 00:21:46,470
 +
long enough
 +
 +
449
 +
00:21:48,190 --> 00:21:53,480
 +
so finally for various reasons decided
 +
 +
450
 +
00:21:51,770 --> 00:21:59,210
 +
to work with children who are also an
 +
 +
451
 +
00:21:53,480 --> 00:22:01,340
 +
alien species but Palo Alto had had bred
 +
 +
452
 +
00:21:59,210 --> 00:22:10,970
 +
hundreds of them just for our
 +
 +
453
 +
00:22:01,340 --> 00:22:13,760
 +
experiments and once we started thinking
 +
 +
454
 +
00:22:10,970 --> 00:22:18,320
 +
about children as the end users lots of
 +
 +
455
 +
00:22:13,760 --> 00:22:21,500
 +
things changed because children had to
 +
 +
456
 +
00:22:18,320 --> 00:22:22,990
 +
have something so portable they could
 +
 +
457
 +
00:22:21,500 --> 00:22:25,910
 +
carry other things too
 +
 +
458
 +
00:22:22,990 --> 00:22:33,799
 +
in other words 0.5 herniation spur block
 +
 +
459
 +
00:22:25,910 --> 00:22:35,570
 +
is not portability so about 20 years ago
 +
 +
460
 +
00:22:33,799 --> 00:22:38,679
 +
I came up with this idea which is called
 +
 +
461
 +
00:22:35,570 --> 00:22:42,580
 +
the we call the Dynabook back then in it
 +
 +
462
 +
00:22:38,679 --> 00:22:44,690
 +
my friend Dave Liddell who is here today
 +
 +
463
 +
00:22:42,580 --> 00:22:47,660
 +
when he was at the University of
 +
 +
464
 +
00:22:44,690 --> 00:22:50,510
 +
Illinois and worked for Owens Corning
 +
 +
465
 +
00:22:47,660 --> 00:22:52,400
 +
worked on the very first flat panel
 +
 +
466
 +
00:22:50,510 --> 00:22:54,830
 +
display which I saw a one-inch square
 +
 +
467
 +
00:22:52,400 --> 00:22:55,940
 +
version of back in 1968 and realized it
 +
 +
468
 +
00:22:54,830 --> 00:22:58,580
 +
was only going to be a number of years
 +
 +
469
 +
00:22:55,940 --> 00:23:00,710
 +
before we could put all of the silicon
 +
 +
470
 +
00:22:58,580 --> 00:23:02,480
 +
that was in the Flex machine on the back
 +
 +
471
 +
00:23:00,710 --> 00:23:05,150
 +
of the display and that this would be
 +
 +
472
 +
00:23:02,480 --> 00:23:07,309
 +
one of the inescapable form factors of
 +
 +
473
 +
00:23:05,150 --> 00:23:09,679
 +
the computers of the of the future so
 +
 +
474
 +
00:23:07,309 --> 00:23:11,000
 +
once starting to think about that and
 +
 +
475
 +
00:23:09,679 --> 00:23:12,679
 +
thinking about the children as the end
 +
 +
476
 +
00:23:11,000 --> 00:23:16,370
 +
users it meant that things had to be
 +
 +
477
 +
00:23:12,679 --> 00:23:19,130
 +
much much simpler than we'd ever done
 +
 +
478
 +
00:23:16,370 --> 00:23:22,070
 +
before and one of the hints I got was
 +
 +
479
 +
00:23:19,130 --> 00:23:25,340
 +
from a great system done at RAND
 +
 +
480
 +
00:23:22,070 --> 00:23:27,410
 +
Corporation a Rand probably has
 +
 +
481
 +
00:23:25,340 --> 00:23:28,850
 +
contributed more to user interface
 +
 +
482
 +
00:23:27,410 --> 00:23:32,990
 +
design than almost any other single
 +
 +
483
 +
00:23:28,850 --> 00:23:34,460
 +
place nobody knows that probably nobody
 +
 +
484
 +
00:23:32,990 --> 00:23:36,020
 +
in this room or maybe only one or two
 +
 +
485
 +
00:23:34,460 --> 00:23:39,080
 +
people in this room remember a language
 +
 +
486
 +
00:23:36,020 --> 00:23:42,410
 +
called Joss Joss was designed in the
 +
 +
487
 +
00:23:39,080 --> 00:23:46,120
 +
very early 60s on a machine called the
 +
 +
488
 +
00:23:42,410 --> 00:23:49,070
 +
johniac and Joss was probably the best
 +
 +
489
 +
00:23:46,120 --> 00:23:51,919
 +
teletype or typewriter oriented
 +
 +
490
 +
00:23:49,070 --> 00:23:54,919
 +
programming system ever done it was the
 +
 +
491
 +
00:23:51,919 --> 00:23:58,460
 +
one that invented the interaction scheme
 +
 +
492
 +
00:23:54,919 --> 00:24:01,660
 +
that we now know of in APL of having two
 +
 +
493
 +
00:23:58,460 --> 00:24:05,150
 +
in direct commands that came from Jos
 +
 +
494
 +
00:24:01,660 --> 00:24:07,640
 +
basic adopted at many years later and so
 +
 +
495
 +
00:24:05,150 --> 00:24:08,960
 +
forth and Jos had the misfortune of
 +
 +
496
 +
00:24:07,640 --> 00:24:10,850
 +
being implemented on the wrong machine
 +
 +
497
 +
00:24:08,960 --> 00:24:13,760
 +
or else we would have been able to start
 +
 +
498
 +
00:24:10,850 --> 00:24:17,420
 +
much further along than then a language
 +
 +
499
 +
00:24:13,760 --> 00:24:20,300
 +
like basic so this language have been
 +
 +
500
 +
00:24:17,420 --> 00:24:22,370
 +
developed for non expert users who are
 +
 +
501
 +
00:24:20,300 --> 00:24:27,020
 +
mostly economists who had to do a fair
 +
 +
502
 +
00:24:22,370 --> 00:24:29,930
 +
amount of computation and the these
 +
 +
503
 +
00:24:27,020 --> 00:24:31,970
 +
users loved Jos fact I get a chance to
 +
 +
504
 +
00:24:29,930 --> 00:24:34,400
 +
use it in the 60s as well and it was
 +
 +
505
 +
00:24:31,970 --> 00:24:35,870
 +
just there's one of the few systems that
 +
 +
506
 +
00:24:34,400 --> 00:24:38,510
 +
you've ever worked on in which there was
 +
 +
507
 +
00:24:35,870 --> 00:24:39,680
 +
a pleasant little tingle when you knew
 +
 +
508
 +
00:24:38,510 --> 00:24:40,970
 +
you were going to get a chance to work
 +
 +
509
 +
00:24:39,680 --> 00:24:42,830
 +
on it for a few hours in the afternoon
 +
 +
510
 +
00:24:40,970 --> 00:24:45,560
 +
how many systems can you say that about
 +
 +
511
 +
00:24:42,830 --> 00:24:47,950
 +
it was just encrypt there was nothing
 +
 +
512
 +
00:24:45,560 --> 00:24:51,020
 +
left to chance everything was done
 +
 +
513
 +
00:24:47,950 --> 00:24:53,120
 +
beautifully aesthetically and so forth
 +
 +
514
 +
00:24:51,020 --> 00:24:56,660
 +
and the only complaint these economists
 +
 +
515
 +
00:24:53,120 --> 00:24:59,120
 +
had was they said hey none of us can
 +
 +
516
 +
00:24:56,660 --> 00:25:01,310
 +
type we love this system but we can't
 +
 +
517
 +
00:24:59,120 --> 00:25:03,710
 +
type can't you do something for us so
 +
 +
518
 +
00:25:01,310 --> 00:25:05,300
 +
the RAM people went actually went
 +
 +
519
 +
00:25:03,710 --> 00:25:06,260
 +
through their waste paper baskets to see
 +
 +
520
 +
00:25:05,300 --> 00:25:08,030
 +
what they did right
 +
 +
521
 +
00:25:06,260 --> 00:25:10,760
 +
I guess not too many divorces were
 +
 +
522
 +
00:25:08,030 --> 00:25:14,630
 +
caused by that these guys used to write
 +
 +
523
 +
00:25:10,760 --> 00:25:17,510
 +
on legal pads and so forth and they made
 +
 +
524
 +
00:25:14,630 --> 00:25:20,180
 +
diagrams and so the RAM people in 1964
 +
 +
525
 +
00:25:17,510 --> 00:25:22,490
 +
invented the first tablet was called Ram
 +
 +
526
 +
00:25:20,180 --> 00:25:27,230
 +
tablet I remember when we got one at
 +
 +
527
 +
00:25:22,490 --> 00:25:30,130
 +
Utah a few years later 1967 one of those
 +
 +
528
 +
00:25:27,230 --> 00:25:32,510
 +
Rand tablets thousand by a thousand
 +
 +
529
 +
00:25:30,130 --> 00:25:37,240
 +
stylus pointing device first good one
 +
 +
530
 +
00:25:32,510 --> 00:25:40,580
 +
ever done 1967 that single device cost
 +
 +
531
 +
00:25:37,240 --> 00:25:41,960
 +
$18,000 and you had to hook it to a
 +
 +
532
 +
00:25:40,580 --> 00:25:43,700
 +
machine that was worth a half a million
 +
 +
533
 +
00:25:41,960 --> 00:25:48,020
 +
to a million to make any use of it a
 +
 +
534
 +
00:25:43,700 --> 00:25:48,980
 +
year after 1965 a guy by the name of
 +
 +
535
 +
00:25:48,020 --> 00:25:51,170
 +
Gabe groaner
 +
 +
536
 +
00:25:48,980 --> 00:25:53,390
 +
did the first really good gesture
 +
 +
537
 +
00:25:51,170 --> 00:25:54,920
 +
recognizer and a few years later they
 +
 +
538
 +
00:25:53,390 --> 00:25:57,080
 +
put this all together into a system
 +
 +
539
 +
00:25:54,920 --> 00:25:59,210
 +
called Grail for graphical input
 +
 +
540
 +
00:25:57,080 --> 00:26:03,740
 +
language let's run the second cut on
 +
 +
541
 +
00:25:59,210 --> 00:26:06,100
 +
tape one here's what this looked like 20
 +
 +
542
 +
00:26:03,740 --> 00:26:06,100
 +
years ago
 +
 +
543
 +
00:26:14,340 --> 00:26:21,550
 +
this list takes us back where we may
 +
 +
544
 +
00:26:19,390 --> 00:26:23,650
 +
start to edit the flow diagram the no
 +
 +
545
 +
00:26:21,550 --> 00:26:26,110
 +
keyboard first we erase a flow arrow
 +
 +
546
 +
00:26:23,650 --> 00:26:28,860
 +
then move the connector toddled away so
 +
 +
547
 +
00:26:26,110 --> 00:26:31,270
 +
that we may draw a box in its place
 +
 +
548
 +
00:26:28,860 --> 00:26:35,830
 +
it recognizes he wants a box and just
 +
 +
549
 +
00:26:31,270 --> 00:26:39,400
 +
makes one the printed nine used as
 +
 +
550
 +
00:26:35,830 --> 00:26:43,630
 +
commentary only in this case the box is
 +
 +
551
 +
00:26:39,400 --> 00:26:45,130
 +
large so we make as where modern-day
 +
 +
552
 +
00:26:43,630 --> 00:26:47,679
 +
window control came from literally
 +
 +
553
 +
00:26:45,130 --> 00:26:52,510
 +
Android flow from the connector to the
 +
 +
554
 +
00:26:47,679 --> 00:26:57,340
 +
box attached a decision element to the
 +
 +
555
 +
00:26:52,510 --> 00:26:59,140
 +
box and joy flow from it to scan we then
 +
 +
556
 +
00:26:57,340 --> 00:27:02,559
 +
erased the floor arrows attached to the
 +
 +
557
 +
00:26:59,140 --> 00:27:09,970
 +
process post new area and move the box
 +
 +
558
 +
00:27:02,559 --> 00:27:15,870
 +
to a new position this allows us to draw
 +
 +
559
 +
00:27:09,970 --> 00:27:24,010
 +
a new box then chop off its corner and
 +
 +
560
 +
00:27:15,870 --> 00:27:26,170
 +
label it sub scan with a residual error
 +
 +
561
 +
00:27:24,010 --> 00:27:29,580
 +
I notice it misses the end here he sees
 +
 +
562
 +
00:27:26,170 --> 00:27:32,050
 +
it he has to thing but it's motiveless
 +
 +
563
 +
00:27:29,580 --> 00:27:36,670
 +
so just continues what he was doing it
 +
 +
564
 +
00:27:32,050 --> 00:27:39,550
 +
makes the change correct the label add a
 +
 +
565
 +
00:27:36,670 --> 00:27:45,040
 +
decision on sub scan so that control may
 +
 +
566
 +
00:27:39,550 --> 00:27:53,320
 +
flow to the pleat the diagram from scan
 +
 +
567
 +
00:27:45,040 --> 00:27:56,440
 +
to post a chance for an hour really
 +
 +
568
 +
00:27:53,320 --> 00:28:00,910
 +
changed used interaction or synching
 +
 +
569
 +
00:27:56,440 --> 00:28:04,059
 +
your hands right display the structures
 +
 +
570
 +
00:28:00,910 --> 00:28:06,610
 +
underneath so it wasn't just personal
 +
 +
571
 +
00:28:04,059 --> 00:28:09,760
 +
wasn't just going from the mainframe to
 +
 +
572
 +
00:28:06,610 --> 00:28:11,980
 +
the desktop this was intimate because
 +
 +
573
 +
00:28:09,760 --> 00:28:14,260
 +
you were right there there were fewer
 +
 +
574
 +
00:28:11,980 --> 00:28:16,600
 +
barriers notice that the command scheme
 +
 +
575
 +
00:28:14,260 --> 00:28:19,030
 +
is not even menu-driven here the
 +
 +
576
 +
00:28:16,600 --> 00:28:21,550
 +
commands are actually analogues to the
 +
 +
577
 +
00:28:19,030 --> 00:28:22,400
 +
results you want to have so it's not
 +
 +
578
 +
00:28:21,550 --> 00:28:25,820
 +
just icon
 +
 +
579
 +
00:28:22,400 --> 00:28:29,240
 +
it's an illogical very powerful set of
 +
 +
580
 +
00:28:25,820 --> 00:28:32,570
 +
ideas again done on a machine almost the
 +
 +
581
 +
00:28:29,240 --> 00:28:36,290
 +
size of this this room but slightly less
 +
 +
582
 +
00:28:32,570 --> 00:28:39,440
 +
powerful than a 512 K Mac but this is a
 +
 +
583
 +
00:28:36,290 --> 00:28:42,050
 +
technology that actually got buried we
 +
 +
584
 +
00:28:39,440 --> 00:28:43,790
 +
we did many versions of this kind of
 +
 +
585
 +
00:28:42,050 --> 00:28:46,100
 +
stuff at Parc I used to show this movie
 +
 +
586
 +
00:28:43,790 --> 00:28:47,750
 +
every couple of months to my group so we
 +
 +
587
 +
00:28:46,100 --> 00:28:53,840
 +
wouldn't forget what it was that we were
 +
 +
588
 +
00:28:47,750 --> 00:28:56,030
 +
trying to do and the we're ready now in
 +
 +
589
 +
00:28:53,840 --> 00:28:58,370
 +
the next few years to see a rise of
 +
 +
590
 +
00:28:56,030 --> 00:29:00,110
 +
gesture recognition because the micros
 +
 +
591
 +
00:28:58,370 --> 00:29:02,770
 +
are now powerful enough to do this and
 +
 +
592
 +
00:29:00,110 --> 00:29:06,050
 +
still have some cycles left over for
 +
 +
593
 +
00:29:02,770 --> 00:29:07,640
 +
doing work for the for the user and you
 +
 +
594
 +
00:29:06,050 --> 00:29:09,890
 +
may not know it or not but actually one
 +
 +
595
 +
00:29:07,640 --> 00:29:13,970
 +
of the best groups in the country in
 +
 +
596
 +
00:29:09,890 --> 00:29:17,240
 +
doing a handwriting recognition is at
 +
 +
597
 +
00:29:13,970 --> 00:29:21,890
 +
IBM big surprise but you actually have
 +
 +
598
 +
00:29:17,240 --> 00:29:23,540
 +
one of the better technologies here and
 +
 +
599
 +
00:29:21,890 --> 00:29:26,720
 +
so if you're you're interested in this I
 +
 +
600
 +
00:29:23,540 --> 00:29:29,240
 +
suggest you look in the IBM phone
 +
 +
601
 +
00:29:26,720 --> 00:29:33,890
 +
dictionary for the group that is doing
 +
 +
602
 +
00:29:29,240 --> 00:29:36,680
 +
it now John Sculley was once wearing how
 +
 +
603
 +
00:29:33,890 --> 00:29:38,150
 +
many scientists that were at IBM and I
 +
 +
604
 +
00:29:36,680 --> 00:29:40,460
 +
said yeah John there are many more
 +
 +
605
 +
00:29:38,150 --> 00:29:42,290
 +
scientists at IBM there are employees at
 +
 +
606
 +
00:29:40,460 --> 00:29:53,420
 +
Apple but don't worry IBM doesn't listen
 +
 +
607
 +
00:29:42,290 --> 00:29:54,800
 +
to them just like it Xerox you know you
 +
 +
608
 +
00:29:53,420 --> 00:29:56,150
 +
want them to let you alone when you're
 +
 +
609
 +
00:29:54,800 --> 00:29:58,280
 +
working but then you want them to come
 +
 +
610
 +
00:29:56,150 --> 00:30:02,050
 +
around when you've got something
 +
 +
611
 +
00:29:58,280 --> 00:30:08,500
 +
[Laughter]
 +
 +
612
 +
00:30:02,050 --> 00:30:08,500
 +
it's hard to get both to happen so I
 +
 +
613
 +
00:30:09,610 --> 00:30:14,240
 +
want to intertwine some stuff in here
 +
 +
614
 +
00:30:11,990 --> 00:30:16,040
 +
because in although this isn't really a
 +
 +
615
 +
00:30:14,240 --> 00:30:19,250
 +
historical thing it's very to me it's
 +
 +
616
 +
00:30:16,040 --> 00:30:21,680
 +
very important that the stuff that gave
 +
 +
617
 +
00:30:19,250 --> 00:30:24,440
 +
rise to what this symposium is all about
 +
 +
618
 +
00:30:21,680 --> 00:30:26,200
 +
was not at all disconnected from the
 +
 +
619
 +
00:30:24,440 --> 00:30:31,460
 +
fact that there were going to be users
 +
 +
620
 +
00:30:26,200 --> 00:30:34,760
 +
working on the on a system and so the
 +
 +
621
 +
00:30:31,460 --> 00:30:36,260
 +
the whole thing that brought forth real
 +
 +
622
 +
00:30:34,760 --> 00:30:37,730
 +
object-oriented programming and small
 +
 +
623
 +
00:30:36,260 --> 00:30:39,230
 +
talk and the user interface that went
 +
 +
624
 +
00:30:37,730 --> 00:30:41,750
 +
along with it was that we had these
 +
 +
625
 +
00:30:39,230 --> 00:30:44,000
 +
children and we wanted these children to
 +
 +
626
 +
00:30:41,750 --> 00:30:45,470
 +
not just be able to have access to
 +
 +
627
 +
00:30:44,000 --> 00:30:46,640
 +
things but we wanted the children to be
 +
 +
628
 +
00:30:45,470 --> 00:30:49,640
 +
able to build things
 +
 +
629
 +
00:30:46,640 --> 00:30:52,160
 +
so our if this what we said was is if
 +
 +
630
 +
00:30:49,640 --> 00:30:53,870
 +
this is if this were print literacy we
 +
 +
631
 +
00:30:52,160 --> 00:30:56,060
 +
don't want to teach the kids just to
 +
 +
632
 +
00:30:53,870 --> 00:30:58,850
 +
read print literacy isn't just reading
 +
 +
633
 +
00:30:56,060 --> 00:31:00,800
 +
it's also writing we want the kids to
 +
 +
634
 +
00:30:58,850 --> 00:31:03,080
 +
somehow be able to write and the
 +
 +
635
 +
00:31:00,800 --> 00:31:05,600
 +
equivalent of writing on the computer is
 +
 +
636
 +
00:31:03,080 --> 00:31:07,340
 +
not necessarily programming in the in
 +
 +
637
 +
00:31:05,600 --> 00:31:10,220
 +
the COBOL sense but it certainly is
 +
 +
638
 +
00:31:07,340 --> 00:31:12,590
 +
building structures of your own and so
 +
 +
639
 +
00:31:10,220 --> 00:31:16,750
 +
very early we got into this whole area
 +
 +
640
 +
00:31:12,590 --> 00:31:20,810
 +
of wondering well how does the mind work
 +
 +
641
 +
00:31:16,750 --> 00:31:23,000
 +
if at all and the first thing we
 +
 +
642
 +
00:31:20,810 --> 00:31:24,860
 +
discovered that whatever common sense
 +
 +
643
 +
00:31:23,000 --> 00:31:28,460
 +
notions we had about the mind working
 +
 +
644
 +
00:31:24,860 --> 00:31:29,750
 +
they certainly weren't at all in accord
 +
 +
645
 +
00:31:28,460 --> 00:31:32,000
 +
with what had been discovered in the
 +
 +
646
 +
00:31:29,750 --> 00:31:34,460
 +
last couple of decades
 +
 +
647
 +
00:31:32,000 --> 00:31:37,280
 +
for instance common sense idea that's
 +
 +
648
 +
00:31:34,460 --> 00:31:39,170
 +
been in history for thousands of years
 +
 +
649
 +
00:31:37,280 --> 00:31:43,160
 +
is that because we think of ourselves as
 +
 +
650
 +
00:31:39,170 --> 00:31:46,400
 +
an individual we think there's a single
 +
 +
651
 +
00:31:43,160 --> 00:31:49,730
 +
eyeness and even in the work of Piaget
 +
 +
652
 +
00:31:46,400 --> 00:31:51,890
 +
we see in thinking of the progression of
 +
 +
653
 +
00:31:49,730 --> 00:31:53,390
 +
an infant mind to an adult mind as
 +
 +
654
 +
00:31:51,890 --> 00:31:55,880
 +
something like the transformation of a
 +
 +
655
 +
00:31:53,390 --> 00:31:58,190
 +
caterpillar into a butterfly that you go
 +
 +
656
 +
00:31:55,880 --> 00:32:00,230
 +
from something less form to something
 +
 +
657
 +
00:31:58,190 --> 00:32:04,280
 +
more form but it's all made out of the
 +
 +
658
 +
00:32:00,230 --> 00:32:05,450
 +
same stuff whereas the the truth seems
 +
 +
659
 +
00:32:04,280 --> 00:32:07,430
 +
to be quite different and quite
 +
 +
660
 +
00:32:05,450 --> 00:32:09,280
 +
startling that our mind is really made
 +
 +
661
 +
00:32:07,430 --> 00:32:13,220
 +
up of a kind of a patchwork quilt
 +
 +
662
 +
00:32:09,280 --> 00:32:14,419
 +
modules or objects if you will and these
 +
 +
663
 +
00:32:13,220 --> 00:32:15,889
 +
objects
 +
 +
664
 +
00:32:14,419 --> 00:32:17,840
 +
indicate imperfectly because they came
 +
 +
665
 +
00:32:15,889 --> 00:32:20,090
 +
about at different biological times for
 +
 +
666
 +
00:32:17,840 --> 00:32:23,929
 +
different evolutionary reasons and it
 +
 +
667
 +
00:32:20,090 --> 00:32:26,859
 +
give you an idea of the modularity of
 +
 +
668
 +
00:32:23,929 --> 00:32:29,299
 +
the mind let's take a look at this and
 +
 +
669
 +
00:32:26,859 --> 00:32:32,470
 +
let's see who in the audience can spot
 +
 +
670
 +
00:32:29,299 --> 00:32:32,470
 +
what's wrong with this picture
 +
 +
671
 +
00:32:32,649 --> 00:32:38,019
 +
besides the fact you've all seen ups and
 +
 +
672
 +
00:32:34,970 --> 00:32:42,009
 +
upside down faces before who can see
 +
 +
673
 +
00:32:38,019 --> 00:32:45,669
 +
smile is what upside down and what else
 +
 +
674
 +
00:32:42,009 --> 00:32:50,419
 +
these teeth are and what else the eyes
 +
 +
675
 +
00:32:45,669 --> 00:32:52,669
 +
okay so now if we were in school and I
 +
 +
676
 +
00:32:50,419 --> 00:32:54,080
 +
were a teacher I would say to you this
 +
 +
677
 +
00:32:52,669 --> 00:32:58,639
 +
is the way things are taught in school
 +
 +
678
 +
00:32:54,080 --> 00:33:00,710
 +
by language I would say that what we've
 +
 +
679
 +
00:32:58,639 --> 00:33:03,259
 +
done here is we've taken a picture of a
 +
 +
680
 +
00:33:00,710 --> 00:33:05,239
 +
young girl extracted the eyes and mouth
 +
 +
681
 +
00:33:03,259 --> 00:33:07,039
 +
turned them upside down put them back in
 +
 +
682
 +
00:33:05,239 --> 00:33:10,009
 +
with an airbrush and then turned the
 +
 +
683
 +
00:33:07,039 --> 00:33:11,419
 +
entire picture upside down okay so
 +
 +
684
 +
00:33:10,009 --> 00:33:12,710
 +
having said that you should be perfectly
 +
 +
685
 +
00:33:11,419 --> 00:33:15,129
 +
prepared for what it looks like right
 +
 +
686
 +
00:33:12,710 --> 00:33:15,129
 +
side up
 +
 +
687
 +
00:33:20,140 --> 00:33:24,760
 +
now I'm gonna turn this back as I've
 +
 +
688
 +
00:33:22,420 --> 00:33:35,110
 +
discovered discovered nobody will listen
 +
 +
689
 +
00:33:24,760 --> 00:33:37,929
 +
to me when it's on the other way so
 +
 +
690
 +
00:33:35,110 --> 00:33:40,080
 +
that's interesting that I gave you the
 +
 +
691
 +
00:33:37,929 --> 00:33:43,450
 +
exactly the same amount of information
 +
 +
692
 +
00:33:40,080 --> 00:33:45,010
 +
two times one through language and one
 +
 +
693
 +
00:33:43,450 --> 00:33:47,530
 +
visually and you had a completely
 +
 +
694
 +
00:33:45,010 --> 00:33:49,570
 +
different reaction to the exact same
 +
 +
695
 +
00:33:47,530 --> 00:33:51,250
 +
information that's the kind of thing
 +
 +
696
 +
00:33:49,570 --> 00:33:54,760
 +
that perceptual cycle and cognitive
 +
 +
697
 +
00:33:51,250 --> 00:33:56,710
 +
psychologists really love because means
 +
 +
698
 +
00:33:54,760 --> 00:33:58,270
 +
that different information going into
 +
 +
699
 +
00:33:56,710 --> 00:33:59,650
 +
different channels is going to different
 +
 +
700
 +
00:33:58,270 --> 00:34:01,480
 +
parts of the brain and you're having
 +
 +
701
 +
00:33:59,650 --> 00:34:05,110
 +
different reactions therefore there are
 +
 +
702
 +
00:34:01,480 --> 00:34:08,020
 +
modules in this particular one the
 +
 +
703
 +
00:34:05,110 --> 00:34:09,820
 +
module that's causing this effect the
 +
 +
704
 +
00:34:08,020 --> 00:34:11,859
 +
two modules are actually known
 +
 +
705
 +
00:34:09,820 --> 00:34:13,419
 +
physiologically they're located on the
 +
 +
706
 +
00:34:11,859 --> 00:34:16,359
 +
under right hand side of the brain where
 +
 +
707
 +
00:34:13,419 --> 00:34:18,190
 +
you do face recognition and about an
 +
 +
708
 +
00:34:16,359 --> 00:34:21,639
 +
inch apart from each other one of them
 +
 +
709
 +
00:34:18,190 --> 00:34:23,649
 +
is a expert in recognizing face like
 +
 +
710
 +
00:34:21,639 --> 00:34:25,869
 +
things as the thing allows you to see
 +
 +
711
 +
00:34:23,649 --> 00:34:27,760
 +
faces in the clouds when children get
 +
 +
712
 +
00:34:25,869 --> 00:34:29,980
 +
scale scared at twilight with menacing
 +
 +
713
 +
00:34:27,760 --> 00:34:32,590
 +
shadows and so forth that module is
 +
 +
714
 +
00:34:29,980 --> 00:34:34,600
 +
going off saying I see a face like thing
 +
 +
715
 +
00:34:32,590 --> 00:34:37,690
 +
right now it's reporting I see an upside
 +
 +
716
 +
00:34:34,600 --> 00:34:39,940
 +
down face like thing about an inch away
 +
 +
717
 +
00:34:37,690 --> 00:34:40,810
 +
is another module that's only interested
 +
 +
718
 +
00:34:39,940 --> 00:34:42,940
 +
in eyes and mouth
 +
 +
719
 +
00:34:40,810 --> 00:34:44,290
 +
it doesn't care where they are and it's
 +
 +
720
 +
00:34:42,940 --> 00:34:46,899
 +
reporting that's a good looking mouth
 +
 +
721
 +
00:34:44,290 --> 00:34:49,629
 +
and those are okay eyes and so the two
 +
 +
722
 +
00:34:46,899 --> 00:34:52,200
 +
descriptions basically have very little
 +
 +
723
 +
00:34:49,629 --> 00:34:54,340
 +
interaction they're quite independent
 +
 +
724
 +
00:34:52,200 --> 00:34:58,690
 +
reporting's from two different modules
 +
 +
725
 +
00:34:54,340 --> 00:35:00,190
 +
now when I go to this version the face
 +
 +
726
 +
00:34:58,690 --> 00:35:02,170
 +
guy is saying that's a right-side up
 +
 +
727
 +
00:35:00,190 --> 00:35:04,060
 +
face like thing and the eyes and mouth
 +
 +
728
 +
00:35:02,170 --> 00:35:06,450
 +
guy is saying something is very wrong
 +
 +
729
 +
00:35:04,060 --> 00:35:06,450
 +
here
 +
 +
730
 +
00:35:11,710 --> 00:35:16,370
 +
now you can imagine why nature might
 +
 +
731
 +
00:35:14,180 --> 00:35:17,720
 +
want you to be startled see a face like
 +
 +
732
 +
00:35:16,370 --> 00:35:24,980
 +
this up close to might mean you're going
 +
 +
733
 +
00:35:17,720 --> 00:35:27,230
 +
to die on the next 10 seconds and in
 +
 +
734
 +
00:35:24,980 --> 00:35:28,790
 +
fact it's this is not something that you
 +
 +
735
 +
00:35:27,230 --> 00:35:31,010
 +
learn it's actually built into our
 +
 +
736
 +
00:35:28,790 --> 00:35:32,540
 +
nervous systems from birth into most
 +
 +
737
 +
00:35:31,010 --> 00:35:34,910
 +
mammals in fact so if you try this
 +
 +
738
 +
00:35:32,540 --> 00:35:37,630
 +
experiment out on a dog I suggest you
 +
 +
739
 +
00:35:34,910 --> 00:35:37,630
 +
pick a small one
 +
 +
740
 +
00:35:42,210 --> 00:35:45,349
 +
[Applause]
 +
 +
741
 +
00:35:45,540 --> 00:35:54,119
 +
so important idea here is that there are
 +
 +
742
 +
00:35:49,840 --> 00:35:58,109
 +
modules the just what the modules are is
 +
 +
743
 +
00:35:54,119 --> 00:36:01,330
 +
still open to debate some of the modules
 +
 +
744
 +
00:35:58,109 --> 00:36:05,170
 +
are even metaphoric I'm not all of them
 +
 +
745
 +
00:36:01,330 --> 00:36:06,940
 +
are physiologically cited because of the
 +
 +
746
 +
00:36:05,170 --> 00:36:09,250
 +
way the the nervous system is organized
 +
 +
747
 +
00:36:06,940 --> 00:36:11,140
 +
they can act we can have modules that
 +
 +
748
 +
00:36:09,250 --> 00:36:13,660
 +
are distributed all over the the brains
 +
 +
749
 +
00:36:11,140 --> 00:36:15,760
 +
of going ideas like left brain and right
 +
 +
750
 +
00:36:13,660 --> 00:36:17,950
 +
brain are a particularly weak way of
 +
 +
751
 +
00:36:15,760 --> 00:36:19,359
 +
trying to characterize it but most
 +
 +
752
 +
00:36:17,950 --> 00:36:21,190
 +
important thing is once you realize that
 +
 +
753
 +
00:36:19,359 --> 00:36:23,050
 +
there's more than one module and that
 +
 +
754
 +
00:36:21,190 --> 00:36:25,450
 +
the modules have different ways of
 +
 +
755
 +
00:36:23,050 --> 00:36:28,810
 +
thinking about things and are somewhat
 +
 +
756
 +
00:36:25,450 --> 00:36:31,420
 +
weak recalcitrant and unable to talk
 +
 +
757
 +
00:36:28,810 --> 00:36:34,480
 +
with each other then you have the basis
 +
 +
758
 +
00:36:31,420 --> 00:36:38,890
 +
for a much stronger user interface
 +
 +
759
 +
00:36:34,480 --> 00:36:41,140
 +
design or curriculum now the ideas that
 +
 +
760
 +
00:36:38,890 --> 00:36:43,480
 +
led to this user interface that norm was
 +
 +
761
 +
00:36:41,140 --> 00:36:45,940
 +
talking about it was developed at the
 +
 +
762
 +
00:36:43,480 --> 00:36:47,650
 +
same time as small talk came from a
 +
 +
763
 +
00:36:45,940 --> 00:36:51,790
 +
Harvard psychologist by the name of
 +
 +
764
 +
00:36:47,650 --> 00:36:56,170
 +
Jerome Bruner and Bruner had redone a
 +
 +
765
 +
00:36:51,790 --> 00:36:58,090
 +
number of the experiments of Piaget but
 +
 +
766
 +
00:36:56,170 --> 00:37:01,180
 +
with some twists so for instance Bruner
 +
 +
767
 +
00:36:58,090 --> 00:37:05,619
 +
took a child he was in this middle
 +
 +
768
 +
00:37:01,180 --> 00:37:07,359
 +
Piaget stage the image stage and is
 +
 +
769
 +
00:37:05,619 --> 00:37:08,859
 +
where you take a squat glass of water
 +
 +
770
 +
00:37:07,359 --> 00:37:11,290
 +
and you pour it into a tall thin glass
 +
 +
771
 +
00:37:08,859 --> 00:37:14,890
 +
and the child says yep this was more
 +
 +
772
 +
00:37:11,290 --> 00:37:18,100
 +
water in the tall thin glass and what
 +
 +
773
 +
00:37:14,890 --> 00:37:19,570
 +
Brenner thought to do is to then occlude
 +
 +
774
 +
00:37:18,100 --> 00:37:21,220
 +
the tall thin glass with a piece of
 +
 +
775
 +
00:37:19,570 --> 00:37:22,990
 +
cardboard and ask the kid again and the
 +
 +
776
 +
00:37:21,220 --> 00:37:24,280
 +
kid said oh wait a minute there must be
 +
 +
777
 +
00:37:22,990 --> 00:37:26,920
 +
the same amount of water because where
 +
 +
778
 +
00:37:24,280 --> 00:37:28,000
 +
would it go and Brendan would take it
 +
 +
779
 +
00:37:26,920 --> 00:37:29,859
 +
away and the kids would say no look
 +
 +
780
 +
00:37:28,000 --> 00:37:30,940
 +
there's more there's more Brenda would
 +
 +
781
 +
00:37:29,859 --> 00:37:32,410
 +
cover it up and they could say well hey
 +
 +
782
 +
00:37:30,940 --> 00:37:35,790
 +
wait a minute so if you have any
 +
 +
783
 +
00:37:32,410 --> 00:37:35,790
 +
six-year-olds you'd like to tour man
 +
 +
784
 +
00:37:38,080 --> 00:37:42,800
 +
and burner did booty did many
 +
 +
785
 +
00:37:40,550 --> 00:37:45,140
 +
experiments in the 50s and early 60s and
 +
 +
786
 +
00:37:42,800 --> 00:37:48,170
 +
the conclusion was that what we didn't
 +
 +
787
 +
00:37:45,140 --> 00:37:49,760
 +
have was a progression of stages of the
 +
 +
788
 +
00:37:48,170 --> 00:37:50,960
 +
caterpillar going to the butterfly but
 +
 +
789
 +
00:37:49,760 --> 00:37:53,510
 +
instead what we had were multiple
 +
 +
790
 +
00:37:50,960 --> 00:37:55,220
 +
mentalities and a change in dominance
 +
 +
791
 +
00:37:53,510 --> 00:37:58,040
 +
because brunner could show the existence
 +
 +
792
 +
00:37:55,220 --> 00:38:02,030
 +
of the previous and mentalities to come
 +
 +
793
 +
00:37:58,040 --> 00:38:03,080
 +
by various tricks and Brunner said of
 +
 +
794
 +
00:38:02,030 --> 00:38:06,680
 +
well there are lots of different
 +
 +
795
 +
00:38:03,080 --> 00:38:08,120
 +
mentalities and he picked three that he
 +
 +
796
 +
00:38:06,680 --> 00:38:10,010
 +
could show the existence of and
 +
 +
797
 +
00:38:08,120 --> 00:38:11,870
 +
concentrated his curriculum ideas on
 +
 +
798
 +
00:38:10,010 --> 00:38:15,140
 +
those and those three were a kinesthetic
 +
 +
799
 +
00:38:11,870 --> 00:38:17,300
 +
mentality identical with the PJs first
 +
 +
800
 +
00:38:15,140 --> 00:38:19,760
 +
stage where a whole is to diggit an
 +
 +
801
 +
00:38:17,300 --> 00:38:21,590
 +
object is to grab it the iconic
 +
 +
802
 +
00:38:19,760 --> 00:38:23,960
 +
mentality that we just talked about and
 +
 +
803
 +
00:38:21,590 --> 00:38:26,930
 +
then around 11 or 12 a symbolic
 +
 +
804
 +
00:38:23,960 --> 00:38:28,970
 +
mentality where facts and logic are used
 +
 +
805
 +
00:38:26,930 --> 00:38:32,720
 +
or at least in Swiss French children
 +
 +
806
 +
00:38:28,970 --> 00:38:34,250
 +
around 11 and 12 American children have
 +
 +
807
 +
00:38:32,720 --> 00:38:36,200
 +
a very difficult time ever getting to
 +
 +
808
 +
00:38:34,250 --> 00:38:39,040
 +
the facts and logic stage because we
 +
 +
809
 +
00:38:36,200 --> 00:38:44,950
 +
have an enormous iconic barrier between
 +
 +
810
 +
00:38:39,040 --> 00:38:47,090
 +
them which is called television now the
 +
 +
811
 +
00:38:44,950 --> 00:38:50,870
 +
existence of these three mentalities
 +
 +
812
 +
00:38:47,090 --> 00:38:54,440
 +
they each they each have striking
 +
 +
813
 +
00:38:50,870 --> 00:38:57,590
 +
characteristics and in a nutshell as I
 +
 +
814
 +
00:38:54,440 --> 00:38:59,870
 +
can only go into here the kinesthetic
 +
 +
815
 +
00:38:57,590 --> 00:39:03,080
 +
mentality is the one that places you in
 +
 +
816
 +
00:38:59,870 --> 00:39:04,970
 +
space not your visual mentality as you
 +
 +
817
 +
00:39:03,080 --> 00:39:07,580
 +
might think because you can blind a
 +
 +
818
 +
00:39:04,970 --> 00:39:09,110
 +
person person can be blinded and still
 +
 +
819
 +
00:39:07,580 --> 00:39:13,160
 +
have a perfect sense of where they are
 +
 +
820
 +
00:39:09,110 --> 00:39:14,810
 +
in space but if you remove the for
 +
 +
821
 +
00:39:13,160 --> 00:39:17,060
 +
instance a person's limb from their body
 +
 +
822
 +
00:39:14,810 --> 00:39:19,190
 +
map as sometimes happens in an accident
 +
 +
823
 +
00:39:17,060 --> 00:39:21,050
 +
then they may have a perfectly healthy
 +
 +
824
 +
00:39:19,190 --> 00:39:23,860
 +
leg attached to them but they cannot
 +
 +
825
 +
00:39:21,050 --> 00:39:26,030
 +
feel that it is there and they they
 +
 +
826
 +
00:39:23,860 --> 00:39:27,620
 +
relate waking up in the middle of the
 +
 +
827
 +
00:39:26,030 --> 00:39:29,630
 +
night with somebody else's leg in bed
 +
 +
828
 +
00:39:27,620 --> 00:39:31,730
 +
with them and in fact they have a very
 +
 +
829
 +
00:39:29,630 --> 00:39:33,080
 +
hard time looking at their leg to see
 +
 +
830
 +
00:39:31,730 --> 00:39:35,210
 +
that it's actually attached to their
 +
 +
831
 +
00:39:33,080 --> 00:39:36,860
 +
body there's kind of a blur there
 +
 +
832
 +
00:39:35,210 --> 00:39:40,130
 +
because of course we see not what our
 +
 +
833
 +
00:39:36,860 --> 00:39:42,710
 +
eye sees but what our brain knows we see
 +
 +
834
 +
00:39:40,130 --> 00:39:46,220
 +
a simulation that is pieced together and
 +
 +
835
 +
00:39:42,710 --> 00:39:48,410
 +
our brain has had its knowledge removed
 +
 +
836
 +
00:39:46,220 --> 00:39:49,549
 +
that this limb is part of us and is very
 +
 +
837
 +
00:39:48,410 --> 00:39:51,799
 +
hard to actually
 +
 +
838
 +
00:39:49,549 --> 00:39:53,809
 +
what it what it actually yes so the
 +
 +
839
 +
00:39:51,799 --> 00:39:56,329
 +
kinesthetic sense is the one that places
 +
 +
840
 +
00:39:53,809 --> 00:39:59,289
 +
us in space it is the one that when we
 +
 +
841
 +
00:39:56,329 --> 00:40:01,459
 +
when removed is the most alienating
 +
 +
842
 +
00:39:59,289 --> 00:40:05,209
 +
contact one is the deepest one the
 +
 +
843
 +
00:40:01,459 --> 00:40:08,119
 +
oldest evolutionary one the tactile
 +
 +
844
 +
00:40:05,209 --> 00:40:10,099
 +
sense the image one has two main
 +
 +
845
 +
00:40:08,119 --> 00:40:13,009
 +
characteristics that are worth noting
 +
 +
846
 +
00:40:10,099 --> 00:40:15,529
 +
one is the ability to remember images
 +
 +
847
 +
00:40:13,009 --> 00:40:16,839
 +
after only a brief exposure is
 +
 +
848
 +
00:40:15,529 --> 00:40:19,929
 +
astounding
 +
 +
849
 +
00:40:16,839 --> 00:40:22,449
 +
hopper who is a psychologist in the 60s
 +
 +
850
 +
00:40:19,929 --> 00:40:25,669
 +
in several experiments where he showed
 +
 +
851
 +
00:40:22,449 --> 00:40:27,349
 +
2,500 photographs spaced 10 seconds of
 +
 +
852
 +
00:40:25,669 --> 00:40:31,219
 +
parts just a bunch of slide trays for
 +
 +
853
 +
00:40:27,349 --> 00:40:33,349
 +
hours until I seen 2,500 images all
 +
 +
854
 +
00:40:31,219 --> 00:40:36,739
 +
sorts of random pictures and he
 +
 +
855
 +
00:40:33,349 --> 00:40:38,839
 +
discovered after 30 days that all of the
 +
 +
856
 +
00:40:36,739 --> 00:40:42,169
 +
experimental subjects had a better than
 +
 +
857
 +
00:40:38,839 --> 00:40:44,169
 +
90% recall of those random slides and
 +
 +
858
 +
00:40:42,169 --> 00:40:46,459
 +
could even identify occluded parts on
 +
 +
859
 +
00:40:44,169 --> 00:40:47,899
 +
slides and so forth this is an
 +
 +
860
 +
00:40:46,459 --> 00:40:50,749
 +
experiment you can do yourself get a
 +
 +
861
 +
00:40:47,899 --> 00:40:54,199
 +
friend to manipulate a cable TV movie
 +
 +
862
 +
00:40:50,749 --> 00:40:57,199
 +
channel and have them dial into a movie
 +
 +
863
 +
00:40:54,199 --> 00:40:58,519
 +
you haven't seen for 18 years and see
 +
 +
864
 +
00:40:57,199 --> 00:41:00,139
 +
how many frames of the movie you have to
 +
 +
865
 +
00:40:58,519 --> 00:41:02,049
 +
see before you can identify it most
 +
 +
866
 +
00:41:00,139 --> 00:41:06,019
 +
people can do it in under 90 frames
 +
 +
867
 +
00:41:02,049 --> 00:41:07,459
 +
three seconds of exposure is quite
 +
 +
868
 +
00:41:06,019 --> 00:41:09,469
 +
enough for them to say yep I've seen
 +
 +
869
 +
00:41:07,459 --> 00:41:11,329
 +
this movie before and I know it's gonna
 +
 +
870
 +
00:41:09,469 --> 00:41:13,609
 +
here's what's gonna happen next I think
 +
 +
871
 +
00:41:11,329 --> 00:41:15,439
 +
about that means 18 years ago you saw
 +
 +
872
 +
00:41:13,609 --> 00:41:17,269
 +
this movie you're being put into the
 +
 +
873
 +
00:41:15,439 --> 00:41:18,949
 +
center of it without any preparation and
 +
 +
874
 +
00:41:17,269 --> 00:41:21,799
 +
stuff and for some reason your visual
 +
 +
875
 +
00:41:18,949 --> 00:41:24,139
 +
system can organize all of those pixels
 +
 +
876
 +
00:41:21,799 --> 00:41:26,299
 +
or what the pixels have turned into to
 +
 +
877
 +
00:41:24,139 --> 00:41:30,369
 +
be able to perform that recognition so
 +
 +
878
 +
00:41:26,299 --> 00:41:32,809
 +
it's striking recognition is also fast
 +
 +
879
 +
00:41:30,369 --> 00:41:36,019
 +
so you put a hundred pictures on a
 +
 +
880
 +
00:41:32,809 --> 00:41:37,999
 +
bulletin board you can find a specified
 +
 +
881
 +
00:41:36,019 --> 00:41:41,269
 +
picture four times as fast as you can
 +
 +
882
 +
00:41:37,999 --> 00:41:44,509
 +
find the word in a list of four on the
 +
 +
883
 +
00:41:41,269 --> 00:41:46,789
 +
list of 100 words so it's much more
 +
 +
884
 +
00:41:44,509 --> 00:41:48,199
 +
efficient and this recognition in
 +
 +
885
 +
00:41:46,789 --> 00:41:50,029
 +
comparison and stuff is done by a
 +
 +
886
 +
00:41:48,199 --> 00:41:52,759
 +
completely different part of the brain
 +
 +
887
 +
00:41:50,029 --> 00:41:57,880
 +
visual system is also the mentality that
 +
 +
888
 +
00:41:52,759 --> 00:41:57,880
 +
is least blocked because it's very
 +
 +
889
 +
00:41:58,260 --> 00:42:03,390
 +
modus operandi is to flit around and
 +
 +
890
 +
00:42:01,800 --> 00:42:05,190
 +
take in different parts not to become
 +
 +
891
 +
00:42:03,390 --> 00:42:07,740
 +
fixated in one thing in the visual scene
 +
 +
892
 +
00:42:05,190 --> 00:42:11,780
 +
so it's there are many things you can do
 +
 +
893
 +
00:42:07,740 --> 00:42:13,920
 +
that in which an access to visual scene
 +
 +
894
 +
00:42:11,780 --> 00:42:17,609
 +
augments the short-term memory and
 +
 +
895
 +
00:42:13,920 --> 00:42:20,810
 +
boosts creativity then finally the the
 +
 +
896
 +
00:42:17,609 --> 00:42:23,369
 +
facts and logic system which is what we
 +
 +
897
 +
00:42:20,810 --> 00:42:27,810
 +
concentrate on in school unfortunately
 +
 +
898
 +
00:42:23,369 --> 00:42:29,490
 +
in its strong in in many ways because of
 +
 +
899
 +
00:42:27,810 --> 00:42:32,760
 +
its abstractions but it's actually the
 +
 +
900
 +
00:42:29,490 --> 00:42:35,490
 +
weakest mechanism that we have it only
 +
 +
901
 +
00:42:32,760 --> 00:42:36,660
 +
works when there's a strong context so
 +
 +
902
 +
00:42:35,490 --> 00:42:39,240
 +
when we're thinking about these ideas
 +
 +
903
 +
00:42:36,660 --> 00:42:41,550
 +
but we had this basis from Brenner and
 +
 +
904
 +
00:42:39,240 --> 00:42:45,420
 +
it took us three or four years of
 +
 +
905
 +
00:42:41,550 --> 00:42:50,010
 +
experimentation to come up with this
 +
 +
906
 +
00:42:45,420 --> 00:42:51,990
 +
model that what we what we really should
 +
 +
907
 +
00:42:50,010 --> 00:42:53,760
 +
do this is something has been
 +
 +
908
 +
00:42:51,990 --> 00:42:55,500
 +
misunderstood about this user interface
 +
 +
909
 +
00:42:53,760 --> 00:42:58,080
 +
because it's always talked of as the
 +
 +
910
 +
00:42:55,500 --> 00:43:00,260
 +
graphical user interface but in fact it
 +
 +
911
 +
00:42:58,080 --> 00:43:04,050
 +
was an attempt to combine three
 +
 +
912
 +
00:43:00,260 --> 00:43:06,750
 +
mentalities into some kind of synergy so
 +
 +
913
 +
00:43:04,050 --> 00:43:09,510
 +
the doing with images make symbols says
 +
 +
914
 +
00:43:06,750 --> 00:43:11,760
 +
there's some kind of progression which
 +
 +
915
 +
00:43:09,510 --> 00:43:14,100
 +
Brenner identified as well that if you
 +
 +
916
 +
00:43:11,760 --> 00:43:18,660
 +
learn where you are learn things tact
 +
 +
917
 +
00:43:14,100 --> 00:43:20,340
 +
alee that gives you a much better set of
 +
 +
918
 +
00:43:18,660 --> 00:43:23,369
 +
hooks for your image system to put
 +
 +
919
 +
00:43:20,340 --> 00:43:25,800
 +
things on and then at the very end you
 +
 +
920
 +
00:43:23,369 --> 00:43:27,869
 +
have something to abstract that you want
 +
 +
921
 +
00:43:25,800 --> 00:43:30,359
 +
to princess if you want to learn physics
 +
 +
922
 +
00:43:27,869 --> 00:43:32,730
 +
the best way to learn it is body physics
 +
 +
923
 +
00:43:30,359 --> 00:43:34,619
 +
and visual physics before you start
 +
 +
924
 +
00:43:32,730 --> 00:43:38,250
 +
looking at calculus then you have
 +
 +
925
 +
00:43:34,619 --> 00:43:40,109
 +
intuition and Bruner claimed that and I
 +
 +
926
 +
00:43:38,250 --> 00:43:42,030
 +
believed him that what we call intuition
 +
 +
927
 +
00:43:40,109 --> 00:43:46,040
 +
is simply these mentalities that don't
 +
 +
928
 +
00:43:42,030 --> 00:43:49,050
 +
talk sort of vaguely whispering to us
 +
 +
929
 +
00:43:46,040 --> 00:43:50,340
 +
somewhat variant thoughts than the than
 +
 +
930
 +
00:43:49,050 --> 00:43:52,950
 +
the one that the one we call eye
 +
 +
931
 +
00:43:50,340 --> 00:43:57,810
 +
actually does so if you take those ideas
 +
 +
932
 +
00:43:52,950 --> 00:44:00,810
 +
you the way we picked and we didn't even
 +
 +
933
 +
00:43:57,810 --> 00:44:03,090
 +
like the mouse but as I said tablets
 +
 +
934
 +
00:44:00,810 --> 00:44:04,850
 +
were expensive and so we took angle
 +
 +
935
 +
00:44:03,090 --> 00:44:08,520
 +
Bart's Mouse and made a better one and
 +
 +
936
 +
00:44:04,850 --> 00:44:09,900
 +
let that be our pointing device if you
 +
 +
937
 +
00:44:08,520 --> 00:44:11,330
 +
believe what I'm saying about the user
 +
 +
938
 +
00:44:09,900 --> 00:44:12,890
 +
interface then
 +
 +
939
 +
00:44:11,330 --> 00:44:14,930
 +
would suggest number one that we should
 +
 +
940
 +
00:44:12,890 --> 00:44:16,340
 +
have better pointing devices and number
 +
 +
941
 +
00:44:14,930 --> 00:44:18,230
 +
two that the pointing devices should
 +
 +
942
 +
00:44:16,340 --> 00:44:20,330
 +
start to give us some force feedback
 +
 +
943
 +
00:44:18,230 --> 00:44:22,340
 +
back into our hand because then the
 +
 +
944
 +
00:44:20,330 --> 00:44:26,900
 +
kinesthetic contact would be much
 +
 +
945
 +
00:44:22,340 --> 00:44:29,330
 +
greater and the windows and icons are
 +
 +
946
 +
00:44:26,900 --> 00:44:32,770
 +
for the purposes I've just mentioned and
 +
 +
947
 +
00:44:29,330 --> 00:44:35,630
 +
we came up with small talk to be the
 +
 +
948
 +
00:44:32,770 --> 00:44:38,180
 +
underlying symbolic framework for all of
 +
 +
949
 +
00:44:35,630 --> 00:44:41,390
 +
this stuff this is why the on the
 +
 +
950
 +
00:44:38,180 --> 00:44:44,630
 +
Macintosh and the Macintosh imitators
 +
 +
951
 +
00:44:41,390 --> 00:44:46,250
 +
that the pointing scheme is not
 +
 +
952
 +
00:44:44,630 --> 00:44:49,640
 +
functional you don't give the command
 +
 +
953
 +
00:44:46,250 --> 00:44:51,620
 +
first and then be stuck in a mode and go
 +
 +
954
 +
00:44:49,640 --> 00:44:53,540
 +
out and then try and pick parameters for
 +
 +
955
 +
00:44:51,620 --> 00:44:56,510
 +
it what you do is you do it exactly the
 +
 +
956
 +
00:44:53,540 --> 00:44:57,950
 +
same order that the you do
 +
 +
957
 +
00:44:56,510 --> 00:44:59,540
 +
object-oriented programming and that is
 +
 +
958
 +
00:44:57,950 --> 00:45:02,510
 +
you designate the objects of interest
 +
 +
959
 +
00:44:59,540 --> 00:45:04,340
 +
first and then you send the messages so
 +
 +
960
 +
00:45:02,510 --> 00:45:07,490
 +
translate it to user interface it says
 +
 +
961
 +
00:45:04,340 --> 00:45:10,240
 +
selection first messages later and that
 +
 +
962
 +
00:45:07,490 --> 00:45:15,260
 +
gives you an approach to doing modeless
 +
 +
963
 +
00:45:10,240 --> 00:45:20,030
 +
interaction and here's an interesting
 +
 +
964
 +
00:45:15,260 --> 00:45:22,160
 +
idea that we implemented at Parc but in
 +
 +
965
 +
00:45:20,030 --> 00:45:24,410
 +
fact has never made its I just cannot
 +
 +
966
 +
00:45:22,160 --> 00:45:26,630
 +
believe that this idea has never made
 +
 +
967
 +
00:45:24,410 --> 00:45:28,640
 +
its way out into the out of the world
 +
 +
968
 +
00:45:26,630 --> 00:45:31,130
 +
because it is a direct implication of
 +
 +
969
 +
00:45:28,640 --> 00:45:32,750
 +
object-oriented design the implication
 +
 +
970
 +
00:45:31,130 --> 00:45:36,260
 +
of object-oriented design is not cutting
 +
 +
971
 +
00:45:32,750 --> 00:45:38,720
 +
and pasting that is absolutely at odds
 +
 +
972
 +
00:45:36,260 --> 00:45:41,510
 +
with an object-oriented user interface
 +
 +
973
 +
00:45:38,720 --> 00:45:42,800
 +
the this is the implication of
 +
 +
974
 +
00:45:41,510 --> 00:45:45,350
 +
object-oriented design this is a
 +
 +
975
 +
00:45:42,800 --> 00:45:48,530
 +
document that has a variety of different
 +
 +
976
 +
00:45:45,350 --> 00:45:50,540
 +
paragraph types in it one of them holds
 +
 +
977
 +
00:45:48,530 --> 00:45:53,060
 +
texts and other one holds pictures and
 +
 +
978
 +
00:45:50,540 --> 00:45:57,560
 +
these are as norm was pointing out these
 +
 +
979
 +
00:45:53,060 --> 00:45:59,540
 +
are the applications themselves so you
 +
 +
980
 +
00:45:57,560 --> 00:46:02,180
 +
don't go out to another app you don't go
 +
 +
981
 +
00:45:59,540 --> 00:46:03,620
 +
out in this system you didn't go out to
 +
 +
982
 +
00:46:02,180 --> 00:46:05,540
 +
a painting system to make this picture
 +
 +
983
 +
00:46:03,620 --> 00:46:06,920
 +
the painting was actually developed
 +
 +
984
 +
00:46:05,540 --> 00:46:09,260
 +
right in the context of the document
 +
 +
985
 +
00:46:06,920 --> 00:46:11,630
 +
because you just started a new paragraph
 +
 +
986
 +
00:46:09,260 --> 00:46:14,990
 +
type there and what you see here is a
 +
 +
987
 +
00:46:11,630 --> 00:46:19,280
 +
this is a page from the Lord of the
 +
 +
988
 +
00:46:14,990 --> 00:46:21,260
 +
Rings and the cursor has just gone into
 +
 +
989
 +
00:46:19,280 --> 00:46:23,450
 +
this picture and what has happened is
 +
 +
990
 +
00:46:21,260 --> 00:46:24,540
 +
it's sprouted a menu because it thinks
 +
 +
991
 +
00:46:23,450 --> 00:46:26,910
 +
you might want to edit it
 +
 +
992
 +
00:46:24,540 --> 00:46:30,390
 +
further so as you go into each each
 +
 +
993
 +
00:46:26,910 --> 00:46:34,170
 +
paragraph type it activates the sub
 +
 +
994
 +
00:46:30,390 --> 00:46:35,730
 +
activation if you the sub if you will so
 +
 +
995
 +
00:46:34,170 --> 00:46:38,190
 +
that all of the things that you're
 +
 +
996
 +
00:46:35,730 --> 00:46:40,980
 +
working on are in the context of your
 +
 +
997
 +
00:46:38,190 --> 00:46:42,690
 +
result it's the thing we call results
 +
 +
998
 +
00:46:40,980 --> 00:46:44,610
 +
mode interaction which i think is one of
 +
 +
999
 +
00:46:42,690 --> 00:46:46,230
 +
the most important aspects of WYSIWYG
 +
 +
1000
 +
00:46:44,610 --> 00:46:47,880
 +
that hasn't really made it into the
 +
 +
1001
 +
00:46:46,230 --> 00:46:50,220
 +
outside world always keep the user
 +
 +
1002
 +
00:46:47,880 --> 00:46:52,470
 +
working in the context of their results
 +
 +
1003
 +
00:46:50,220 --> 00:46:54,510
 +
that means they shouldn't go out other
 +
 +
1004
 +
00:46:52,470 --> 00:46:56,460
 +
applications to get values and bringing
 +
 +
1005
 +
00:46:54,510 --> 00:46:58,230
 +
them back they should be able to develop
 +
 +
1006
 +
00:46:56,460 --> 00:47:00,360
 +
those the values that they want from
 +
 +
1007
 +
00:46:58,230 --> 00:47:02,810
 +
within the final thing that they're
 +
 +
1008
 +
00:47:00,360 --> 00:47:02,810
 +
working on
 +
 +
1009
 +
00:47:03,410 --> 00:47:13,320
 +
now this next in order to talk about
 +
 +
1010
 +
00:47:09,810 --> 00:47:16,020
 +
this next next part of the talk a little
 +
 +
1011
 +
00:47:13,320 --> 00:47:18,660
 +
more context if we think about the two
 +
 +
1012
 +
00:47:16,020 --> 00:47:19,980
 +
ways that humans have extended
 +
 +
1013
 +
00:47:18,660 --> 00:47:23,100
 +
themselves over the last several hundred
 +
 +
1014
 +
00:47:19,980 --> 00:47:26,910
 +
thousand years one of them is by making
 +
 +
1015
 +
00:47:23,100 --> 00:47:29,100
 +
amplifying tools physical tools like the
 +
 +
1016
 +
00:47:26,910 --> 00:47:32,610
 +
lever and the wheel figurative tools
 +
 +
1017
 +
00:47:29,100 --> 00:47:35,400
 +
like mathematics like language itself
 +
 +
1018
 +
00:47:32,610 --> 00:47:38,280
 +
and so forth all these I think of as
 +
 +
1019
 +
00:47:35,400 --> 00:47:39,840
 +
being extensions of manipulation but
 +
 +
1020
 +
00:47:38,280 --> 00:47:43,620
 +
even mathematics which we think is
 +
 +
1021
 +
00:47:39,840 --> 00:47:45,480
 +
something fairly abstract is actually a
 +
 +
1022
 +
00:47:43,620 --> 00:47:47,130
 +
way of taking the hopelessly abstract
 +
 +
1023
 +
00:47:45,480 --> 00:47:49,350
 +
making it into concrete things that we
 +
 +
1024
 +
00:47:47,130 --> 00:47:51,000
 +
can then move around so all of these
 +
 +
1025
 +
00:47:49,350 --> 00:47:54,540
 +
things I think of as being manipulation
 +
 +
1026
 +
00:47:51,000 --> 00:47:56,640
 +
the N word is manipulation and the other
 +
 +
1027
 +
00:47:54,540 --> 00:47:58,770
 +
one and of course the Macintosh user
 +
 +
1028
 +
00:47:56,640 --> 00:48:01,350
 +
interface is that style
 +
 +
1029
 +
00:47:58,770 --> 00:48:03,600
 +
it's basically make everything into an
 +
 +
1030
 +
00:48:01,350 --> 00:48:06,390
 +
object and was norm mentioned if you
 +
 +
1031
 +
00:48:03,600 --> 00:48:08,490
 +
take things that are verbs in English
 +
 +
1032
 +
00:48:06,390 --> 00:48:09,990
 +
and make them into objects you have a
 +
 +
1033
 +
00:48:08,490 --> 00:48:11,970
 +
much better time of it because of course
 +
 +
1034
 +
00:48:09,990 --> 00:48:15,600
 +
the universe doesn't seem to have any
 +
 +
1035
 +
00:48:11,970 --> 00:48:17,700
 +
verbs right English has invented to talk
 +
 +
1036
 +
00:48:15,600 --> 00:48:21,900
 +
about horses and cows and plowed fields
 +
 +
1037
 +
00:48:17,700 --> 00:48:24,600
 +
and so forth and it didn't anticipate
 +
 +
1038
 +
00:48:21,900 --> 00:48:28,140
 +
modern physics which as far as we can
 +
 +
1039
 +
00:48:24,600 --> 00:48:30,680
 +
tell there are no abstract verbs out in
 +
 +
1040
 +
00:48:28,140 --> 00:48:33,150
 +
the universe instead what we have are
 +
 +
1041
 +
00:48:30,680 --> 00:48:36,660
 +
things that are much more like objects
 +
 +
1042
 +
00:48:33,150 --> 00:48:38,849
 +
in process so when I hear a sentence
 +
 +
1043
 +
00:48:36,660 --> 00:48:41,910
 +
like the clock runs down
 +
 +
1044
 +
00:48:38,849 --> 00:48:43,799
 +
or the boy runs down the only way I can
 +
 +
1045
 +
00:48:41,910 --> 00:48:46,140
 +
come up for any meaning of what runs
 +
 +
1046
 +
00:48:43,799 --> 00:48:48,630
 +
down actually is all about is by
 +
 +
1047
 +
00:48:46,140 --> 00:48:52,019
 +
thinking of it as an attribute of the
 +
 +
1048
 +
00:48:48,630 --> 00:48:53,699
 +
subject of the sentence okay and there
 +
 +
1049
 +
00:48:52,019 --> 00:48:55,319
 +
is enough metaphorical similarity
 +
 +
1050
 +
00:48:53,699 --> 00:48:57,539
 +
between the two items so that we can use
 +
 +
1051
 +
00:48:55,319 --> 00:48:59,189
 +
the same word but I always think of what
 +
 +
1052
 +
00:48:57,539 --> 00:49:01,289
 +
we think of as a verb as really an
 +
 +
1053
 +
00:48:59,189 --> 00:49:02,969
 +
attribute of some subject otherwise the
 +
 +
1054
 +
00:49:01,289 --> 00:49:06,329
 +
sentence wouldn't make any any real
 +
 +
1055
 +
00:49:02,969 --> 00:49:11,729
 +
sense and that is an accord with with
 +
 +
1056
 +
00:49:06,329 --> 00:49:13,319
 +
modern physics so the other way we've
 +
 +
1057
 +
00:49:11,729 --> 00:49:16,709
 +
extended ourselves over the years what I
 +
 +
1058
 +
00:49:13,319 --> 00:49:19,559
 +
call goal cloning goal cloning means
 +
 +
1059
 +
00:49:16,709 --> 00:49:21,449
 +
that we simply are able and willing to
 +
 +
1060
 +
00:49:19,559 --> 00:49:23,160
 +
go out and convince other people to take
 +
 +
1061
 +
00:49:21,449 --> 00:49:25,169
 +
on our own goal structures that's how we
 +
 +
1062
 +
00:49:23,160 --> 00:49:27,959
 +
get most things done so what's going on
 +
 +
1063
 +
00:49:25,169 --> 00:49:29,849
 +
here we have a group that has for the
 +
 +
1064
 +
00:49:27,959 --> 00:49:34,140
 +
moment has fewer goals than the sum of
 +
 +
1065
 +
00:49:29,849 --> 00:49:36,299
 +
its parts and companies are that way
 +
 +
1066
 +
00:49:34,140 --> 00:49:38,699
 +
countries cultures and so forth
 +
 +
1067
 +
00:49:36,299 --> 00:49:40,259
 +
sometimes the methods accrued as in the
 +
 +
1068
 +
00:49:38,699 --> 00:49:41,299
 +
way the Egyptians got the slaves to
 +
 +
1069
 +
00:49:40,259 --> 00:49:43,409
 +
build the pyramids
 +
 +
1070
 +
00:49:41,299 --> 00:49:46,650
 +
sometimes they're slicker like in the
 +
 +
1071
 +
00:49:43,409 --> 00:49:48,209
 +
modern television advertisements mumford
 +
 +
1072
 +
00:49:46,650 --> 00:49:50,069
 +
called this building a mega machine he
 +
 +
1073
 +
00:49:48,209 --> 00:49:53,369
 +
pointed out that over most of recorded
 +
 +
1074
 +
00:49:50,069 --> 00:49:56,249
 +
history most machines built by human
 +
 +
1075
 +
00:49:53,369 --> 00:49:59,489
 +
beings had human beings as parts and the
 +
 +
1076
 +
00:49:56,249 --> 00:50:01,769
 +
M word for this to me is management that
 +
 +
1077
 +
00:49:59,489 --> 00:50:05,309
 +
you manage that kind of process and we
 +
 +
1078
 +
00:50:01,769 --> 00:50:08,429
 +
manipulate objects and we're going to
 +
 +
1079
 +
00:50:05,309 --> 00:50:11,699
 +
see a transformation from actions having
 +
 +
1080
 +
00:50:08,429 --> 00:50:13,529
 +
to do with objects into agents which we
 +
 +
1081
 +
00:50:11,699 --> 00:50:16,529
 +
are going to manage now let me give you
 +
 +
1082
 +
00:50:13,529 --> 00:50:20,159
 +
the examples the first is sort of an
 +
 +
1083
 +
00:50:16,529 --> 00:50:21,869
 +
example of what you can do with a tool
 +
 +
1084
 +
00:50:20,159 --> 00:50:26,299
 +
and what a tool really means so let's
 +
 +
1085
 +
00:50:21,869 --> 00:50:26,299
 +
show the I want to show tape number two
 +
 +
1086
 +
00:50:45,470 --> 00:50:52,460
 +
this 2012 young girl who never lived
 +
 +
1087
 +
00:50:49,260 --> 00:50:55,230
 +
world not insulated by Akash
 +
 +
1088
 +
00:50:52,460 --> 00:50:56,849
 +
her mother's my aunt both are there and
 +
 +
1089
 +
00:50:55,230 --> 00:50:59,700
 +
father work at home if another father as
 +
 +
1090
 +
00:50:56,849 --> 00:51:02,760
 +
an act to her this is an acknowledge
 +
 +
1091
 +
00:50:59,700 --> 00:51:04,740
 +
that one around your warrant we do think
 +
 +
1092
 +
00:51:02,760 --> 00:51:07,710
 +
and some paper technology is what Israel
 +
 +
1093
 +
00:51:04,740 --> 00:51:14,430
 +
never see anything I fast use it yes in
 +
 +
1094
 +
00:51:07,710 --> 00:51:16,619
 +
computers I Karen told she injected and
 +
 +
1095
 +
00:51:14,430 --> 00:51:19,290
 +
I don't mean you sir today my did one
 +
 +
1096
 +
00:51:16,619 --> 00:51:23,250
 +
with her anis governing athlete for here
 +
 +
1097
 +
00:51:19,290 --> 00:51:24,480
 +
has been stolen disks even though the
 +
 +
1098
 +
00:51:23,250 --> 00:51:26,160
 +
belt is you inter favorite children I
 +
 +
1099
 +
00:51:24,480 --> 00:51:27,960
 +
never even it is about child anywhere
 +
 +
1100
 +
00:51:26,160 --> 00:51:30,599
 +
here than I was quite intrigued yeah
 +
 +
1101
 +
00:51:27,960 --> 00:51:34,829
 +
yeah here says doing visible you man
 +
 +
1102
 +
00:51:30,599 --> 00:51:39,240
 +
acne and of course you don't have to get
 +
 +
1103
 +
00:51:34,829 --> 00:51:40,800
 +
them out I thought well I'll go along
 +
 +
1104
 +
00:51:39,240 --> 00:51:42,089
 +
this is arrested but wasn't me impress
 +
 +
1105
 +
00:51:40,800 --> 00:51:43,530
 +
until I saw what havin a she wants a
 +
 +
1106
 +
00:51:42,089 --> 00:51:46,079
 +
fresh sheet paper so she used a closed
 +
 +
1107
 +
00:51:43,530 --> 00:51:54,619
 +
box in the window and user Ultron's the
 +
 +
1108
 +
00:51:46,079 --> 00:52:02,849
 +
pop up and goes to the plan F rating
 +
 +
1109
 +
00:51:54,619 --> 00:52:05,700
 +
okay implications here it's kind of
 +
 +
1110
 +
00:52:02,849 --> 00:52:08,309
 +
interesting it do the user interface at
 +
 +
1111
 +
00:52:05,700 --> 00:52:11,270
 +
all an accord with what's actually going
 +
 +
1112
 +
00:52:08,309 --> 00:52:13,680
 +
on inside of people's head then you get
 +
 +
1113
 +
00:52:11,270 --> 00:52:15,390
 +
something that can actually extend all
 +
 +
1114
 +
00:52:13,680 --> 00:52:18,660
 +
the way down into childhood and be to
 +
 +
1115
 +
00:52:15,390 --> 00:52:20,790
 +
them as fundamental as the marking
 +
 +
1116
 +
00:52:18,660 --> 00:52:22,140
 +
instruments that we grew up with and I
 +
 +
1117
 +
00:52:20,790 --> 00:52:25,339
 +
think this is very important because I
 +
 +
1118
 +
00:52:22,140 --> 00:52:28,319
 +
believe that the the children that can
 +
 +
1119
 +
00:52:25,339 --> 00:52:32,790
 +
form themselves by being around this
 +
 +
1120
 +
00:52:28,319 --> 00:52:35,160
 +
media as media are going to be thinking
 +
 +
1121
 +
00:52:32,790 --> 00:52:37,799
 +
and doing things very differently than
 +
 +
1122
 +
00:52:35,160 --> 00:52:42,270
 +
the way we do this is another example of
 +
 +
1123
 +
00:52:37,799 --> 00:52:44,069
 +
in the long line of how we act smarter
 +
 +
1124
 +
00:52:42,270 --> 00:52:46,470
 +
by changing our representations we go
 +
 +
1125
 +
00:52:44,069 --> 00:52:49,170
 +
from Roman numerals to Arabic we go from
 +
 +
1126
 +
00:52:46,470 --> 00:52:50,790
 +
Ptolemaic the Copernican every time we
 +
 +
1127
 +
00:52:49,170 --> 00:52:55,559
 +
change the representation system our
 +
 +
1128
 +
00:52:50,790 --> 00:52:57,750
 +
weak systems of logic are made that much
 +
 +
1129
 +
00:52:55,559 --> 00:53:00,690
 +
stronger and I think of user interface
 +
 +
1130
 +
00:52:57,750 --> 00:53:03,359
 +
main aim is not to present but to
 +
 +
1131
 +
00:53:00,690 --> 00:53:05,070
 +
represent and it's figuring out what
 +
 +
1132
 +
00:53:03,359 --> 00:53:06,900
 +
those representation schemes are going
 +
 +
1133
 +
00:53:05,070 --> 00:53:08,310
 +
to mean in terms of leverage they give
 +
 +
1134
 +
00:53:06,900 --> 00:53:10,560
 +
the user this is the most important
 +
 +
1135
 +
00:53:08,310 --> 00:53:12,180
 +
point that point has been missed in most
 +
 +
1136
 +
00:53:10,560 --> 00:53:14,099
 +
people who are doing user interfaces
 +
 +
1137
 +
00:53:12,180 --> 00:53:16,470
 +
today including a lot of the people at
 +
 +
1138
 +
00:53:14,099 --> 00:53:18,810
 +
Apple and certainly the the Apple
 +
 +
1139
 +
00:53:16,470 --> 00:53:20,430
 +
imitators because they think that the
 +
 +
1140
 +
00:53:18,810 --> 00:53:23,220
 +
whole job of the user interface is to
 +
 +
1141
 +
00:53:20,430 --> 00:53:25,050
 +
present old-style applications with
 +
 +
1142
 +
00:53:23,220 --> 00:53:26,730
 +
multiple windows and pull-downs and so
 +
 +
1143
 +
00:53:25,050 --> 00:53:27,240
 +
forth nothing can be further from the
 +
 +
1144
 +
00:53:26,730 --> 00:53:30,540
 +
truth
 +
 +
1145
 +
00:53:27,240 --> 00:53:32,190
 +
most important aspect of the multiple
 +
 +
1146
 +
00:53:30,540 --> 00:53:34,500
 +
windows stuff is not to have different
 +
 +
1147
 +
00:53:32,190 --> 00:53:35,970
 +
applications up there because as I
 +
 +
1148
 +
00:53:34,500 --> 00:53:37,920
 +
pointed out that's not the way you want
 +
 +
1149
 +
00:53:35,970 --> 00:53:39,150
 +
to go after different parts of the
 +
 +
1150
 +
00:53:37,920 --> 00:53:41,070
 +
things the most important thing for
 +
 +
1151
 +
00:53:39,150 --> 00:53:43,079
 +
having multiple windows is to be able to
 +
 +
1152
 +
00:53:41,070 --> 00:53:45,630
 +
present different points of view on the
 +
 +
1153
 +
00:53:43,079 --> 00:53:46,859
 +
same thing marvin minsky says you don't
 +
 +
1154
 +
00:53:45,630 --> 00:53:50,599
 +
understand something unless you
 +
 +
1155
 +
00:53:46,859 --> 00:53:53,250
 +
understand it in more than one way and
 +
 +
1156
 +
00:53:50,599 --> 00:53:55,589
 +
almost no one who uses these user
 +
 +
1157
 +
00:53:53,250 --> 00:53:57,060
 +
interfaces thinks to sit down even
 +
 +
1158
 +
00:53:55,589 --> 00:53:58,920
 +
though Apple showed them in the finder
 +
 +
1159
 +
00:53:57,060 --> 00:54:00,930
 +
that you want to have multiple views of
 +
 +
1160
 +
00:53:58,920 --> 00:54:02,430
 +
different kinds of things thinks of what
 +
 +
1161
 +
00:54:00,930 --> 00:54:03,960
 +
the leverage means is to be able to look
 +
 +
1162
 +
00:54:02,430 --> 00:54:05,420
 +
at the same kind of thing for multiple
 +
 +
1163
 +
00:54:03,960 --> 00:54:08,339
 +
points of view and what it means
 +
 +
1164
 +
00:54:05,420 --> 00:54:10,020
 +
pedagogically is once you've seen that
 +
 +
1165
 +
00:54:08,339 --> 00:54:11,490
 +
you realize that if I only know one
 +
 +
1166
 +
00:54:10,020 --> 00:54:13,890
 +
point of view about something I don't
 +
 +
1167
 +
00:54:11,490 --> 00:54:16,829
 +
know it in fact I'm likely to be misled
 +
 +
1168
 +
00:54:13,890 --> 00:54:21,060
 +
by it so now let's take a look at the
 +
 +
1169
 +
00:54:16,829 --> 00:54:22,619
 +
other way that's just starting to come
 +
 +
1170
 +
00:54:21,060 --> 00:54:25,349
 +
in and think of why it's going to why
 +
 +
1171
 +
00:54:22,619 --> 00:54:29,030
 +
are we going to have management of
 +
 +
1172
 +
00:54:25,349 --> 00:54:32,339
 +
semi-intelligent computer processes now
 +
 +
1173
 +
00:54:29,030 --> 00:54:35,369
 +
I think it's because we're gonna we're
 +
 +
1174
 +
00:54:32,339 --> 00:54:36,270
 +
starting to be networked up and there
 +
 +
1175
 +
00:54:35,369 --> 00:54:40,140
 +
are a whole bunch of things that
 +
 +
1176
 +
00:54:36,270 --> 00:54:41,640
 +
networks give you as opportunities that
 +
 +
1177
 +
00:54:40,140 --> 00:54:45,290
 +
we simply don't have the time and the
 +
 +
1178
 +
00:54:41,640 --> 00:54:47,849
 +
scope to deal with give you an example
 +
 +
1179
 +
00:54:45,290 --> 00:54:50,520
 +
when I was a kid I used to get questions
 +
 +
1180
 +
00:54:47,849 --> 00:54:52,020
 +
answered by going into the into a
 +
 +
1181
 +
00:54:50,520 --> 00:54:53,849
 +
library and once I was visiting some
 +
 +
1182
 +
00:54:52,020 --> 00:54:55,500
 +
friends in Washington DC and I had a
 +
 +
1183
 +
00:54:53,849 --> 00:54:57,660
 +
question so I demanded to be taken to
 +
 +
1184
 +
00:54:55,500 --> 00:55:00,690
 +
the library I'd heard there's a library
 +
 +
1185
 +
00:54:57,660 --> 00:55:02,910
 +
in the town and we got to the Library of
 +
 +
1186
 +
00:55:00,690 --> 00:55:04,560
 +
Congress and I discovered that the card
 +
 +
1187
 +
00:55:02,910 --> 00:55:06,480
 +
catalog which they didn't even allow you
 +
 +
1188
 +
00:55:04,560 --> 00:55:09,890
 +
to go in was much larger than my home
 +
 +
1189
 +
00:55:06,480 --> 00:55:11,900
 +
town library and instead of
 +
 +
1190
 +
00:55:09,890 --> 00:55:13,460
 +
having you do the browsing they had
 +
 +
1191
 +
00:55:11,900 --> 00:55:16,310
 +
people who would meet you at the door
 +
 +
1192
 +
00:55:13,460 --> 00:55:18,530
 +
their job was to absorb what your goals
 +
 +
1193
 +
00:55:16,310 --> 00:55:20,660
 +
were and then apply their expertise of
 +
 +
1194
 +
00:55:18,530 --> 00:55:22,880
 +
the facilities to that so they became
 +
 +
1195
 +
00:55:20,660 --> 00:55:26,660
 +
your agent and they even would energize
 +
 +
1196
 +
00:55:22,880 --> 00:55:28,670
 +
other agents so my my problem turned out
 +
 +
1197
 +
00:55:26,660 --> 00:55:31,220
 +
to be fairly interesting for one brought
 +
 +
1198
 +
00:55:28,670 --> 00:55:33,590
 +
in by a nine-year-old and so he had five
 +
 +
1199
 +
00:55:31,220 --> 00:55:36,890
 +
or six adults scurrying around trying to
 +
 +
1200
 +
00:55:33,590 --> 00:55:41,090
 +
find the answer to it and it left a
 +
 +
1201
 +
00:55:36,890 --> 00:55:43,550
 +
lasting impression and this notion of
 +
 +
1202
 +
00:55:41,090 --> 00:55:45,410
 +
agents is as old as computer interfaces
 +
 +
1203
 +
00:55:43,550 --> 00:55:48,050
 +
itself it goes back to McCarthy's
 +
 +
1204
 +
00:55:45,410 --> 00:55:49,880
 +
original advice taker paper it basically
 +
 +
1205
 +
00:55:48,050 --> 00:55:52,730
 +
says that when you have an information
 +
 +
1206
 +
00:55:49,880 --> 00:55:56,810
 +
utility there's going to be an
 +
 +
1207
 +
00:55:52,730 --> 00:55:59,270
 +
embarrassment of riches organized in a
 +
 +
1208
 +
00:55:56,810 --> 00:56:01,040
 +
way so that no human will have the time
 +
 +
1209
 +
00:55:59,270 --> 00:56:02,330
 +
to go after the stuff no human will be
 +
 +
1210
 +
00:56:01,040 --> 00:56:04,040
 +
able to remember all the things they
 +
 +
1211
 +
00:56:02,330 --> 00:56:06,950
 +
might be interested in so something else
 +
 +
1212
 +
00:56:04,040 --> 00:56:08,900
 +
has to go and do it now the problem with
 +
 +
1213
 +
00:56:06,950 --> 00:56:11,990
 +
agents in the user interface sense is
 +
 +
1214
 +
00:56:08,900 --> 00:56:14,810
 +
that AI has not progressed much since
 +
 +
1215
 +
00:56:11,990 --> 00:56:17,990
 +
1970 it was extremely difficult to build
 +
 +
1216
 +
00:56:14,810 --> 00:56:20,900
 +
an agent I have built several over the
 +
 +
1217
 +
00:56:17,990 --> 00:56:22,280
 +
last eight years or so just to see what
 +
 +
1218
 +
00:56:20,900 --> 00:56:23,900
 +
they would would be like and they're
 +
 +
1219
 +
00:56:22,280 --> 00:56:27,410
 +
excruciating to build one of them was a
 +
 +
1220
 +
00:56:23,900 --> 00:56:30,080
 +
system called News peak at MIT that
 +
 +
1221
 +
00:56:27,410 --> 00:56:31,940
 +
stays up all night trying to find for
 +
 +
1222
 +
00:56:30,080 --> 00:56:36,500
 +
you the newspaper you'd most like to
 +
 +
1223
 +
00:56:31,940 --> 00:56:41,540
 +
read at breakfast so it what it does is
 +
 +
1224
 +
00:56:36,500 --> 00:56:44,710
 +
to log in to a dozen or so information
 +
 +
1225
 +
00:56:41,540 --> 00:56:49,670
 +
sources New York Times Associated Press
 +
 +
1226
 +
00:56:44,710 --> 00:56:51,920
 +
Nexus Reuters looking for articles it
 +
 +
1227
 +
00:56:49,670 --> 00:56:53,360
 +
thinks you might be interested in it
 +
 +
1228
 +
00:56:51,920 --> 00:56:55,010
 +
reads the articles to the best of its
 +
 +
1229
 +
00:56:53,360 --> 00:56:57,770
 +
ability if it sees a famous name like
 +
 +
1230
 +
00:56:55,010 --> 00:56:59,900
 +
Mitterrand it has a video disc of 45,000
 +
 +
1231
 +
00:56:57,770 --> 00:57:01,880
 +
pictures of famous people it's like a
 +
 +
1232
 +
00:56:59,900 --> 00:57:03,920
 +
newspaper more get picks a picture of
 +
 +
1233
 +
00:57:01,880 --> 00:57:06,920
 +
MIT Iran did have there's a map disk
 +
 +
1234
 +
00:57:03,920 --> 00:57:09,020
 +
with 37,000 maps and so forth uses an
 +
 +
1235
 +
00:57:06,920 --> 00:57:10,970
 +
expert system to format the page and you
 +
 +
1236
 +
00:57:09,020 --> 00:57:14,680
 +
wind up the next morning with something
 +
 +
1237
 +
00:57:10,970 --> 00:57:14,680
 +
that is very much like USA Today
 +
 +
1238
 +
00:57:15,960 --> 00:57:21,540
 +
and in often with about the same amount
 +
 +
1239
 +
00:57:18,730 --> 00:57:21,540
 +
of content
 +
 +
1240
 +
00:57:22,150 --> 00:57:27,320
 +
but there are some differences because
 +
 +
1241
 +
00:57:24,320 --> 00:57:29,750
 +
the headline might say more fighting in
 +
 +
1242
 +
00:57:27,320 --> 00:57:31,610
 +
Afghanistan or it might just as well say
 +
 +
1243
 +
00:57:29,750 --> 00:57:33,920
 +
your three o'clock meeting is cancelled
 +
 +
1244
 +
00:57:31,610 --> 00:57:35,990
 +
today because one of the 12 news sources
 +
 +
1245
 +
00:57:33,920 --> 00:57:38,030
 +
it logs into is your own electronic mail
 +
 +
1246
 +
00:57:35,990 --> 00:57:39,560
 +
it reads it while you sleep and if it
 +
 +
1247
 +
00:57:38,030 --> 00:57:41,630
 +
spots to anything that looks important
 +
 +
1248
 +
00:57:39,560 --> 00:57:43,190
 +
it puts that in the newspaper the next
 +
 +
1249
 +
00:57:41,630 --> 00:57:46,730
 +
morning a sidebar might say your
 +
 +
1250
 +
00:57:43,190 --> 00:57:48,920
 +
children slept well last night because
 +
 +
1251
 +
00:57:46,730 --> 00:57:51,230
 +
remember what we call news is entirely
 +
 +
1252
 +
00:57:48,920 --> 00:57:55,520
 +
dependent on the communications system
 +
 +
1253
 +
00:57:51,230 --> 00:57:57,620
 +
that we have in the late 1700s the news
 +
 +
1254
 +
00:57:55,520 --> 00:57:59,810
 +
was all about depth the Federalist
 +
 +
1255
 +
00:57:57,620 --> 00:58:01,490
 +
Papers were published in the newspapers
 +
 +
1256
 +
00:57:59,810 --> 00:58:05,360
 +
of New York City something would be
 +
 +
1257
 +
00:58:01,490 --> 00:58:07,340
 +
unthinkable today actual essays but
 +
 +
1258
 +
00:58:05,360 --> 00:58:09,680
 +
people had time to read them when the
 +
 +
1259
 +
00:58:07,340 --> 00:58:11,960
 +
telegraph got invented all that went
 +
 +
1260
 +
00:58:09,680 --> 00:58:13,670
 +
away because they couldn't possibly have
 +
 +
1261
 +
00:58:11,960 --> 00:58:15,290
 +
you reading anything long that had to be
 +
 +
1262
 +
00:58:13,670 --> 00:58:16,790
 +
thought about and understood because
 +
 +
1263
 +
00:58:15,290 --> 00:58:20,030
 +
you'd still be working on it when the
 +
 +
1264
 +
00:58:16,790 --> 00:58:22,160
 +
next news came along so currency and as
 +
 +
1265
 +
00:58:20,030 --> 00:58:24,950
 +
McLuhan predicted as soon as you start
 +
 +
1266
 +
00:58:22,160 --> 00:58:28,130
 +
hooking up news to electronic media you
 +
 +
1267
 +
00:58:24,950 --> 00:58:31,670
 +
start getting fragmentation so that's
 +
 +
1268
 +
00:58:28,130 --> 00:58:33,560
 +
the idea of an agent that newspaper is
 +
 +
1269
 +
00:58:31,670 --> 00:58:35,900
 +
something that people would like to have
 +
 +
1270
 +
00:58:33,560 --> 00:58:36,800
 +
but nobody is going to sit up doing it
 +
 +
1271
 +
00:58:35,900 --> 00:58:40,400
 +
even with the best
 +
 +
1272
 +
00:58:36,800 --> 00:58:41,780
 +
sequel type database and so forth
 +
 +
1273
 +
00:58:40,400 --> 00:58:43,300
 +
because it's very hard to even remember
 +
 +
1274
 +
00:58:41,780 --> 00:58:46,310
 +
all the things that you're interested in
 +
 +
1275
 +
00:58:43,300 --> 00:58:48,980
 +
so the agents also are going to be
 +
 +
1276
 +
00:58:46,310 --> 00:58:50,420
 +
somewhat anthropomorphic this is a real
 +
 +
1277
 +
00:58:48,980 --> 00:58:53,150
 +
problem because they aren't going to be
 +
 +
1278
 +
00:58:50,420 --> 00:58:54,920
 +
very smart when we start off we have to
 +
 +
1279
 +
00:58:53,150 --> 00:58:59,390
 +
in the user interface design somehow
 +
 +
1280
 +
00:58:54,920 --> 00:59:03,170
 +
subliminal ii project exactly how smart
 +
 +
1281
 +
00:58:59,390 --> 00:59:05,600
 +
they are and still make the user now we
 +
 +
1282
 +
00:59:03,170 --> 00:59:07,250
 +
want something like a puppy dog that
 +
 +
1283
 +
00:59:05,600 --> 00:59:08,570
 +
goes out and gets your newspaper most of
 +
 +
1284
 +
00:59:07,250 --> 00:59:13,580
 +
the time it only occasionally makes a
 +
 +
1285
 +
00:59:08,570 --> 00:59:17,660
 +
mess on the floor so let's let's take a
 +
 +
1286
 +
00:59:13,580 --> 00:59:19,640
 +
look at this is a video we made for John
 +
 +
1287
 +
00:59:17,660 --> 00:59:22,520
 +
Scully and we start off at the 1988
 +
 +
1288
 +
00:59:19,640 --> 00:59:25,730
 +
Winter Olympics in HyperCard HyperCard
 +
 +
1289
 +
00:59:22,520 --> 00:59:27,710
 +
stack that ABC television used to keep
 +
 +
1290
 +
00:59:25,730 --> 00:59:29,570
 +
track of things and then we project four
 +
 +
1291
 +
00:59:27,710 --> 00:59:31,940
 +
years into the future and see what
 +
 +
1292
 +
00:59:29,570 --> 00:59:34,280
 +
things might look like in 1992 with the
 +
 +
1293
 +
00:59:31,940 --> 00:59:36,770
 +
user interface that is still mostly
 +
 +
1294
 +
00:59:34,280 --> 00:59:39,050
 +
manipulative but has a little bit of the
 +
 +
1295
 +
00:59:36,770 --> 01:00:03,710
 +
of the management aspect to it let's
 +
 +
1296
 +
00:59:39,050 --> 01:00:07,160
 +
roll tape number three please so much
 +
 +
1297
 +
01:00:03,710 --> 01:00:10,340
 +
this Bob's math Calgary if you click on
 +
 +
1298
 +
01:00:07,160 --> 01:00:13,700
 +
any Olympic site you see a list of the
 +
 +
1299
 +
01:00:10,340 --> 01:00:15,470
 +
events scheduled for that site you can
 +
 +
1300
 +
01:00:13,700 --> 01:00:18,230
 +
get more information about any event by
 +
 +
1301
 +
01:00:15,470 --> 01:00:22,310
 +
clicking on the name let's say ski
 +
 +
1302
 +
01:00:18,230 --> 01:00:26,300
 +
jumping background maybe you can brag to
 +
 +
1303
 +
01:00:22,310 --> 01:00:28,580
 +
the last or the main map and then
 +
 +
1304
 +
01:00:26,300 --> 01:00:31,070
 +
continue exploring here at the
 +
 +
1305
 +
01:00:28,580 --> 01:00:33,170
 +
University of Calgary I see the figure
 +
 +
1306
 +
01:00:31,070 --> 01:00:35,690
 +
skating events are running now that's a
 +
 +
1307
 +
01:00:33,170 --> 01:00:38,630
 +
sport my family's interested in so I'd
 +
 +
1308
 +
01:00:35,690 --> 01:00:41,240
 +
like to learn more about it the previous
 +
 +
1309
 +
01:00:38,630 --> 01:00:44,300
 +
Winter Olympics took place at Sarajevo
 +
 +
1310
 +
01:00:41,240 --> 01:00:46,210
 +
in 1984 when Macintosh was barely a
 +
 +
1311
 +
01:00:44,300 --> 01:00:48,620
 +
month old
 +
 +
1312
 +
01:00:46,210 --> 01:00:50,240
 +
imagine what Macintosh together with
 +
 +
1313
 +
01:00:48,620 --> 01:00:52,280
 +
hyper card will allow us to do in
 +
 +
1314
 +
01:00:50,240 --> 01:00:54,300
 +
another four years by the time of the
 +
 +
1315
 +
01:00:52,280 --> 01:00:56,880
 +
next Olympics
 +
 +
1316
 +
01:00:54,300 --> 01:00:59,519
 +
[Music]
 +
 +
1317
 +
01:00:56,880 --> 01:01:01,499
 +
we will require powerful techniques to
 +
 +
1318
 +
01:00:59,519 --> 01:01:06,140
 +
help us find and manipulate volumes of
 +
 +
1319
 +
01:01:01,499 --> 01:01:09,239
 +
images text music video and applications
 +
 +
1320
 +
01:01:06,140 --> 01:01:11,880
 +
we might by that time see the beginnings
 +
 +
1321
 +
01:01:09,239 --> 01:01:16,099
 +
of intelligent agents or perhaps by then
 +
 +
1322
 +
01:01:11,880 --> 01:01:19,920
 +
they'll be only semi-intelligent Phil
 +
 +
1323
 +
01:01:16,099 --> 01:01:22,229
 +
today is March 3rd 1992 you have several
 +
 +
1324
 +
01:01:19,920 --> 01:01:22,829
 +
data service articles ready and you have
 +
 +
1325
 +
01:01:22,229 --> 01:01:26,099
 +
ma'am
 +
 +
1326
 +
01:01:22,829 --> 01:01:31,009
 +
this is my agent I call him Phil Phil
 +
 +
1327
 +
01:01:26,099 --> 01:01:31,009
 +
open the 1992 Olympic stack
 +
 +
1328
 +
01:01:42,150 --> 01:01:48,570
 +
the 1992 Winter Games are being held in
 +
 +
1329
 +
01:01:45,390 --> 01:01:52,260
 +
Alba V friends let's get a closer look
 +
 +
1330
 +
01:01:48,570 --> 01:01:56,630
 +
at the town let's look at ski jumping
 +
 +
1331
 +
01:01:52,260 --> 01:01:56,630
 +
again we can play the video
 +
 +
1332
 +
01:01:59,070 --> 01:02:03,530
 +
[Music]
 +
 +
1333
 +
01:02:01,430 --> 01:02:06,590
 +
we could learn more about this sport or
 +
 +
1334
 +
01:02:03,530 --> 01:02:08,890
 +
go back to the math let's look at figure
 +
 +
1335
 +
01:02:06,590 --> 01:02:08,890
 +
skating
 +
 +
1336
 +
01:02:09,280 --> 01:02:17,380
 +
I'd like to see who's on the USA team
 +
 +
1337
 +
01:02:11,560 --> 01:02:20,550
 +
and I'd like to see Debbie Thomas I'm
 +
 +
1338
 +
01:02:17,380 --> 01:02:20,550
 +
looking for a spin
 +
 +
1339
 +
01:02:21,690 --> 01:02:33,900
 +
like that let's go back alan kay was
 +
 +
1340
 +
01:02:31,950 --> 01:02:35,970
 +
explaining why skaters go faster as they
 +
 +
1341
 +
01:02:33,900 --> 01:02:38,069
 +
tuck their arms in he showed me a
 +
 +
1342
 +
01:02:35,970 --> 01:02:42,690
 +
simulation to illustrate the underlying
 +
 +
1343
 +
01:02:38,069 --> 01:02:46,910
 +
principles let me call that up Phil add
 +
 +
1344
 +
01:02:42,690 --> 01:02:51,660
 +
the physics draw toolbox which tool box
 +
 +
1345
 +
01:02:46,910 --> 01:02:55,710
 +
physics draw let's see I'll need a
 +
 +
1346
 +
01:02:51,660 --> 01:02:59,940
 +
counter we can make the window
 +
 +
1347
 +
01:02:55,710 --> 01:03:06,960
 +
translucent let's step through the spin
 +
 +
1348
 +
01:02:59,940 --> 01:03:10,559
 +
and count the frames okay that's one
 +
 +
1349
 +
01:03:06,960 --> 01:03:12,450
 +
complete rotation now I'll draw a model
 +
 +
1350
 +
01:03:10,559 --> 01:03:21,230
 +
representing a skater with her arms
 +
 +
1351
 +
01:03:12,450 --> 01:03:29,660
 +
extended select the center axis and
 +
 +
1352
 +
01:03:21,230 --> 01:03:31,920
 +
rotate how fast to rotate this speed and
 +
 +
1353
 +
01:03:29,660 --> 01:03:36,150
 +
here's an overhead view of the figure
 +
 +
1354
 +
01:03:31,920 --> 01:03:38,430
 +
let's hold on to that earlier Allan and
 +
 +
1355
 +
01:03:36,150 --> 01:03:40,260
 +
I created a similar model where the
 +
 +
1356
 +
01:03:38,430 --> 01:03:42,740
 +
skater has tucked her arms in and
 +
 +
1357
 +
01:03:40,260 --> 01:03:48,270
 +
appears to be spinning faster Phil
 +
 +
1358
 +
01:03:42,740 --> 01:03:50,869
 +
display skater a model 1 let's compare
 +
 +
1359
 +
01:03:48,270 --> 01:03:50,869
 +
these two models
 +
 +
1360
 +
01:03:54,400 --> 01:04:02,150
 +
the small one the one with the shorter
 +
 +
1361
 +
01:03:57,230 --> 01:04:04,970
 +
radius seems to run faster but let's
 +
 +
1362
 +
01:04:02,150 --> 01:04:11,210
 +
check that I'll set them both to run for
 +
 +
1363
 +
01:04:04,970 --> 01:04:13,790
 +
three tenths of a second a small one
 +
 +
1364
 +
01:04:11,210 --> 01:04:15,560
 +
turns farther around the circle but
 +
 +
1365
 +
01:04:13,790 --> 01:04:18,200
 +
let's see how much distance is actually
 +
 +
1366
 +
01:04:15,560 --> 01:04:21,560
 +
covered I'll straighten out the curved
 +
 +
1367
 +
01:04:18,200 --> 01:04:22,420
 +
paths to measure them both paths are the
 +
 +
1368
 +
01:04:21,560 --> 01:04:25,430
 +
same length
 +
 +
1369
 +
01:04:22,420 --> 01:04:28,609
 +
even though spin increases the distance
 +
 +
1370
 +
01:04:25,430 --> 01:04:31,580
 +
traveled is the same the luge event is
 +
 +
1371
 +
01:04:28,609 --> 01:04:33,890
 +
about to begin show it live or record it
 +
 +
1372
 +
01:04:31,580 --> 01:04:37,130
 +
no I'm not interested in luge
 +
 +
1373
 +
01:04:33,890 --> 01:04:41,630
 +
I don't understand I like skating
 +
 +
1374
 +
01:04:37,130 --> 01:04:45,700
 +
I don't understand don't show luge don't
 +
 +
1375
 +
01:04:41,630 --> 01:04:48,770
 +
record it I understand
 +
 +
1376
 +
01:04:45,700 --> 01:04:58,540
 +
I'd like to say this simulation Phil
 +
 +
1377
 +
01:04:48,770 --> 01:04:58,540
 +
start a link Phil show the stack map
 +
 +
1378
 +
01:05:01,300 --> 01:05:14,440
 +
too far okay show recent link to this
 +
 +
1379
 +
01:05:10,240 --> 01:05:17,220
 +
background now anytime I'm on a skating
 +
 +
1380
 +
01:05:14,440 --> 01:05:19,990
 +
card I can link to my physics simulation
 +
 +
1381
 +
01:05:17,220 --> 01:05:23,470
 +
by the time the Winter Olympics come to
 +
 +
1382
 +
01:05:19,990 --> 01:05:25,780
 +
a birdie in 1992 CD media will be well
 +
 +
1383
 +
01:05:23,470 --> 01:05:27,910
 +
established each of us will be able to
 +
 +
1384
 +
01:05:25,780 --> 01:05:30,790
 +
choose our own path through Worlds of
 +
 +
1385
 +
01:05:27,910 --> 01:05:32,380
 +
entertainment and information and tools
 +
 +
1386
 +
01:05:30,790 --> 01:05:34,510
 +
like those that we've been seeing will
 +
 +
1387
 +
01:05:32,380 --> 01:05:37,780
 +
allow us to integrate the full range of
 +
 +
1388
 +
01:05:34,510 --> 01:05:41,050
 +
sound video and text information this
 +
 +
1389
 +
01:05:37,780 --> 01:05:43,060
 +
demo ends here John should I show the
 +
 +
1390
 +
01:05:41,050 --> 01:05:51,930
 +
pre-recorded speech or will you give it
 +
 +
1391
 +
01:05:43,060 --> 01:05:55,330
 +
live humane things to think about it
 +
 +
1392
 +
01:05:51,930 --> 01:05:57,190
 +
here are that although we are of course
 +
 +
1393
 +
01:05:55,330 --> 01:05:59,710
 +
going to go to hypermedia and it's going
 +
 +
1394
 +
01:05:57,190 --> 01:06:02,380
 +
to be object-oriented it's really not
 +
 +
1395
 +
01:05:59,710 --> 01:06:04,330
 +
going to be complete until the user is
 +
 +
1396
 +
01:06:02,380 --> 01:06:07,000
 +
able to do active thought experiments
 +
 +
1397
 +
01:06:04,330 --> 01:06:09,910
 +
experiments most hypermedia up till now
 +
 +
1398
 +
01:06:07,000 --> 01:06:13,720
 +
is assumes that the user is going to
 +
 +
1399
 +
01:06:09,910 --> 01:06:15,040
 +
navigate around stuff that may be active
 +
 +
1400
 +
01:06:13,720 --> 01:06:17,620
 +
but the user isn't going to be able to
 +
 +
1401
 +
01:06:15,040 --> 01:06:21,400
 +
do a lot of creation themselves this is
 +
 +
1402
 +
01:06:17,620 --> 01:06:22,870
 +
a critical thing to to realize and that
 +
 +
1403
 +
01:06:21,400 --> 01:06:24,640
 +
the agents of the future are going to be
 +
 +
1404
 +
01:06:22,870 --> 01:06:26,230
 +
helpful mainly for their ability to work
 +
 +
1405
 +
01:06:24,640 --> 01:06:28,630
 +
away from us not from the amount of
 +
 +
1406
 +
01:06:26,230 --> 01:06:30,820
 +
comprehensiveness that they have the
 +
 +
1407
 +
01:06:28,630 --> 01:06:33,150
 +
best object we have for exploring this
 +
 +
1408
 +
01:06:30,820 --> 01:06:37,560
 +
new area is the one between our ears
 +
 +
1409
 +
01:06:33,150 --> 01:06:37,560
 +
providing its active thank you
 +
 +
1410
 +
01:06:56,700 --> 01:07:08,520
 +
tell some questions yes yes
 +
 +
1411
 +
01:07:15,800 --> 01:07:21,980
 +
well you can do that but just consider
 +
 +
1412
 +
01:07:20,060 --> 01:07:23,600
 +
the problem of a system file that some
 +
 +
1413
 +
01:07:21,980 --> 01:07:27,140
 +
people have access to and other people
 +
 +
1414
 +
01:07:23,600 --> 01:07:29,420
 +
don't have access to all right there's a
 +
 +
1415
 +
01:07:27,140 --> 01:07:30,860
 +
perfect example of when somebody's what
 +
 +
1416
 +
01:07:29,420 --> 01:07:32,750
 +
you really like to have is when somebody
 +
 +
1417
 +
01:07:30,860 --> 01:07:35,390
 +
sends a message not a command but a
 +
 +
1418
 +
01:07:32,750 --> 01:07:38,060
 +
message to that system file you'd like
 +
 +
1419
 +
01:07:35,390 --> 01:07:39,740
 +
to have some way number one of checking
 +
 +
1420
 +
01:07:38,060 --> 01:07:42,110
 +
the access privileges before you do
 +
 +
1421
 +
01:07:39,740 --> 01:07:45,280
 +
anything and number two and you'd like
 +
 +
1422
 +
01:07:42,110 --> 01:07:47,810
 +
to be able to do that checking quickly
 +
 +
1423
 +
01:07:45,280 --> 01:07:50,180
 +
okay but even being able to do the first
 +
 +
1424
 +
01:07:47,810 --> 01:07:51,380
 +
would be good whereas in the current
 +
 +
1425
 +
01:07:50,180 --> 01:07:53,000
 +
things that are called object oriented
 +
 +
1426
 +
01:07:51,380 --> 01:07:54,470
 +
languages you are already committed
 +
 +
1427
 +
01:07:53,000 --> 01:07:56,570
 +
you've already formed an activation
 +
 +
1428
 +
01:07:54,470 --> 01:07:59,180
 +
record because it's a procedure call you
 +
 +
1429
 +
01:07:56,570 --> 01:08:02,330
 +
are already inside the method and thus
 +
 +
1430
 +
01:07:59,180 --> 01:08:08,030
 +
each method that is sensitive has to
 +
 +
1431
 +
01:08:02,330 --> 01:08:10,640
 +
have the responsibility access you can
 +
 +
1432
 +
01:08:08,030 --> 01:08:11,960
 +
put that in you can put all through a
 +
 +
1433
 +
01:08:10,640 --> 01:08:14,660
 +
procedure and you have to remember the
 +
 +
1434
 +
01:08:11,960 --> 01:08:18,200
 +
next time you do that it has this
 +
 +
1435
 +
01:08:14,660 --> 01:08:21,260
 +
problem that isn't all I mean languages
 +
 +
1436
 +
01:08:18,200 --> 01:08:26,150
 +
also allow your things that allow you
 +
 +
1437
 +
01:08:21,260 --> 01:08:29,420
 +
access this way I'll talk allows you to
 +
 +
1438
 +
01:08:26,150 --> 01:08:33,650
 +
turn a thing called a block that block
 +
 +
1439
 +
01:08:29,420 --> 01:08:37,130
 +
is a particular kind of object that it's
 +
 +
1440
 +
01:08:33,650 --> 01:08:39,500
 +
a block context actually that by virtue
 +
 +
1441
 +
01:08:37,130 --> 01:08:41,299
 +
of what it is it has access to some of
 +
 +
1442
 +
01:08:39,500 --> 01:08:45,529
 +
the internal variables of the object and
 +
 +
1443
 +
01:08:41,299 --> 01:08:47,960
 +
so it's you can create Trojan horses and
 +
 +
1444
 +
01:08:45,529 --> 01:08:50,480
 +
so forth and but basically what happened
 +
 +
1445
 +
01:08:47,960 --> 01:08:52,370
 +
is when they were implementing the newer
 +
 +
1446
 +
01:08:50,480 --> 01:08:53,720
 +
versions of small talk some of the older
 +
 +
1447
 +
01:08:52,370 --> 01:08:56,420
 +
people who worked on it didn't work on
 +
 +
1448
 +
01:08:53,720 --> 01:08:57,859
 +
the newer ones number one and number two
 +
 +
1449
 +
01:08:56,420 --> 01:09:00,500
 +
most of the newer people had never done
 +
 +
1450
 +
01:08:57,859 --> 01:09:02,330
 +
any operating system type stuff and so
 +
 +
1451
 +
01:09:00,500 --> 01:09:06,109
 +
the operating system type stuff that was
 +
 +
1452
 +
01:09:02,330 --> 01:09:08,240
 +
in the original one didn't get put in as
 +
 +
1453
 +
01:09:06,109 --> 01:09:10,250
 +
the later the later small talk went back
 +
 +
1454
 +
01:09:08,240 --> 01:09:12,680
 +
to be looking a lot more like similar
 +
 +
1455
 +
01:09:10,250 --> 01:09:15,049
 +
than the original one did the original
 +
 +
1456
 +
01:09:12,680 --> 01:09:17,630
 +
one when you sent a message you weren't
 +
 +
1457
 +
01:09:15,049 --> 01:09:20,720
 +
calling a procedure at all all you were
 +
 +
1458
 +
01:09:17,630 --> 01:09:22,100
 +
doing is knocking on it and saying hey
 +
 +
1459
 +
01:09:20,720 --> 01:09:23,630
 +
you know it's the equivalent of the
 +
 +
1460
 +
01:09:22,100 --> 01:09:24,950
 +
postman leaving a thing that says
 +
 +
1461
 +
01:09:23,630 --> 01:09:26,330
 +
there's a message waiting for you down
 +
 +
1462
 +
01:09:24,950 --> 01:09:27,339
 +
at the post office if you would care to
 +
 +
1463
 +
01:09:26,330 --> 01:09:30,250
 +
get it
 +
 +
1464
 +
01:09:27,339 --> 01:09:32,619
 +
it was that arms off relationship that
 +
 +
1465
 +
01:09:30,250 --> 01:09:35,259
 +
small talk 72 had that allows you to
 +
 +
1466
 +
01:09:32,619 --> 01:09:37,440
 +
implement all the operating system
 +
 +
1467
 +
01:09:35,259 --> 01:09:40,599
 +
protection ideas that are important and
 +
 +
1468
 +
01:09:37,440 --> 01:09:43,239
 +
I think that the the ability to
 +
 +
1469
 +
01:09:40,599 --> 01:09:44,799
 +
implement large systems in
 +
 +
1470
 +
01:09:43,239 --> 01:09:46,389
 +
object-oriented languages as well as
 +
 +
1471
 +
01:09:44,799 --> 01:09:48,520
 +
being a being able to implement them
 +
 +
1472
 +
01:09:46,389 --> 01:09:51,219
 +
conveniently is going to have a lot to
 +
 +
1473
 +
01:09:48,520 --> 01:09:53,739
 +
do about how much protection integrity
 +
 +
1474
 +
01:09:51,219 --> 01:09:55,119
 +
there actually is it's easy to do you
 +
 +
1475
 +
01:09:53,739 --> 01:10:01,800
 +
just have to know that it's important
 +
 +
1476
 +
01:09:55,119 --> 01:10:01,800
 +
and put it in the in the system yes
 +
 +
1477
 +
01:10:19,170 --> 01:10:21,830
 +
right
 +
 +
1478
 +
01:10:23,420 --> 01:10:31,250
 +
yeah well I think again I had a there's
 +
 +
1479
 +
01:10:28,250 --> 01:10:33,050
 +
a little technical part of the talk that
 +
 +
1480
 +
01:10:31,250 --> 01:10:35,480
 +
I left out that but I think that one of
 +
 +
1481
 +
01:10:33,050 --> 01:10:36,440
 +
the things that's going to happen is
 +
 +
1482
 +
01:10:35,480 --> 01:10:38,540
 +
that the way we're thinking about
 +
 +
1483
 +
01:10:36,440 --> 01:10:44,150
 +
objects now just even as people are
 +
 +
1484
 +
01:10:38,540 --> 01:10:45,650
 +
struggling to use them one of the when
 +
 +
1485
 +
01:10:44,150 --> 01:10:48,310
 +
you look at object based systems today
 +
 +
1486
 +
01:10:45,650 --> 01:10:50,360
 +
they're mainly modular in terms of state
 +
 +
1487
 +
01:10:48,310 --> 01:10:53,179
 +
right the state is sealed off and
 +
 +
1488
 +
01:10:50,360 --> 01:10:55,520
 +
sometimes it's not even state because
 +
 +
1489
 +
01:10:53,179 --> 01:10:57,350
 +
you can have procedural interpretations
 +
 +
1490
 +
01:10:55,520 --> 01:10:59,960
 +
for things and the thing that's not
 +
 +
1491
 +
01:10:57,350 --> 01:11:02,929
 +
modular in object-oriented systems is
 +
 +
1492
 +
01:10:59,960 --> 01:11:04,880
 +
control in fact sometimes gets worse
 +
 +
1493
 +
01:11:02,929 --> 01:11:07,940
 +
because you can have what's called a
 +
 +
1494
 +
01:11:04,880 --> 01:11:09,710
 +
buck passing theory of control where you
 +
 +
1495
 +
01:11:07,940 --> 01:11:11,119
 +
constantly pass and control all over the
 +
 +
1496
 +
01:11:09,710 --> 01:11:12,980
 +
place and eventually it gets to somebody
 +
 +
1497
 +
01:11:11,119 --> 01:11:16,850
 +
you can handle it and they handle it and
 +
 +
1498
 +
01:11:12,980 --> 01:11:19,659
 +
it's both through inheritance and also
 +
 +
1499
 +
01:11:16,850 --> 01:11:23,330
 +
through containment that that happens
 +
 +
1500
 +
01:11:19,659 --> 01:11:24,590
 +
when you when you start looking in the
 +
 +
1501
 +
01:11:23,330 --> 01:11:26,780
 +
system that's been implemented that way
 +
 +
1502
 +
01:11:24,590 --> 01:11:28,310
 +
you start realizing whoa all of a sudden
 +
 +
1503
 +
01:11:26,780 --> 01:11:29,389
 +
you have to start understanding things
 +
 +
1504
 +
01:11:28,310 --> 01:11:31,310
 +
again and the whole idea of
 +
 +
1505
 +
01:11:29,389 --> 01:11:32,690
 +
object-oriented programming is be able
 +
 +
1506
 +
01:11:31,310 --> 01:11:34,040
 +
to program things without having to
 +
 +
1507
 +
01:11:32,690 --> 01:11:36,889
 +
understand how everything works
 +
 +
1508
 +
01:11:34,040 --> 01:11:38,480
 +
it's like Prolog it's like magic for the
 +
 +
1509
 +
01:11:36,889 --> 01:11:39,860
 +
Baths the first three hours and then all
 +
 +
1510
 +
01:11:38,480 --> 01:11:42,139
 +
of a sudden you have to understand ten
 +
 +
1511
 +
01:11:39,860 --> 01:11:46,100
 +
times more than you ever did so it's
 +
 +
1512
 +
01:11:42,139 --> 01:11:48,280
 +
it's kind of a cruel trick and if you
 +
 +
1513
 +
01:11:46,100 --> 01:11:50,540
 +
look into biological systems
 +
 +
1514
 +
01:11:48,280 --> 01:11:54,080
 +
again the first small talk was designed
 +
 +
1515
 +
01:11:50,540 --> 01:11:57,350
 +
more this way it was less procedural in
 +
 +
1516
 +
01:11:54,080 --> 01:11:58,880
 +
many ways and it was hoping to use a
 +
 +
1517
 +
01:11:57,350 --> 01:12:01,639
 +
control structure invented by Dave
 +
 +
1518
 +
01:11:58,880 --> 01:12:03,409
 +
Fisher who did a great thesis at
 +
 +
1519
 +
01:12:01,639 --> 01:12:06,139
 +
Carnegie in 1970 called the control
 +
 +
1520
 +
01:12:03,409 --> 01:12:08,030
 +
definition language that was one of the
 +
 +
1521
 +
01:12:06,139 --> 01:12:10,790
 +
that was one of the inputs to the design
 +
 +
1522
 +
01:12:08,030 --> 01:12:12,050
 +
of small talk and there he was very
 +
 +
1523
 +
01:12:10,790 --> 01:12:16,340
 +
interested in what you might call a
 +
 +
1524
 +
01:12:12,050 --> 01:12:18,050
 +
gorrik computing and the the current
 +
 +
1525
 +
01:12:16,340 --> 01:12:19,610
 +
stuff I've been fooling around with our
 +
 +
1526
 +
01:12:18,050 --> 01:12:22,550
 +
systems that don't send messages but
 +
 +
1527
 +
01:12:19,610 --> 01:12:23,630
 +
only receive in other words one of the
 +
 +
1528
 +
01:12:22,550 --> 01:12:26,270
 +
ways of getting around the control
 +
 +
1529
 +
01:12:23,630 --> 01:12:27,650
 +
problem is to if you're a module what
 +
 +
1530
 +
01:12:26,270 --> 01:12:29,030
 +
you do is let the system know what
 +
 +
1531
 +
01:12:27,650 --> 01:12:30,679
 +
you're interested in it's up to the
 +
 +
1532
 +
01:12:29,030 --> 01:12:33,349
 +
system to somehow get that in for
 +
 +
1533
 +
01:12:30,679 --> 01:12:34,790
 +
to you you don't care how what you don't
 +
 +
1534
 +
01:12:33,349 --> 01:12:36,739
 +
want to have is a system which every
 +
 +
1535
 +
01:12:34,790 --> 01:12:38,239
 +
time a new object goes into it some
 +
 +
1536
 +
01:12:36,739 --> 01:12:40,130
 +
other object has to know it should send
 +
 +
1537
 +
01:12:38,239 --> 01:12:42,349
 +
it a message to write because then
 +
 +
1538
 +
01:12:40,130 --> 01:12:44,030
 +
you're right back to something analogous
 +
 +
1539
 +
01:12:42,349 --> 01:12:46,699
 +
to the data structure problem having
 +
 +
1540
 +
01:12:44,030 --> 01:12:48,619
 +
random procedures understand the formats
 +
 +
1541
 +
01:12:46,699 --> 01:12:50,179
 +
of data structures and here we're
 +
 +
1542
 +
01:12:48,619 --> 01:12:51,770
 +
talking about having objects have to
 +
 +
1543
 +
01:12:50,179 --> 01:12:56,690
 +
haven't understand essentially control
 +
 +
1544
 +
01:12:51,770 --> 01:13:00,199
 +
formats so I've been working on a design
 +
 +
1545
 +
01:12:56,690 --> 01:13:01,849
 +
of a system that only receives but it
 +
 +
1546
 +
01:13:00,199 --> 01:13:03,830
 +
receives by indicating things that's
 +
 +
1547
 +
01:13:01,849 --> 01:13:07,010
 +
interesting interested in and then the
 +
 +
1548
 +
01:13:03,830 --> 01:13:08,330
 +
the system constructs a structure that
 +
 +
1549
 +
01:13:07,010 --> 01:13:10,340
 +
will guarantee to deliver that
 +
 +
1550
 +
01:13:08,330 --> 01:13:13,250
 +
information to it in a timely fashion
 +
 +
1551
 +
01:13:10,340 --> 01:13:15,440
 +
and again I think if you just get away
 +
 +
1552
 +
01:13:13,250 --> 01:13:17,989
 +
from software systems and think about
 +
 +
1553
 +
01:13:15,440 --> 01:13:20,239
 +
networks again it will tell you a lot
 +
 +
1554
 +
01:13:17,989 --> 01:13:22,159
 +
about what to do with objects because
 +
 +
1555
 +
01:13:20,239 --> 01:13:23,389
 +
you really you can't take objects
 +
 +
1556
 +
01:13:22,159 --> 01:13:25,730
 +
seriously unless you think of a
 +
 +
1557
 +
01:13:23,389 --> 01:13:27,080
 +
transmission line between them it's too
 +
 +
1558
 +
01:13:25,730 --> 01:13:28,400
 +
easy to just think of sending a
 +
 +
1559
 +
01:13:27,080 --> 01:13:29,719
 +
procedure call to them and you don't
 +
 +
1560
 +
01:13:28,400 --> 01:13:31,639
 +
have any of the interesting things that
 +
 +
1561
 +
01:13:29,719 --> 01:13:34,130
 +
have happened with concurrency and
 +
 +
1562
 +
01:13:31,639 --> 01:13:35,900
 +
synchronization and protection and all
 +
 +
1563
 +
01:13:34,130 --> 01:13:40,030
 +
of those things that are really going to
 +
 +
1564
 +
01:13:35,900 --> 01:13:42,199
 +
be a major part of just standard
 +
 +
1565
 +
01:13:40,030 --> 01:13:43,639
 +
programs that we're doing in the world
 +
 +
1566
 +
01:13:42,199 --> 01:13:45,920
 +
so I think you just think of it as being
 +
 +
1567
 +
01:13:43,639 --> 01:13:47,960
 +
a whole bunch of net networked computers
 +
 +
1568
 +
01:13:45,920 --> 01:13:49,340
 +
crying to cooperate and realize and what
 +
 +
1569
 +
01:13:47,960 --> 01:13:51,530
 +
the problems there and how you want to
 +
 +
1570
 +
01:13:49,340 --> 01:13:53,239
 +
write the code then I think it tells you
 +
 +
1571
 +
01:13:51,530 --> 01:13:54,770
 +
what to do with objects that was the way
 +
 +
1572
 +
01:13:53,239 --> 01:13:59,320
 +
the original small talk was designed
 +
 +
1573
 +
01:13:54,770 --> 01:13:59,320
 +
anyway yes
 +
 +
1574
 +
01:14:06,059 --> 01:14:14,820
 +
right good question the I don't actually
 +
 +
1575
 +
01:14:12,059 --> 01:14:19,079
 +
have any of those things in mind but
 +
 +
1576
 +
01:14:14,820 --> 01:14:23,309
 +
when when Smalltalk 72 was done 16 years
 +
 +
1577
 +
01:14:19,079 --> 01:14:28,409
 +
ago the idea back then was what
 +
 +
1578
 +
01:14:23,309 --> 01:14:32,719
 +
capabilities could do if abilities are a
 +
 +
1579
 +
01:14:28,409 --> 01:14:35,570
 +
short way of dealing with access rights
 +
 +
1580
 +
01:14:32,719 --> 01:14:39,840
 +
okay and the access rights there our
 +
 +
1581
 +
01:14:35,570 --> 01:14:42,179
 +
instance are at the instance level in
 +
 +
1582
 +
01:14:39,840 --> 01:14:43,770
 +
capability systems and I wouldn't think
 +
 +
1583
 +
01:14:42,179 --> 01:14:46,469
 +
that trying to protect at the class
 +
 +
1584
 +
01:14:43,770 --> 01:14:48,030
 +
level is C it's easy to protect the
 +
 +
1585
 +
01:14:46,469 --> 01:14:49,349
 +
class if you can protect at the instance
 +
 +
1586
 +
01:14:48,030 --> 01:14:52,380
 +
right because the class is an instance
 +
 +
1587
 +
01:14:49,349 --> 01:14:53,820
 +
of class class that's trivial to do it
 +
 +
1588
 +
01:14:52,380 --> 01:14:57,539
 +
so you want to protect at the instance
 +
 +
1589
 +
01:14:53,820 --> 01:14:59,670
 +
level its itself and protecting at the
 +
 +
1590
 +
01:14:57,539 --> 01:15:01,340
 +
instance level in capability systems is
 +
 +
1591
 +
01:14:59,670 --> 01:15:03,750
 +
tantamount to protecting each message
 +
 +
1592
 +
01:15:01,340 --> 01:15:06,139
 +
individually because that's what a what
 +
 +
1593
 +
01:15:03,750 --> 01:15:10,489
 +
a capability map actually does for you
 +
 +
1594
 +
01:15:06,139 --> 01:15:10,489
 +
so it's a very nice way of doing it yeah
 +
 +
1595
 +
01:15:11,809 --> 01:15:17,239
 +
sure
 +
 +
1596
 +
01:15:13,729 --> 01:15:19,459
 +
no I don't see any if you can deliver it
 +
 +
1597
 +
01:15:17,239 --> 01:15:22,940
 +
for that price I think he will sell a
 +
 +
1598
 +
01:15:19,459 --> 01:15:25,340
 +
few but as far as I can see there's no
 +
 +
1599
 +
01:15:22,940 --> 01:15:27,920
 +
in fact the interesting thing is the
 +
 +
1600
 +
01:15:25,340 --> 01:15:30,619
 +
user interface a lot of the things in
 +
 +
1601
 +
01:15:27,920 --> 01:15:32,329
 +
user interface are more like small talk
 +
 +
1602
 +
01:15:30,619 --> 01:15:35,929
 +
than than than the Mac he has
 +
 +
1603
 +
01:15:32,329 --> 01:15:37,880
 +
hierarchical browsers in it and the
 +
 +
1604
 +
01:15:35,929 --> 01:15:41,780
 +
proportional scroll bars and other kinds
 +
 +
1605
 +
01:15:37,880 --> 01:15:45,409
 +
of things that small talk and although
 +
 +
1606
 +
01:15:41,780 --> 01:15:47,929
 +
he has a very strange scroll nose we saw
 +
 +
1607
 +
01:15:45,409 --> 01:15:49,519
 +
at window resizing method apparently I
 +
 +
1608
 +
01:15:47,929 --> 01:15:51,320
 +
haven't actually used the machine yeah
 +
 +
1609
 +
01:15:49,519 --> 01:15:52,909
 +
but somebody told me you can only resize
 +
 +
1610
 +
01:15:51,320 --> 01:15:56,420
 +
one dimension of the window at a time
 +
 +
1611
 +
01:15:52,909 --> 01:15:58,729
 +
and he would would have known that Apple
 +
 +
1612
 +
01:15:56,420 --> 01:16:01,749
 +
didn't own that if he'd seen the the
 +
 +
1613
 +
01:15:58,729 --> 01:16:01,749
 +
Grail movie because
 +
 +
1614
 +
01:16:09,239 --> 01:16:15,270
 +
well again in the longer in a longer
 +
 +
1615
 +
01:16:11,969 --> 01:16:17,820
 +
talk what when I started thinking about
 +
 +
1616
 +
01:16:15,270 --> 01:16:20,730
 +
it I realized I didn't have not only
 +
 +
1617
 +
01:16:17,820 --> 01:16:23,640
 +
didn't have any good ideas about AI that
 +
 +
1618
 +
01:16:20,730 --> 01:16:27,120
 +
I'd never had I had had a good idea in
 +
 +
1619
 +
01:16:23,640 --> 01:16:29,880
 +
AI and I figured that was either because
 +
 +
1620
 +
01:16:27,120 --> 01:16:31,880
 +
I was completely stupid or else I was
 +
 +
1621
 +
01:16:29,880 --> 01:16:35,520
 +
thinking about it in a way that wasn't
 +
 +
1622
 +
01:16:31,880 --> 01:16:37,200
 +
terribly fruitful or the stuff that
 +
 +
1623
 +
01:16:35,520 --> 01:16:39,630
 +
people have been doing in AI didn't have
 +
 +
1624
 +
01:16:37,200 --> 01:16:41,820
 +
any good extrapolation into what would
 +
 +
1625
 +
01:16:39,630 --> 01:16:45,120
 +
be powerful I still don't know which of
 +
 +
1626
 +
01:16:41,820 --> 01:16:47,070
 +
those three is the is the case but I
 +
 +
1627
 +
01:16:45,120 --> 01:16:48,300
 +
have a couple of degrees in biology so I
 +
 +
1628
 +
01:16:47,070 --> 01:16:53,580
 +
started thinking about it from
 +
 +
1629
 +
01:16:48,300 --> 01:16:56,460
 +
biological stand the first thing that I
 +
 +
1630
 +
01:16:53,580 --> 01:16:58,980
 +
realized was that trying to essentially
 +
 +
1631
 +
01:16:56,460 --> 01:17:00,000
 +
do a Beethoven which has been one of the
 +
 +
1632
 +
01:16:58,980 --> 01:17:02,340
 +
main aims of AI
 +
 +
1633
 +
01:17:00,000 --> 01:17:03,989
 +
who knows to do some superhuman
 +
 +
1634
 +
01:17:02,340 --> 01:17:06,330
 +
intelligence right off the bath to
 +
 +
1635
 +
01:17:03,989 --> 01:17:09,719
 +
impress the Pentagon sponsors is a real
 +
 +
1636
 +
01:17:06,330 --> 01:17:17,160
 +
loser because we can't even do a decent
 +
 +
1637
 +
01:17:09,719 --> 01:17:18,360
 +
ant and so I got basically I got
 +
 +
1638
 +
01:17:17,160 --> 01:17:19,830
 +
interested in thinking about what would
 +
 +
1639
 +
01:17:18,360 --> 01:17:21,570
 +
it be like if you forgot about forget
 +
 +
1640
 +
01:17:19,830 --> 01:17:24,630
 +
about Beethoven for a while what would
 +
 +
1641
 +
01:17:21,570 --> 01:17:26,910
 +
it be like to just try and understand a
 +
 +
1642
 +
01:17:24,630 --> 01:17:29,880
 +
I as an architectural problem which I I
 +
 +
1643
 +
01:17:26,910 --> 01:17:32,550
 +
do this is I think of life as an
 +
 +
1644
 +
01:17:29,880 --> 01:17:34,080
 +
architecture right the material moves
 +
 +
1645
 +
01:17:32,550 --> 01:17:35,850
 +
through us we recycle the atoms in our
 +
 +
1646
 +
01:17:34,080 --> 01:17:38,370
 +
bodies every seven years or so but the
 +
 +
1647
 +
01:17:35,850 --> 01:17:40,830
 +
pattern remains some kind of a weird
 +
 +
1648
 +
01:17:38,370 --> 01:17:43,980
 +
feeling to think of matter passing
 +
 +
1649
 +
01:17:40,830 --> 01:17:47,430
 +
through this force field or so that
 +
 +
1650
 +
01:17:43,980 --> 01:17:49,080
 +
organizes it and the same same thing is
 +
 +
1651
 +
01:17:47,430 --> 01:17:50,790
 +
likely to be true for intelligence it's
 +
 +
1652
 +
01:17:49,080 --> 01:17:52,290
 +
it's an architecture and when you're
 +
 +
1653
 +
01:17:50,790 --> 01:17:54,840
 +
doing doing architecture you have to
 +
 +
1654
 +
01:17:52,290 --> 01:17:59,070
 +
start building things and seeing which
 +
 +
1655
 +
01:17:54,840 --> 01:18:00,630
 +
cathedrals fall down and you're really
 +
 +
1656
 +
01:17:59,070 --> 01:18:02,280
 +
in bad shape in architecture if you
 +
 +
1657
 +
01:18:00,630 --> 01:18:04,620
 +
build dog houses because you can build a
 +
 +
1658
 +
01:18:02,280 --> 01:18:06,450
 +
doghouse out of almost anything and it
 +
 +
1659
 +
01:18:04,620 --> 01:18:07,530
 +
won't fall down and doesn't scale you
 +
 +
1660
 +
01:18:06,450 --> 01:18:10,140
 +
know the big problem with our whole
 +
 +
1661
 +
01:18:07,530 --> 01:18:13,290
 +
field is big good ideas don't often
 +
 +
1662
 +
01:18:10,140 --> 01:18:14,850
 +
scale and we always get screwed when
 +
 +
1663
 +
01:18:13,290 --> 01:18:16,380
 +
somebody has a good idea that works in
 +
 +
1664
 +
01:18:14,850 --> 01:18:18,120
 +
the small and then they try and scale it
 +
 +
1665
 +
01:18:16,380 --> 01:18:18,980
 +
off by a factor of thousand and all of a
 +
 +
1666
 +
01:18:18,120 --> 01:18:22,370
 +
sudden
 +
 +
1667
 +
01:18:18,980 --> 01:18:23,780
 +
anymore so the to me it seemed like the
 +
 +
1668
 +
01:18:22,370 --> 01:18:26,450
 +
an interesting thing to do would be to
 +
 +
1669
 +
01:18:23,780 --> 01:18:30,440
 +
try and build some biologically relevant
 +
 +
1670
 +
01:18:26,450 --> 01:18:32,330
 +
models of animal intelligence and pick
 +
 +
1671
 +
01:18:30,440 --> 01:18:35,120
 +
at a bunch of different levels so that
 +
 +
1672
 +
01:18:32,330 --> 01:18:36,170
 +
you wouldn't get into the scaling bug so
 +
 +
1673
 +
01:18:35,120 --> 01:18:39,140
 +
that you actually thought you were
 +
 +
1674
 +
01:18:36,170 --> 01:18:40,970
 +
developing some something that might
 +
 +
1675
 +
01:18:39,140 --> 01:18:43,070
 +
give you a few hints as to what the what
 +
 +
1676
 +
01:18:40,970 --> 01:18:44,989
 +
a good architecture for intelligence is
 +
 +
1677
 +
01:18:43,070 --> 01:18:47,780
 +
I joined up forces with Marvin Minsky at
 +
 +
1678
 +
01:18:44,989 --> 01:18:49,910
 +
MIT set up a project called the vivarium
 +
 +
1679
 +
01:18:47,780 --> 01:18:51,770
 +
which it involves children because the
 +
 +
1680
 +
01:18:49,910 --> 01:18:53,570
 +
again it's it's hard to design for
 +
 +
1681
 +
01:18:51,770 --> 01:18:57,110
 +
adults it gets boring after a while so
 +
 +
1682
 +
01:18:53,570 --> 01:18:58,910
 +
the project for children wound up being
 +
 +
1683
 +
01:18:57,110 --> 01:19:01,190
 +
saying what would it be like for
 +
 +
1684
 +
01:18:58,910 --> 01:19:04,340
 +
children to actually build these animals
 +
 +
1685
 +
01:19:01,190 --> 01:19:08,450
 +
what would it be like for a child to sit
 +
 +
1686
 +
01:19:04,340 --> 01:19:10,100
 +
down and build up a both a physical
 +
 +
1687
 +
01:19:08,450 --> 01:19:11,989
 +
animal and a mental animal that you
 +
 +
1688
 +
01:19:10,100 --> 01:19:13,460
 +
could put into a big environment if we
 +
 +
1689
 +
01:19:11,989 --> 01:19:16,190
 +
have one more second I can show you a
 +
 +
1690
 +
01:19:13,460 --> 01:19:19,250
 +
little clip of some of the work that
 +
 +
1691
 +
01:19:16,190 --> 01:19:28,300
 +
we've been doing this is will be taped
 +
 +
1692
 +
01:19:19,250 --> 01:19:30,770
 +
six and what it is is before you show it
 +
 +
1693
 +
01:19:28,300 --> 01:19:33,230
 +
what it is is some real stuff and some
 +
 +
1694
 +
01:19:30,770 --> 01:19:35,270
 +
fake stuff the real stuff is all of the
 +
 +
1695
 +
01:19:33,230 --> 01:19:37,940
 +
3d graphics that are in it which we did
 +
 +
1696
 +
01:19:35,270 --> 01:19:40,220
 +
in real time on a an Evans & Sutherland
 +
 +
1697
 +
01:19:37,940 --> 01:19:43,750
 +
flight simulator this is the machine
 +
 +
1698
 +
01:19:40,220 --> 01:19:47,540
 +
that has something like 3.5 gigaflops of
 +
 +
1699
 +
01:19:43,750 --> 01:19:53,030
 +
computation it's about six to eight Cray
 +
 +
1700
 +
01:19:47,540 --> 01:19:56,930
 +
XMP 48 worth of stuff so it can actually
 +
 +
1701
 +
01:19:53,030 --> 01:19:59,739
 +
generate on a database that has some sub
 +
 +
1702
 +
01:19:56,930 --> 01:20:01,690
 +
planetary in size
 +
 +
1703
 +
01:19:59,739 --> 01:20:05,400
 +
you know because you have to have to fly
 +
 +
1704
 +
01:20:01,690 --> 01:20:09,730
 +
over hundreds of miles of it at Mach 3
 +
 +
1705
 +
01:20:05,400 --> 01:20:12,099
 +
and it's able to perfect anti rastering
 +
 +
1706
 +
01:20:09,730 --> 01:20:16,210
 +
perfect texture mapping on the thing and
 +
 +
1707
 +
01:20:12,099 --> 01:20:18,550
 +
it has it has the ability to have as
 +
 +
1708
 +
01:20:16,210 --> 01:20:20,800
 +
many as thirty two independent cameras
 +
 +
1709
 +
01:20:18,550 --> 01:20:22,449
 +
at once so you can see look into the
 +
 +
1710
 +
01:20:20,800 --> 01:20:25,749
 +
same database from multiple points of
 +
 +
1711
 +
01:20:22,449 --> 01:20:28,480
 +
view so all the stuff that you see in in
 +
 +
1712
 +
01:20:25,749 --> 01:20:29,920
 +
this user interface at that level is
 +
 +
1713
 +
01:20:28,480 --> 01:20:32,380
 +
real and then what we did is a little
 +
 +
1714
 +
01:20:29,920 --> 01:20:33,670
 +
mock-up to see what the user interface
 +
 +
1715
 +
01:20:32,380 --> 01:20:36,190
 +
some of the elements of the user
 +
 +
1716
 +
01:20:33,670 --> 01:20:38,010
 +
interface might be for children we're
 +
 +
1717
 +
01:20:36,190 --> 01:20:40,869
 +
using elementary school children so
 +
 +
1718
 +
01:20:38,010 --> 01:20:42,280
 +
they're both visual and very tactile so
 +
 +
1719
 +
01:20:40,869 --> 01:20:43,809
 +
we got very interested in what would a
 +
 +
1720
 +
01:20:42,280 --> 01:20:46,360
 +
tactile kind of user interface be
 +
 +
1721
 +
01:20:43,809 --> 01:20:49,389
 +
particularly one without any menus in it
 +
 +
1722
 +
01:20:46,360 --> 01:20:50,590
 +
so when you so I think you'll be able to
 +
 +
1723
 +
01:20:49,389 --> 01:21:00,429
 +
tell the difference between the two so
 +
 +
1724
 +
01:20:50,590 --> 01:21:03,249
 +
let's roll that tape number six so here
 +
 +
1725
 +
01:21:00,429 --> 01:21:06,190
 +
just turn out the lights so here we have
 +
 +
1726
 +
01:21:03,249 --> 01:21:07,510
 +
actually four desktops in operation
 +
 +
1727
 +
01:21:06,190 --> 01:21:11,889
 +
under projects and we go into the
 +
 +
1728
 +
01:21:07,510 --> 01:21:13,840
 +
vivarium one and here's the flight
 +
 +
1729
 +
01:21:11,889 --> 01:21:18,760
 +
simulator we have two different points
 +
 +
1730
 +
01:21:13,840 --> 01:21:22,320
 +
of view two camera controls as you see
 +
 +
1731
 +
01:21:18,760 --> 01:21:24,369
 +
there so this is 60 frames a second
 +
 +
1732
 +
01:21:22,320 --> 01:21:27,780
 +
real-time computer we wanted to do it
 +
 +
1733
 +
01:21:24,369 --> 01:21:29,920
 +
all in real time to keep honest about it
 +
 +
1734
 +
01:21:27,780 --> 01:21:31,719
 +
and one nice thing about real-time
 +
 +
1735
 +
01:21:29,920 --> 01:21:37,420
 +
graphics is you want three minutes of
 +
 +
1736
 +
01:21:31,719 --> 01:21:41,170
 +
real-time graphics you it only takes
 +
 +
1737
 +
01:21:37,420 --> 01:21:45,400
 +
three minutes to generate so here's the
 +
 +
1738
 +
01:21:41,170 --> 01:21:47,739
 +
little kids notebook going rockfish you
 +
 +
1739
 +
01:21:45,400 --> 01:21:50,499
 +
see the real real crab over there and
 +
 +
1740
 +
01:21:47,739 --> 01:21:55,570
 +
the simulated crab and the crab model
 +
 +
1741
 +
01:21:50,499 --> 01:22:00,519
 +
that the kids working on here's the sea
 +
 +
1742
 +
01:21:55,570 --> 01:22:04,559
 +
snail weird color it has is actually the
 +
 +
1743
 +
01:22:00,519 --> 01:22:04,559
 +
color that's how we do scrolling
 +
 +
1744
 +
01:22:04,810 --> 01:22:10,460
 +
and here's an avoidance reaction this is
 +
 +
1745
 +
01:22:07,550 --> 01:22:16,010
 +
what a real one looks like really an
 +
 +
1746
 +
01:22:10,460 --> 01:22:19,550
 +
amazing amazing color and down in the
 +
 +
1747
 +
01:22:16,010 --> 01:22:25,489
 +
sales simulation here it's just chucking
 +
 +
1748
 +
01:22:19,550 --> 01:22:27,710
 +
along on its basic movement cycle these
 +
 +
1749
 +
01:22:25,489 --> 01:22:30,830
 +
these snails these particular ones have
 +
 +
1750
 +
01:22:27,710 --> 01:22:38,710
 +
only about 2,000 neurons so here we open
 +
 +
1751
 +
01:22:30,830 --> 01:22:38,710
 +
it up a little bit kids love that
 +
 +
1752
 +
01:22:39,040 --> 01:22:45,170
 +
various brain models there's three or
 +
 +
1753
 +
01:22:41,449 --> 01:22:46,699
 +
four different points of view here's the
 +
 +
1754
 +
01:22:45,170 --> 01:22:50,120
 +
one that they would use to program it
 +
 +
1755
 +
01:22:46,699 --> 01:22:52,730
 +
with all the sensors and now if we put
 +
 +
1756
 +
01:22:50,120 --> 01:22:54,530
 +
them all to work get to see what the
 +
 +
1757
 +
01:22:52,730 --> 01:22:56,920
 +
whole environment actually looks like
 +
 +
1758
 +
01:22:54,530 --> 01:22:56,920
 +
here
 +
 +
1759
 +
01:22:59,440 --> 01:23:04,960
 +
[Music]
 +
 +
1760
 +
01:23:19,920 --> 01:23:32,220
 +
[Music]
 +
 +
1761
 +
01:23:38,380 --> 01:23:48,060
 +
[Music]
 +
 +
1762
 +
01:23:50,560 --> 01:24:12,079
 +
[Music]
 +
 +
1763
 +
01:24:27,050 --> 01:24:38,119
 +
[Music]
 +
 +
1764
 +
01:24:42,250 --> 01:24:59,010
 +
[Music]
 +
 +
1765
 +
01:25:02,040 --> 01:25:14,860
 +
[Music]
 +
 +
1766
 +
01:25:11,830 --> 01:25:17,840
 +
this about two years into a six-year
 +
 +
1767
 +
01:25:14,860 --> 01:25:22,640
 +
project where we basically built all
 +
 +
1768
 +
01:25:17,840 --> 01:25:25,120
 +
this stuff by bite simulator brains of
 +
 +
1769
 +
01:25:22,640 --> 01:25:27,800
 +
the animals we built with a bunch of
 +
 +
1770
 +
01:25:25,120 --> 01:25:30,020
 +
thesis projects at MIT that Marvin
 +
 +
1771
 +
01:25:27,800 --> 01:25:32,960
 +
Minsky and I are supervising the next
 +
 +
1772
 +
01:25:30,020 --> 01:25:35,690
 +
phase of the thing is to do a system now
 +
 +
1773
 +
01:25:32,960 --> 01:25:39,070
 +
that children can actually build the the
 +
 +
1774
 +
01:25:35,690 --> 01:25:42,110
 +
animals and put the brains and so we're
 +
 +
1775
 +
01:25:39,070 --> 01:25:44,720
 +
now the the idea is about two years from
 +
 +
1776
 +
01:25:42,110 --> 01:25:47,240
 +
now that is to start testing that aspect
 +
 +
1777
 +
01:25:44,720 --> 01:25:50,030
 +
of it by the end of the six years is to
 +
 +
1778
 +
01:25:47,240 --> 01:25:53,030
 +
exhibit sort of an animal building kit
 +
 +
1779
 +
01:25:50,030 --> 01:25:55,340
 +
with brain models that ethologists would
 +
 +
1780
 +
01:25:53,030 --> 01:25:56,340
 +
not turn up their noses at thank you
 +
 +
1781
 +
01:25:55,340 --> 01:26:01,430
 +
very much
 +
 +
1782
 +
01:25:56,340 --> 01:26:07,489
 +
[Applause]
 +
 +
1783
 +
01:26:01,430 --> 01:26:07,489
 +
[Music]
 +
 +
1784
 +
01:26:08,900 --> 01:26:17,570
 +
[Applause]
 +
 +
1785
 +
01:26:13,930 --> 01:26:20,750
 +
we're gonna take a break and it'll be
 +
 +
1786
 +
01:26:17,570 --> 01:26:23,200
 +
ten minutes please return in ten minutes
 +
 +
1787
 +
01:26:20,750 --> 01:26:23,200
 +
thanks
 +
 +
1788
 +
01:26:23,380 --> 01:26:44,159
 +
[Music]

Revision as of 20:22, 5 December 2017

1 00:00:05,590 --> 00:00:12,969 in the timeframe of 15 or 20 years ago

2 00:00:08,340 --> 00:00:16,289 Alan Kay conceived of the Dynabook which

3 00:00:12,969 --> 00:00:19,510 most of you probably know was a

4 00:00:16,289 --> 00:00:24,130 conceptual forerunner of the PCs and and

5 00:00:19,510 --> 00:00:26,640 and probably some future machines that

6 00:00:24,130 --> 00:00:28,869 we've not not even seen commercially yet

7 00:00:26,640 --> 00:00:32,910 Alan Kay obviously as the man who's

8 00:00:28,869 --> 00:00:35,440 always been ahead of his time he was the

9 00:00:32,910 --> 00:00:36,489 inventor of the first small talk some of

10 00:00:35,440 --> 00:00:38,320 you may know that there were actually

11 00:00:36,489 --> 00:00:40,120 several small talks the one that you now

12 00:00:38,320 --> 00:00:41,890 know a small talk ad was the fourth or

13 00:00:40,120 --> 00:00:43,780 fifth in a sequence of small talks Alan

14 00:00:41,890 --> 00:00:49,720 Kay did that first that very first small

15 00:00:43,780 --> 00:00:52,060 talk and currently he is a an Apple

16 00:00:49,720 --> 00:00:55,150 fellow and prior to that he was a chief

17 00:00:52,060 --> 00:00:57,910 scientist at Atari with credentials like

18 00:00:55,150 --> 00:01:00,550 that I found it interesting to note in

19 00:00:57,910 --> 00:01:03,250 his biography that the only professional

20 00:01:00,550 --> 00:01:06,630 Society of which he is a member is the

21 00:01:03,250 --> 00:01:08,890 International Society of organ builders

22 00:01:06,630 --> 00:01:12,430 without taking any more of Alan's time

23 00:01:08,890 --> 00:01:19,419 let me now bring up Alan Kay

24 00:01:12,430 --> 00:01:19,419 [Applause]

25 00:01:20,290 --> 00:01:33,180 I have a piece

26 00:01:37,790 --> 00:01:40,450 oops

27 00:01:49,900 --> 00:01:55,760 so I found it necessary when giving

28 00:01:52,640 --> 00:01:57,350 talks in the East Coast to put the slide

29 00:01:55,760 --> 00:02:00,140 up so that people who might be offended

30 00:01:57,350 --> 00:02:04,430 can leave early I thought this might be

31 00:02:00,140 --> 00:02:08,119 an especially appropriate place well I

32 00:02:04,430 --> 00:02:13,430 think a good way to start off is to

33 00:02:08,119 --> 00:02:15,110 recall a statement by William James made

34 00:02:13,430 --> 00:02:19,220 about a century ago about the three

35 00:02:15,110 --> 00:02:21,860 stages in the life cycle of any idea and

36 00:02:19,220 --> 00:02:24,220 the first stage is that the new idea is

37 00:02:21,860 --> 00:02:27,050 condemned as being the work of madmen

38 00:02:24,220 --> 00:02:28,910 then a few years later it's remarked on

39 00:02:27,050 --> 00:02:29,450 as being commonplace and obvious all the

40 00:02:28,910 --> 00:02:31,640 time

41 00:02:29,450 --> 00:02:35,319 and the final stage is when the original

42 00:02:31,640 --> 00:02:39,790 condemned errs claim to have invented it

43 00:02:35,319 --> 00:02:41,980 I think we're at that stage now with

44 00:02:39,790 --> 00:02:44,200 objects in window oriented and pointing

45 00:02:41,980 --> 00:02:48,549 user interfaces which to me means that

46 00:02:44,200 --> 00:02:50,829 they must be hopelessly obsolete so

47 00:02:48,549 --> 00:02:52,569 we're actually we're actually having a

48 00:02:50,829 --> 00:02:56,590 symposium here about a patient who's

49 00:02:52,569 --> 00:02:58,540 already dead but in the grand tradition

50 00:02:56,590 --> 00:03:03,340 of computer science will live on for at

51 00:02:58,540 --> 00:03:06,389 least a century this is gonna be a

52 00:03:03,340 --> 00:03:08,919 different talk than norms talk norm is a

53 00:03:06,389 --> 00:03:12,000 norms talk as a practical talk by a

54 00:03:08,919 --> 00:03:15,150 person who got interested in

55 00:03:12,000 --> 00:03:19,030 object-oriented programming as a way of

56 00:03:15,150 --> 00:03:23,829 implementing large-scale complex systems

57 00:03:19,030 --> 00:03:27,819 in the context of a university where you

58 00:03:23,829 --> 00:03:29,709 don't have a lot of people to do the

59 00:03:27,819 --> 00:03:33,549 work and a lot of the work is transient

60 00:03:29,709 --> 00:03:36,069 and this this need to deal with

61 00:03:33,549 --> 00:03:37,900 complexity in a way is one of the main

62 00:03:36,069 --> 00:03:41,470 selling points in object-oriented

63 00:03:37,900 --> 00:03:42,790 systems and people have this notion that

64 00:03:41,470 --> 00:03:45,459 because object-oriented systems are

65 00:03:42,790 --> 00:03:48,159 usually worked on by small groups that

66 00:03:45,459 --> 00:03:50,470 it's something mainly for small groups

67 00:03:48,159 --> 00:03:52,689 the main reason small groups use it I

68 00:03:50,470 --> 00:03:54,759 think is because it's one of the few

69 00:03:52,689 --> 00:03:57,400 vehicles that a small group can do truly

70 00:03:54,759 --> 00:03:59,409 interesting things in a short time but

71 00:03:57,400 --> 00:04:02,489 if object-oriented systems are

72 00:03:59,409 --> 00:04:06,970 implemented in a in a thoughtful way

73 00:04:02,489 --> 00:04:09,669 than by their very nature and we'll talk

74 00:04:06,970 --> 00:04:11,560 about this in a bit if the protection

75 00:04:09,669 --> 00:04:13,000 mechanisms that are inherent in the

76 00:04:11,560 --> 00:04:14,829 notion of object-oriented programming

77 00:04:13,000 --> 00:04:17,829 are also implemented which they often

78 00:04:14,829 --> 00:04:20,739 aren't then one should be able to

79 00:04:17,829 --> 00:04:24,310 organize very large-scale projects as

80 00:04:20,739 --> 00:04:26,229 well because the whole joy in the

81 00:04:24,310 --> 00:04:28,210 object-oriented design is the notion

82 00:04:26,229 --> 00:04:30,639 that when you put an object in the

83 00:04:28,210 --> 00:04:33,699 system it should be able to make use of

84 00:04:30,639 --> 00:04:35,919 what's there but its presence in the

85 00:04:33,699 --> 00:04:38,349 system shouldn't disturb any other

86 00:04:35,919 --> 00:04:41,289 objects that's in the system it should

87 00:04:38,349 --> 00:04:42,940 be something that is self-contained it

88 00:04:41,289 --> 00:04:46,910 should not be able to be destroyed by

89 00:04:42,940 --> 00:04:48,920 the system and so forth and so the

90 00:04:46,910 --> 00:04:50,750 in an object-oriented system that's well

91 00:04:48,920 --> 00:04:52,220 designed you should be able to add new

92 00:04:50,750 --> 00:04:55,130 knowledge in an incremental fashion

93 00:04:52,220 --> 00:04:56,630 almost linear fashion how we can a

94 00:04:55,130 --> 00:04:58,370 little bit later we'll talk about a

95 00:04:56,630 --> 00:05:00,230 couple of the places where that isn't

96 00:04:58,370 --> 00:05:01,940 really true and maybe some of the

97 00:05:00,230 --> 00:05:04,880 solutions for it but I thought a good

98 00:05:01,940 --> 00:05:07,570 way of starting off would be to just

99 00:05:04,880 --> 00:05:09,650 take a look at a couple of

100 00:05:07,570 --> 00:05:11,990 object-oriented systems of the past or

101 00:05:09,650 --> 00:05:13,850 almost object-oriented systems the first

102 00:05:11,990 --> 00:05:16,640 one and I understand they're only a few

103 00:05:13,850 --> 00:05:19,790 people here last night to look at it I

104 00:05:16,640 --> 00:05:21,800 have an excerpt maybe this is even a

105 00:05:19,790 --> 00:05:26,110 different film of Ivan Sutherlands

106 00:05:21,800 --> 00:05:28,820 sketchpad which was one of the earliest

107 00:05:26,110 --> 00:05:30,620 object-oriented systems although Ivan

108 00:05:28,820 --> 00:05:32,090 didn't really quite think of it that way

109 00:05:30,620 --> 00:05:42,740 there's an interesting history behind it

110 00:05:32,090 --> 00:05:48,130 so let's show that first tape this is

111 00:05:42,740 --> 00:05:50,660 implemented by making this room that's -

112 00:05:48,130 --> 00:05:58,010 the last computer in the u.s. to have

113 00:05:50,660 --> 00:05:59,960 its own roof this is what you saw there

114 00:05:58,010 --> 00:06:01,340 was the very first implementation of the

115 00:05:59,960 --> 00:06:02,810 rubberband technique and here's

116 00:06:01,340 --> 00:06:05,810 something you don't often see even in

117 00:06:02,810 --> 00:06:08,000 graphic systems today he pointed he did

118 00:06:05,810 --> 00:06:10,820 a rough sketch he pointed to those edges

119 00:06:08,000 --> 00:06:12,350 and told him he wanted them all mutually

120 00:06:10,820 --> 00:06:14,720 perpendicular and sketchpad figured out

121 00:06:12,350 --> 00:06:16,130 how to do it we just saw that sketchpad

122 00:06:14,720 --> 00:06:21,830 was also the first system to have a

123 00:06:16,130 --> 00:06:23,720 window this is all done in 1962 there he

124 00:06:21,830 --> 00:06:27,290 pointed to those two lines and told them

125 00:06:23,720 --> 00:06:32,150 that he wanted them to be parallel and

126 00:06:27,290 --> 00:06:34,970 now the constraint is to be collinear so

127 00:06:32,150 --> 00:06:41,480 these little dashes will be precisely

128 00:06:34,970 --> 00:06:43,370 lined up over the lines underneath this

129 00:06:41,480 --> 00:06:44,840 is the first time when people discovered

130 00:06:43,370 --> 00:06:47,039 that the light pin was not a good input

131 00:06:44,840 --> 00:06:49,350 device

132 00:06:47,039 --> 00:06:51,789 and in spite of that it's been

133 00:06:49,350 --> 00:06:55,930 reinvented at least 90 times in the last

134 00:06:51,789 --> 00:07:03,580 25 years so he's made a hole in the

135 00:06:55,930 --> 00:07:06,039 flange and now he wants a rivet and

136 00:07:03,580 --> 00:07:09,759 again the whole idea behind sketchpad is

137 00:07:06,039 --> 00:07:11,889 you should be able to quickly sketch in

138 00:07:09,759 --> 00:07:13,360 an approximation of what you wanted

139 00:07:11,889 --> 00:07:16,300 who's going to use that as the center

140 00:07:13,360 --> 00:07:19,030 for the arc and then get the system to

141 00:07:16,300 --> 00:07:21,759 complete the drawing by implementing

142 00:07:19,030 --> 00:07:23,949 various constraints or rules and here

143 00:07:21,759 --> 00:07:27,610 he's saying make those four lines

144 00:07:23,949 --> 00:07:30,370 mutually perpendicular the doing of that

145 00:07:27,610 --> 00:07:32,530 pulls the diagonal line which pulls the

146 00:07:30,370 --> 00:07:36,789 center which pulls the arc which makes a

147 00:07:32,530 --> 00:07:40,800 perfect rivet so this is also the first

148 00:07:36,789 --> 00:07:40,800 non procedural programming system

149 00:07:43,740 --> 00:07:47,050 showing that no matter what you do and

150 00:07:45,699 --> 00:07:49,210 of course he could have added further

151 00:07:47,050 --> 00:07:52,000 constraints that would constrain the

152 00:07:49,210 --> 00:07:53,710 ratios of those sides so that no matter

153 00:07:52,000 --> 00:07:56,460 how you distorted it always would come

154 00:07:53,710 --> 00:08:02,380 back to something that was the same

155 00:07:56,460 --> 00:08:04,360 relative size so that was a master what

156 00:08:02,380 --> 00:08:12,010 we call a class today and here's an

157 00:08:04,360 --> 00:08:15,010 instance of that rivet the instances can

158 00:08:12,010 --> 00:08:16,570 be scaled and rotated in real time you

159 00:08:15,010 --> 00:08:21,190 might wonder why is a display jumping

160 00:08:16,570 --> 00:08:23,320 around like that well I didn't display

161 00:08:21,190 --> 00:08:27,159 is back then the tx2 here is putting up

162 00:08:23,320 --> 00:08:29,410 every screen individually in fact memory

163 00:08:27,159 --> 00:08:32,900 for each separate dot

164 00:08:29,410 --> 00:08:34,550 so this is a software oriented display

165 00:08:32,900 --> 00:08:37,370 and when you put up a lot of dots that

166 00:08:34,550 --> 00:08:41,980 starts flashing because it's tracking

167 00:08:37,370 --> 00:08:41,980 the pen here are a couple more instances

168 00:08:42,880 --> 00:08:49,100 listen you might imagine led to the

169 00:08:44,960 --> 00:08:51,680 development of better displays now he

170 00:08:49,100 --> 00:08:53,300 doesn't like the cross piece on the

171 00:08:51,680 --> 00:08:55,130 rivet so he goes back to the master and

172 00:08:53,300 --> 00:08:57,560 says make those invisible they're still

173 00:08:55,130 --> 00:08:59,150 there but they're invisible now and lo

174 00:08:57,560 --> 00:09:05,930 and behold we see that the instances

175 00:08:59,150 --> 00:09:08,270 feel that change dynamically and

176 00:09:05,930 --> 00:09:12,110 remarkably sketchpad even had a form of

177 00:09:08,270 --> 00:09:15,310 inheritance who's actually one of the

178 00:09:12,110 --> 00:09:18,590 first object-oriented software systems

179 00:09:15,310 --> 00:09:20,120 so now he's made this constructed thing

180 00:09:18,590 --> 00:09:24,590 into a master and now he can get

181 00:09:20,120 --> 00:09:27,170 instances of it I once asked Ivan

182 00:09:24,590 --> 00:09:29,060 Sutherland many years ago how is it

183 00:09:27,170 --> 00:09:31,700 possible for you to in a single year of

184 00:09:29,060 --> 00:09:33,230 1962 to do the first computer graphics

185 00:09:31,700 --> 00:09:34,820 system the first non procedural

186 00:09:33,230 --> 00:09:36,500 programming system and the first

187 00:09:34,820 --> 00:09:43,730 object-oriented software system and he

188 00:09:36,500 --> 00:09:49,300 said well I didn't know it was hard ok

189 00:09:43,730 --> 00:09:49,300 stopped them made a tremendous

190 00:09:49,360 --> 00:09:58,630 impression I had to learn it that's 22

191 00:09:54,860 --> 00:10:01,280 now when I first went to graduate school

192 00:09:58,630 --> 00:10:02,870 the desk at the University of Utah Dave

193 00:10:01,280 --> 00:10:04,190 Evans had one of these theses in and

194 00:10:02,870 --> 00:10:05,990 hand out and you had to prove that you

195 00:10:04,190 --> 00:10:13,120 understood it before you're allowed to

196 00:10:05,990 --> 00:10:13,120 sit down and think I might

197 00:10:23,180 --> 00:10:32,850 this isn't worthwhile looking at in any

198 00:10:26,070 --> 00:10:40,320 detail maybe I'll just use this from the

199 00:10:32,850 --> 00:10:42,210 main line here this this is essentially

200 00:10:40,320 --> 00:10:44,610 the pathway that I took getting

201 00:10:42,210 --> 00:10:46,680 interested in this stuff I was in the

202 00:10:44,610 --> 00:10:50,279 Air Force and there was a file system on

203 00:10:46,680 --> 00:10:51,930 the Burroughs 220 that was what we would

204 00:10:50,279 --> 00:10:54,300 call today object oriented back in those

205 00:10:51,930 --> 00:10:55,680 days I didn't have operating systems of

206 00:10:54,300 --> 00:10:58,830 course and these days did not have

207 00:10:55,680 --> 00:11:01,970 operating systems either back then there

208 00:10:58,830 --> 00:11:01,970 was more excuse for it

209 00:11:02,540 --> 00:11:11,490 and the Meniere's had the problem of how

210 00:11:08,130 --> 00:11:12,420 can I hand data tapes around Air

211 00:11:11,490 --> 00:11:14,700 Training Command

212 00:11:12,420 --> 00:11:17,430 they all have Burroughs 220s but there

213 00:11:14,700 --> 00:11:20,850 is no standard operating system and so

214 00:11:17,430 --> 00:11:22,680 somebody some genius in the late 50s

215 00:11:20,850 --> 00:11:25,620 came up with the following idea he said

216 00:11:22,680 --> 00:11:29,520 well what if we had to take format like

217 00:11:25,620 --> 00:11:31,320 this with each long tape record is going

218 00:11:29,520 --> 00:11:33,480 to be made up of three parts the first

219 00:11:31,320 --> 00:11:35,610 part is going to be a relative transfer

220 00:11:33,480 --> 00:11:37,710 vector into the second part which is

221 00:11:35,610 --> 00:11:41,400 going to be a bunch of Burroughs 220

222 00:11:37,710 --> 00:11:43,050 code that 220 code will know how to

223 00:11:41,400 --> 00:11:45,450 interpret the third part which are going

224 00:11:43,050 --> 00:11:47,580 to be our unit records so all you have

225 00:11:45,450 --> 00:11:49,350 to do when you get one of these tapes is

226 00:11:47,580 --> 00:11:51,060 you simply read the transfer back to the

227 00:11:49,350 --> 00:11:53,160 front part of it into a special place in

228 00:11:51,060 --> 00:11:54,780 core and then you can do anything you

229 00:11:53,160 --> 00:11:57,000 want with these tapes because we'll have

230 00:11:54,780 --> 00:11:59,130 a standard protocol in this transfer

231 00:11:57,000 --> 00:12:01,860 vector that's the way that file system

232 00:11:59,130 --> 00:12:03,780 worked back then heck of a good idea I

233 00:12:01,860 --> 00:12:05,850 was just mentioning to somebody this

234 00:12:03,780 --> 00:12:07,380 morning that the first time I ever did

235 00:12:05,850 --> 00:12:10,260 what we would call object-oriented

236 00:12:07,380 --> 00:12:13,350 programming today was done on the 1401

237 00:12:10,260 --> 00:12:16,320 in Auto coder because we used this

238 00:12:13,350 --> 00:12:18,870 technique on the 1401 s there as well

239 00:12:16,320 --> 00:12:21,029 and made up macros to allow us this

240 00:12:18,870 --> 00:12:23,580 generic access to things

241 00:12:21,029 --> 00:12:26,700 terrific idea why didn't it last well

242 00:12:23,580 --> 00:12:30,360 COBOL actually drove it out the adoption

243 00:12:26,700 --> 00:12:33,930 of COBOL as a as a way of getting ahead

244 00:12:30,360 --> 00:12:35,860 actually gave us a weaker metaphor that

245 00:12:33,930 --> 00:12:38,529 we're still saddled with today

246 00:12:35,860 --> 00:12:40,240 the borough's be 5,000 actually

247 00:12:38,529 --> 00:12:43,029 implemented these ideas and hardware it

248 00:12:40,240 --> 00:12:45,130 it antedate sketchpad and probably sent

249 00:12:43,029 --> 00:12:47,019 seven out of the top ten ideas ever

250 00:12:45,130 --> 00:12:48,339 thought up in software are actually

251 00:12:47,019 --> 00:12:51,100 implementing the hardware of this

252 00:12:48,339 --> 00:12:52,690 machine Burroughs made the enormous

253 00:12:51,100 --> 00:12:56,290 mistake of trying to explain this

254 00:12:52,690 --> 00:12:58,120 machine to their customers back then

255 00:12:56,290 --> 00:12:59,680 they actually hired college graduates

256 00:12:58,120 --> 00:13:01,390 and taught them how the machine works so

257 00:12:59,680 --> 00:13:03,910 they could go out and tell the customers

258 00:13:01,390 --> 00:13:05,380 how good it really was and I was I think

259 00:13:03,910 --> 00:13:07,990 it was the third machine that I learned

260 00:13:05,380 --> 00:13:09,640 back then and the these college

261 00:13:07,990 --> 00:13:11,290 graduates scared the heck out of all of

262 00:13:09,640 --> 00:13:13,120 these old data processing managers who

263 00:13:11,290 --> 00:13:16,750 are just struggling out of punch cards

264 00:13:13,120 --> 00:13:19,620 and the machine was late as well so it

265 00:13:16,750 --> 00:13:23,649 just never caught on sketchpad and then

266 00:13:19,620 --> 00:13:27,160 Simula was the first programming

267 00:13:23,649 --> 00:13:30,550 language that I would call trying to be

268 00:13:27,160 --> 00:13:32,230 an object-oriented language and there

269 00:13:30,550 --> 00:13:36,459 are two versions of it in between I

270 00:13:32,230 --> 00:13:39,010 designed a language called flex which is

271 00:13:36,459 --> 00:13:41,860 an attempt to simplify Simula and in

272 00:13:39,010 --> 00:13:43,839 some sense some real sense the small

273 00:13:41,860 --> 00:13:47,290 talks were an attempt to send to

274 00:13:43,839 --> 00:13:50,500 simplify Simula as well but there are

275 00:13:47,290 --> 00:13:53,980 all these other things that fed into it

276 00:13:50,500 --> 00:13:55,930 over here which the most important ones

277 00:13:53,980 --> 00:13:59,020 for I think object-oriented programming

278 00:13:55,930 --> 00:14:02,050 are the Lisp influences and over on this

279 00:13:59,020 --> 00:14:04,570 side influences that are basically

280 00:14:02,050 --> 00:14:12,579 either philosophical or coming out of

281 00:14:04,570 --> 00:14:16,060 cell biology now reason I bring these

282 00:14:12,579 --> 00:14:17,950 these up is because I think it's it's

283 00:14:16,060 --> 00:14:19,660 critical when thinking about

284 00:14:17,950 --> 00:14:22,720 object-oriented programming not to look

285 00:14:19,660 --> 00:14:24,790 at the the systems that are out there

286 00:14:22,720 --> 00:14:26,140 today and think this is object-oriented

287 00:14:24,790 --> 00:14:28,750 programming because in my opinion it

288 00:14:26,140 --> 00:14:31,390 isn't to me small talk eighty is not an

289 00:14:28,750 --> 00:14:33,579 object-oriented language because it

290 00:14:31,390 --> 00:14:35,410 lacks one of the things that I thought

291 00:14:33,579 --> 00:14:38,290 was most important in object-oriented

292 00:14:35,410 --> 00:14:42,850 design and that is differential

293 00:14:38,290 --> 00:14:44,500 protection which means that you should

294 00:14:42,850 --> 00:14:46,000 be it when an object is put out into the

295 00:14:44,500 --> 00:14:49,360 world that should be able to protect

296 00:14:46,000 --> 00:14:51,910 itself against various

297 00:14:49,360 --> 00:14:54,519 cendars so for instance if you have a

298 00:14:51,910 --> 00:14:55,959 file object but you would like the file

299 00:14:54,519 --> 00:14:57,970 object to be able to do is to

300 00:14:55,959 --> 00:14:59,860 discriminate about who's sending it the

301 00:14:57,970 --> 00:15:03,160 message to change bite number eight in

302 00:14:59,860 --> 00:15:06,940 the file and it's possible to do that in

303 00:15:03,160 --> 00:15:11,260 small talk but it's not set up to

304 00:15:06,940 --> 00:15:13,380 actually do that you can act in small

305 00:15:11,260 --> 00:15:16,000 talk you have to instrument every method

306 00:15:13,380 --> 00:15:17,380 that you want to protect in order to in

307 00:15:16,000 --> 00:15:20,140 order for it to do something

308 00:15:17,380 --> 00:15:21,839 the earliest small talk it was combined

309 00:15:20,140 --> 00:15:24,310 with what's known as capability

310 00:15:21,839 --> 00:15:25,990 protection there was objects were seen

311 00:15:24,310 --> 00:15:28,480 as a generalization of capability

312 00:15:25,990 --> 00:15:31,839 protection and that protection was built

313 00:15:28,480 --> 00:15:34,360 in so that no object could command

314 00:15:31,839 --> 00:15:35,680 another one to me the biggest difference

315 00:15:34,360 --> 00:15:37,120 between whether you really have an

316 00:15:35,680 --> 00:15:39,149 object-oriented system or not is whether

317 00:15:37,120 --> 00:15:43,839 you are really sending messages or not

318 00:15:39,149 --> 00:15:45,670 and small talk and Objective C and C++

319 00:15:43,839 --> 00:15:46,990 and all this you aren't really sending

320 00:15:45,670 --> 00:15:49,360 messages you're actually just doing

321 00:15:46,990 --> 00:15:52,029 subroutine calls which means that in

322 00:15:49,360 --> 00:15:55,410 some sense the sender guy on the outside

323 00:15:52,029 --> 00:15:59,560 is commanding the object to do things

324 00:15:55,410 --> 00:16:01,000 and the whole notion is not for doing

325 00:15:59,560 --> 00:16:03,790 commands but for doing something else

326 00:16:01,000 --> 00:16:05,970 let me give you a sort of a feeling for

327 00:16:03,790 --> 00:16:05,970 that

328 00:16:17,560 --> 00:16:25,279 when I started thinking about this stuff

329 00:16:21,070 --> 00:16:30,050 for real after I done a done a few

330 00:16:25,279 --> 00:16:33,320 failures I came to realize that the only

331 00:16:30,050 --> 00:16:35,839 model that I knew of either done by man

332 00:16:33,320 --> 00:16:38,330 or in nature that really could handle

333 00:16:35,839 --> 00:16:41,600 complexity in any appreciable fashion

334 00:16:38,330 --> 00:16:44,089 was a biological one the biological one

335 00:16:41,600 --> 00:16:47,540 ninety percent of a cell's effort is

336 00:16:44,089 --> 00:16:49,040 going into its own protection only ten

337 00:16:47,540 --> 00:16:50,690 percent of the cells effort is going

338 00:16:49,040 --> 00:16:52,220 into contribute or less as going into

339 00:16:50,690 --> 00:16:55,970 contributing to what the organism is

340 00:16:52,220 --> 00:17:00,260 about and the cells communicate both in

341 00:16:55,970 --> 00:17:03,470 the embryo and in the adult organism by

342 00:17:00,260 --> 00:17:06,020 sending messages around that they have

343 00:17:03,470 --> 00:17:08,750 very elaborate mechanisms to keep most

344 00:17:06,020 --> 00:17:12,050 messages out but many of the diseases

345 00:17:08,750 --> 00:17:14,390 that we fall prey to including AIDS have

346 00:17:12,050 --> 00:17:20,390 to do with cells not being able to keep

347 00:17:14,390 --> 00:17:24,920 certain messages out so that translated

348 00:17:20,390 --> 00:17:27,290 to me into take the biological cell

349 00:17:24,920 --> 00:17:29,120 metaphor and try and translate it into

350 00:17:27,290 --> 00:17:31,250 machine terms it's like you have lots of

351 00:17:29,120 --> 00:17:33,710 separate little computers running on a

352 00:17:31,250 --> 00:17:35,990 network able to send messages back and

353 00:17:33,710 --> 00:17:37,790 forth to each other when you think of

354 00:17:35,990 --> 00:17:40,340 this as the ground base of

355 00:17:37,790 --> 00:17:41,750 object-oriented systems then it's very

356 00:17:40,340 --> 00:17:44,120 difficult to think of this machine

357 00:17:41,750 --> 00:17:46,460 commanding this other machine because

358 00:17:44,120 --> 00:17:48,170 real computers have mechanisms for

359 00:17:46,460 --> 00:17:51,410 holding off commands they don't have to

360 00:17:48,170 --> 00:17:54,320 listen to you if they don't want and so

361 00:17:51,410 --> 00:17:56,120 the idea that each one of these objects

362 00:17:54,320 --> 00:17:57,530 is responsible for its own protection as

363 00:17:56,120 --> 00:18:00,850 the strongest thing you should ever be

364 00:17:57,530 --> 00:18:03,920 able to do is to be able to beseech

365 00:18:00,850 --> 00:18:06,620 please do this for me but you shouldn't

366 00:18:03,920 --> 00:18:07,730 be able to say do this for me any more

367 00:18:06,620 --> 00:18:10,040 than you should be able to do the

368 00:18:07,730 --> 00:18:12,650 equivalent of an assignment statement so

369 00:18:10,040 --> 00:18:14,809 one of the major things I worked on when

370 00:18:12,650 --> 00:18:16,250 I was designing the early small talk was

371 00:18:14,809 --> 00:18:19,100 how can we get rid of the assignment

372 00:18:16,250 --> 00:18:20,450 statement as an imperative and replace

373 00:18:19,100 --> 00:18:22,280 it with something that was much more of

374 00:18:20,450 --> 00:18:24,980 a suggestion

375 00:18:22,280 --> 00:18:26,840 and the amount of state that got changed

376 00:18:24,980 --> 00:18:28,970 if any was completely up to the

377 00:18:26,840 --> 00:18:30,530 discretion of the underlying object to

378 00:18:28,970 --> 00:18:32,809 me any language that doesn't implement

379 00:18:30,530 --> 00:18:35,540 that fully is not an object-oriented

380 00:18:32,809 --> 00:18:37,220 language because you've what you have is

381 00:18:35,540 --> 00:18:39,950 something more much more like abstract

382 00:18:37,220 --> 00:18:41,300 data types where you have a bad old idea

383 00:18:39,950 --> 00:18:44,530 and you're trying to put Bearnaise sauce

384 00:18:41,300 --> 00:18:47,660 on it in the hopes that will be better

385 00:18:44,530 --> 00:18:53,240 but Bearnaise sauce on a hot dog doesn't

386 00:18:47,660 --> 00:18:57,080 help so the input basic two implications

387 00:18:53,240 --> 00:18:59,090 here is that you have an outside and an

388 00:18:57,080 --> 00:19:01,850 inside the outside is completely

389 00:18:59,090 --> 00:19:04,309 behavioral messages can't be commands

390 00:19:01,850 --> 00:19:08,030 and assignment has to be replaced by

391 00:19:04,309 --> 00:19:09,500 advise if you have those two things then

392 00:19:08,030 --> 00:19:11,990 you have object or whether you have

393 00:19:09,500 --> 00:19:14,780 inheritance or not is not nearly as

394 00:19:11,990 --> 00:19:16,220 critical not nearly as critical because

395 00:19:14,780 --> 00:19:17,840 I'm a good object-oriented language you

396 00:19:16,220 --> 00:19:20,990 can actually build it and you may very

397 00:19:17,840 --> 00:19:28,490 well want to in some form of delegation

398 00:19:20,990 --> 00:19:30,410 mechanism so on these mysteries started

399 00:19:28,490 --> 00:19:32,960 becoming clear when I worked on this

400 00:19:30,410 --> 00:19:35,590 machine this is the old flex machine

401 00:19:32,960 --> 00:19:38,390 that Idi Cheadle and I did 20 years ago

402 00:19:35,590 --> 00:19:41,809 67 to 69 this is what it looked like on

403 00:19:38,390 --> 00:19:44,780 its own display and it was influenced

404 00:19:41,809 --> 00:19:49,280 very much by sketchpad by angle Bart's

405 00:19:44,780 --> 00:19:51,470 first hypertext system by simulant had a

406 00:19:49,280 --> 00:19:54,020 programming language I designed called

407 00:19:51,470 --> 00:19:58,070 flex it had a user interface that was so

408 00:19:54,020 --> 00:19:59,540 well designed it most people reacted to

409 00:19:58,070 --> 00:20:01,309 it the way you would if you opened up

410 00:19:59,540 --> 00:20:02,929 the lid of a garbage can and saw

411 00:20:01,309 --> 00:20:04,370 something moist and fuzzy down at the

412 00:20:02,929 --> 00:20:06,620 bottom

413 00:20:04,370 --> 00:20:14,630 or pretty much the way people react to

414 00:20:06,620 --> 00:20:18,380 APL today I'm really proud of that user

415 00:20:14,630 --> 00:20:19,850 interface of all the things I've

416 00:20:18,380 --> 00:20:25,159 designed it produced probably the most

417 00:20:19,850 --> 00:20:27,830 startling reaction but didn't have a few

418 00:20:25,159 --> 00:20:32,029 ideas on it it had a really good

419 00:20:27,830 --> 00:20:33,830 windowing system one of the first and I

420 00:20:32,029 --> 00:20:35,360 had multiple windows it was a

421 00:20:33,830 --> 00:20:37,580 calligraphic display so the windows

422 00:20:35,360 --> 00:20:39,049 didn't overlap back then but a lot of

423 00:20:37,580 --> 00:20:43,760 the things that we're familiar with now

424 00:20:39,049 --> 00:20:46,520 in modern user interface were developed

425 00:20:43,760 --> 00:20:53,120 on this machine although kind of ass

426 00:20:46,520 --> 00:20:56,539 backwards most of the time so after

427 00:20:53,120 --> 00:20:58,610 wandering about what we should do

428 00:20:56,539 --> 00:21:00,890 I realized that McLuhan made this great

429 00:20:58,610 --> 00:21:02,390 statement that I read one day said I

430 00:21:00,890 --> 00:21:06,950 don't know who discovered water but it

431 00:21:02,390 --> 00:21:09,190 wasn't a fish and I realized that as a

432 00:21:06,950 --> 00:21:11,539 graduate student I was the world's worst

433 00:21:09,190 --> 00:21:12,679 user interface designer because the

434 00:21:11,539 --> 00:21:14,299 whole thing about being a graduate

435 00:21:12,679 --> 00:21:17,450 student is to learn a really stupid

436 00:21:14,299 --> 00:21:20,360 system with 500 obscure commands just to

437 00:21:17,450 --> 00:21:21,980 prove that you can when you turn a

438 00:21:20,360 --> 00:21:24,020 person like that loose on a user

439 00:21:21,980 --> 00:21:26,980 interface you wind up with something

440 00:21:24,020 --> 00:21:26,980 like ms-dos

441 00:21:29,039 --> 00:21:33,460 so for a while I was thinking well I

442 00:21:31,510 --> 00:21:35,529 need some other context there must be

443 00:21:33,460 --> 00:21:37,539 some other context and I looked at some

444 00:21:35,529 --> 00:21:39,970 of the language work with chimpanzees

445 00:21:37,539 --> 00:21:42,460 was rather hard to get hold of

446 00:21:39,970 --> 00:21:43,840 chimpanzees the Xerox corporate

447 00:21:42,460 --> 00:21:46,470 executives who would never stay around

448 00:21:43,840 --> 00:21:46,470 long enough

449 00:21:48,190 --> 00:21:53,480 so finally for various reasons decided

450 00:21:51,770 --> 00:21:59,210 to work with children who are also an

451 00:21:53,480 --> 00:22:01,340 alien species but Palo Alto had had bred

452 00:21:59,210 --> 00:22:10,970 hundreds of them just for our

453 00:22:01,340 --> 00:22:13,760 experiments and once we started thinking

454 00:22:10,970 --> 00:22:18,320 about children as the end users lots of

455 00:22:13,760 --> 00:22:21,500 things changed because children had to

456 00:22:18,320 --> 00:22:22,990 have something so portable they could

457 00:22:21,500 --> 00:22:25,910 carry other things too

458 00:22:22,990 --> 00:22:33,799 in other words 0.5 herniation spur block

459 00:22:25,910 --> 00:22:35,570 is not portability so about 20 years ago

460 00:22:33,799 --> 00:22:38,679 I came up with this idea which is called

461 00:22:35,570 --> 00:22:42,580 the we call the Dynabook back then in it

462 00:22:38,679 --> 00:22:44,690 my friend Dave Liddell who is here today

463 00:22:42,580 --> 00:22:47,660 when he was at the University of

464 00:22:44,690 --> 00:22:50,510 Illinois and worked for Owens Corning

465 00:22:47,660 --> 00:22:52,400 worked on the very first flat panel

466 00:22:50,510 --> 00:22:54,830 display which I saw a one-inch square

467 00:22:52,400 --> 00:22:55,940 version of back in 1968 and realized it

468 00:22:54,830 --> 00:22:58,580 was only going to be a number of years

469 00:22:55,940 --> 00:23:00,710 before we could put all of the silicon

470 00:22:58,580 --> 00:23:02,480 that was in the Flex machine on the back

471 00:23:00,710 --> 00:23:05,150 of the display and that this would be

472 00:23:02,480 --> 00:23:07,309 one of the inescapable form factors of

473 00:23:05,150 --> 00:23:09,679 the computers of the of the future so

474 00:23:07,309 --> 00:23:11,000 once starting to think about that and

475 00:23:09,679 --> 00:23:12,679 thinking about the children as the end

476 00:23:11,000 --> 00:23:16,370 users it meant that things had to be

477 00:23:12,679 --> 00:23:19,130 much much simpler than we'd ever done

478 00:23:16,370 --> 00:23:22,070 before and one of the hints I got was

479 00:23:19,130 --> 00:23:25,340 from a great system done at RAND

480 00:23:22,070 --> 00:23:27,410 Corporation a Rand probably has

481 00:23:25,340 --> 00:23:28,850 contributed more to user interface

482 00:23:27,410 --> 00:23:32,990 design than almost any other single

483 00:23:28,850 --> 00:23:34,460 place nobody knows that probably nobody

484 00:23:32,990 --> 00:23:36,020 in this room or maybe only one or two

485 00:23:34,460 --> 00:23:39,080 people in this room remember a language

486 00:23:36,020 --> 00:23:42,410 called Joss Joss was designed in the

487 00:23:39,080 --> 00:23:46,120 very early 60s on a machine called the

488 00:23:42,410 --> 00:23:49,070 johniac and Joss was probably the best

489 00:23:46,120 --> 00:23:51,919 teletype or typewriter oriented

490 00:23:49,070 --> 00:23:54,919 programming system ever done it was the

491 00:23:51,919 --> 00:23:58,460 one that invented the interaction scheme

492 00:23:54,919 --> 00:24:01,660 that we now know of in APL of having two

493 00:23:58,460 --> 00:24:05,150 in direct commands that came from Jos

494 00:24:01,660 --> 00:24:07,640 basic adopted at many years later and so

495 00:24:05,150 --> 00:24:08,960 forth and Jos had the misfortune of

496 00:24:07,640 --> 00:24:10,850 being implemented on the wrong machine

497 00:24:08,960 --> 00:24:13,760 or else we would have been able to start

498 00:24:10,850 --> 00:24:17,420 much further along than then a language

499 00:24:13,760 --> 00:24:20,300 like basic so this language have been

500 00:24:17,420 --> 00:24:22,370 developed for non expert users who are

501 00:24:20,300 --> 00:24:27,020 mostly economists who had to do a fair

502 00:24:22,370 --> 00:24:29,930 amount of computation and the these

503 00:24:27,020 --> 00:24:31,970 users loved Jos fact I get a chance to

504 00:24:29,930 --> 00:24:34,400 use it in the 60s as well and it was

505 00:24:31,970 --> 00:24:35,870 just there's one of the few systems that

506 00:24:34,400 --> 00:24:38,510 you've ever worked on in which there was

507 00:24:35,870 --> 00:24:39,680 a pleasant little tingle when you knew

508 00:24:38,510 --> 00:24:40,970 you were going to get a chance to work

509 00:24:39,680 --> 00:24:42,830 on it for a few hours in the afternoon

510 00:24:40,970 --> 00:24:45,560 how many systems can you say that about

511 00:24:42,830 --> 00:24:47,950 it was just encrypt there was nothing

512 00:24:45,560 --> 00:24:51,020 left to chance everything was done

513 00:24:47,950 --> 00:24:53,120 beautifully aesthetically and so forth

514 00:24:51,020 --> 00:24:56,660 and the only complaint these economists

515 00:24:53,120 --> 00:24:59,120 had was they said hey none of us can

516 00:24:56,660 --> 00:25:01,310 type we love this system but we can't

517 00:24:59,120 --> 00:25:03,710 type can't you do something for us so

518 00:25:01,310 --> 00:25:05,300 the RAM people went actually went

519 00:25:03,710 --> 00:25:06,260 through their waste paper baskets to see

520 00:25:05,300 --> 00:25:08,030 what they did right

521 00:25:06,260 --> 00:25:10,760 I guess not too many divorces were

522 00:25:08,030 --> 00:25:14,630 caused by that these guys used to write

523 00:25:10,760 --> 00:25:17,510 on legal pads and so forth and they made

524 00:25:14,630 --> 00:25:20,180 diagrams and so the RAM people in 1964

525 00:25:17,510 --> 00:25:22,490 invented the first tablet was called Ram

526 00:25:20,180 --> 00:25:27,230 tablet I remember when we got one at

527 00:25:22,490 --> 00:25:30,130 Utah a few years later 1967 one of those

528 00:25:27,230 --> 00:25:32,510 Rand tablets thousand by a thousand

529 00:25:30,130 --> 00:25:37,240 stylus pointing device first good one

530 00:25:32,510 --> 00:25:40,580 ever done 1967 that single device cost

531 00:25:37,240 --> 00:25:41,960 $18,000 and you had to hook it to a

532 00:25:40,580 --> 00:25:43,700 machine that was worth a half a million

533 00:25:41,960 --> 00:25:48,020 to a million to make any use of it a

534 00:25:43,700 --> 00:25:48,980 year after 1965 a guy by the name of

535 00:25:48,020 --> 00:25:51,170 Gabe groaner

536 00:25:48,980 --> 00:25:53,390 did the first really good gesture

537 00:25:51,170 --> 00:25:54,920 recognizer and a few years later they

538 00:25:53,390 --> 00:25:57,080 put this all together into a system

539 00:25:54,920 --> 00:25:59,210 called Grail for graphical input

540 00:25:57,080 --> 00:26:03,740 language let's run the second cut on

541 00:25:59,210 --> 00:26:06,100 tape one here's what this looked like 20

542 00:26:03,740 --> 00:26:06,100 years ago

543 00:26:14,340 --> 00:26:21,550 this list takes us back where we may

544 00:26:19,390 --> 00:26:23,650 start to edit the flow diagram the no

545 00:26:21,550 --> 00:26:26,110 keyboard first we erase a flow arrow

546 00:26:23,650 --> 00:26:28,860 then move the connector toddled away so

547 00:26:26,110 --> 00:26:31,270 that we may draw a box in its place

548 00:26:28,860 --> 00:26:35,830 it recognizes he wants a box and just

549 00:26:31,270 --> 00:26:39,400 makes one the printed nine used as

550 00:26:35,830 --> 00:26:43,630 commentary only in this case the box is

551 00:26:39,400 --> 00:26:45,130 large so we make as where modern-day

552 00:26:43,630 --> 00:26:47,679 window control came from literally

553 00:26:45,130 --> 00:26:52,510 Android flow from the connector to the

554 00:26:47,679 --> 00:26:57,340 box attached a decision element to the

555 00:26:52,510 --> 00:26:59,140 box and joy flow from it to scan we then

556 00:26:57,340 --> 00:27:02,559 erased the floor arrows attached to the

557 00:26:59,140 --> 00:27:09,970 process post new area and move the box

558 00:27:02,559 --> 00:27:15,870 to a new position this allows us to draw

559 00:27:09,970 --> 00:27:24,010 a new box then chop off its corner and

560 00:27:15,870 --> 00:27:26,170 label it sub scan with a residual error

561 00:27:24,010 --> 00:27:29,580 I notice it misses the end here he sees

562 00:27:26,170 --> 00:27:32,050 it he has to thing but it's motiveless

563 00:27:29,580 --> 00:27:36,670 so just continues what he was doing it

564 00:27:32,050 --> 00:27:39,550 makes the change correct the label add a

565 00:27:36,670 --> 00:27:45,040 decision on sub scan so that control may

566 00:27:39,550 --> 00:27:53,320 flow to the pleat the diagram from scan

567 00:27:45,040 --> 00:27:56,440 to post a chance for an hour really

568 00:27:53,320 --> 00:28:00,910 changed used interaction or synching

569 00:27:56,440 --> 00:28:04,059 your hands right display the structures

570 00:28:00,910 --> 00:28:06,610 underneath so it wasn't just personal

571 00:28:04,059 --> 00:28:09,760 wasn't just going from the mainframe to

572 00:28:06,610 --> 00:28:11,980 the desktop this was intimate because

573 00:28:09,760 --> 00:28:14,260 you were right there there were fewer

574 00:28:11,980 --> 00:28:16,600 barriers notice that the command scheme

575 00:28:14,260 --> 00:28:19,030 is not even menu-driven here the

576 00:28:16,600 --> 00:28:21,550 commands are actually analogues to the

577 00:28:19,030 --> 00:28:22,400 results you want to have so it's not

578 00:28:21,550 --> 00:28:25,820 just icon

579 00:28:22,400 --> 00:28:29,240 it's an illogical very powerful set of

580 00:28:25,820 --> 00:28:32,570 ideas again done on a machine almost the

581 00:28:29,240 --> 00:28:36,290 size of this this room but slightly less

582 00:28:32,570 --> 00:28:39,440 powerful than a 512 K Mac but this is a

583 00:28:36,290 --> 00:28:42,050 technology that actually got buried we

584 00:28:39,440 --> 00:28:43,790 we did many versions of this kind of

585 00:28:42,050 --> 00:28:46,100 stuff at Parc I used to show this movie

586 00:28:43,790 --> 00:28:47,750 every couple of months to my group so we

587 00:28:46,100 --> 00:28:53,840 wouldn't forget what it was that we were

588 00:28:47,750 --> 00:28:56,030 trying to do and the we're ready now in

589 00:28:53,840 --> 00:28:58,370 the next few years to see a rise of

590 00:28:56,030 --> 00:29:00,110 gesture recognition because the micros

591 00:28:58,370 --> 00:29:02,770 are now powerful enough to do this and

592 00:29:00,110 --> 00:29:06,050 still have some cycles left over for

593 00:29:02,770 --> 00:29:07,640 doing work for the for the user and you

594 00:29:06,050 --> 00:29:09,890 may not know it or not but actually one

595 00:29:07,640 --> 00:29:13,970 of the best groups in the country in

596 00:29:09,890 --> 00:29:17,240 doing a handwriting recognition is at

597 00:29:13,970 --> 00:29:21,890 IBM big surprise but you actually have

598 00:29:17,240 --> 00:29:23,540 one of the better technologies here and

599 00:29:21,890 --> 00:29:26,720 so if you're you're interested in this I

600 00:29:23,540 --> 00:29:29,240 suggest you look in the IBM phone

601 00:29:26,720 --> 00:29:33,890 dictionary for the group that is doing

602 00:29:29,240 --> 00:29:36,680 it now John Sculley was once wearing how

603 00:29:33,890 --> 00:29:38,150 many scientists that were at IBM and I

604 00:29:36,680 --> 00:29:40,460 said yeah John there are many more

605 00:29:38,150 --> 00:29:42,290 scientists at IBM there are employees at

606 00:29:40,460 --> 00:29:53,420 Apple but don't worry IBM doesn't listen

607 00:29:42,290 --> 00:29:54,800 to them just like it Xerox you know you

608 00:29:53,420 --> 00:29:56,150 want them to let you alone when you're

609 00:29:54,800 --> 00:29:58,280 working but then you want them to come

610 00:29:56,150 --> 00:30:02,050 around when you've got something

611 00:29:58,280 --> 00:30:08,500 [Laughter]

612 00:30:02,050 --> 00:30:08,500 it's hard to get both to happen so I

613 00:30:09,610 --> 00:30:14,240 want to intertwine some stuff in here

614 00:30:11,990 --> 00:30:16,040 because in although this isn't really a

615 00:30:14,240 --> 00:30:19,250 historical thing it's very to me it's

616 00:30:16,040 --> 00:30:21,680 very important that the stuff that gave

617 00:30:19,250 --> 00:30:24,440 rise to what this symposium is all about

618 00:30:21,680 --> 00:30:26,200 was not at all disconnected from the

619 00:30:24,440 --> 00:30:31,460 fact that there were going to be users

620 00:30:26,200 --> 00:30:34,760 working on the on a system and so the

621 00:30:31,460 --> 00:30:36,260 the whole thing that brought forth real

622 00:30:34,760 --> 00:30:37,730 object-oriented programming and small

623 00:30:36,260 --> 00:30:39,230 talk and the user interface that went

624 00:30:37,730 --> 00:30:41,750 along with it was that we had these

625 00:30:39,230 --> 00:30:44,000 children and we wanted these children to

626 00:30:41,750 --> 00:30:45,470 not just be able to have access to

627 00:30:44,000 --> 00:30:46,640 things but we wanted the children to be

628 00:30:45,470 --> 00:30:49,640 able to build things

629 00:30:46,640 --> 00:30:52,160 so our if this what we said was is if

630 00:30:49,640 --> 00:30:53,870 this is if this were print literacy we

631 00:30:52,160 --> 00:30:56,060 don't want to teach the kids just to

632 00:30:53,870 --> 00:30:58,850 read print literacy isn't just reading

633 00:30:56,060 --> 00:31:00,800 it's also writing we want the kids to

634 00:30:58,850 --> 00:31:03,080 somehow be able to write and the

635 00:31:00,800 --> 00:31:05,600 equivalent of writing on the computer is

636 00:31:03,080 --> 00:31:07,340 not necessarily programming in the in

637 00:31:05,600 --> 00:31:10,220 the COBOL sense but it certainly is

638 00:31:07,340 --> 00:31:12,590 building structures of your own and so

639 00:31:10,220 --> 00:31:16,750 very early we got into this whole area

640 00:31:12,590 --> 00:31:20,810 of wondering well how does the mind work

641 00:31:16,750 --> 00:31:23,000 if at all and the first thing we

642 00:31:20,810 --> 00:31:24,860 discovered that whatever common sense

643 00:31:23,000 --> 00:31:28,460 notions we had about the mind working

644 00:31:24,860 --> 00:31:29,750 they certainly weren't at all in accord

645 00:31:28,460 --> 00:31:32,000 with what had been discovered in the

646 00:31:29,750 --> 00:31:34,460 last couple of decades

647 00:31:32,000 --> 00:31:37,280 for instance common sense idea that's

648 00:31:34,460 --> 00:31:39,170 been in history for thousands of years

649 00:31:37,280 --> 00:31:43,160 is that because we think of ourselves as

650 00:31:39,170 --> 00:31:46,400 an individual we think there's a single

651 00:31:43,160 --> 00:31:49,730 eyeness and even in the work of Piaget

652 00:31:46,400 --> 00:31:51,890 we see in thinking of the progression of

653 00:31:49,730 --> 00:31:53,390 an infant mind to an adult mind as

654 00:31:51,890 --> 00:31:55,880 something like the transformation of a

655 00:31:53,390 --> 00:31:58,190 caterpillar into a butterfly that you go

656 00:31:55,880 --> 00:32:00,230 from something less form to something

657 00:31:58,190 --> 00:32:04,280 more form but it's all made out of the

658 00:32:00,230 --> 00:32:05,450 same stuff whereas the the truth seems

659 00:32:04,280 --> 00:32:07,430 to be quite different and quite

660 00:32:05,450 --> 00:32:09,280 startling that our mind is really made

661 00:32:07,430 --> 00:32:13,220 up of a kind of a patchwork quilt

662 00:32:09,280 --> 00:32:14,419 modules or objects if you will and these

663 00:32:13,220 --> 00:32:15,889 objects

664 00:32:14,419 --> 00:32:17,840 indicate imperfectly because they came

665 00:32:15,889 --> 00:32:20,090 about at different biological times for

666 00:32:17,840 --> 00:32:23,929 different evolutionary reasons and it

667 00:32:20,090 --> 00:32:26,859 give you an idea of the modularity of

668 00:32:23,929 --> 00:32:29,299 the mind let's take a look at this and

669 00:32:26,859 --> 00:32:32,470 let's see who in the audience can spot

670 00:32:29,299 --> 00:32:32,470 what's wrong with this picture

671 00:32:32,649 --> 00:32:38,019 besides the fact you've all seen ups and

672 00:32:34,970 --> 00:32:42,009 upside down faces before who can see

673 00:32:38,019 --> 00:32:45,669 smile is what upside down and what else

674 00:32:42,009 --> 00:32:50,419 these teeth are and what else the eyes

675 00:32:45,669 --> 00:32:52,669 okay so now if we were in school and I

676 00:32:50,419 --> 00:32:54,080 were a teacher I would say to you this

677 00:32:52,669 --> 00:32:58,639 is the way things are taught in school

678 00:32:54,080 --> 00:33:00,710 by language I would say that what we've

679 00:32:58,639 --> 00:33:03,259 done here is we've taken a picture of a

680 00:33:00,710 --> 00:33:05,239 young girl extracted the eyes and mouth

681 00:33:03,259 --> 00:33:07,039 turned them upside down put them back in

682 00:33:05,239 --> 00:33:10,009 with an airbrush and then turned the

683 00:33:07,039 --> 00:33:11,419 entire picture upside down okay so

684 00:33:10,009 --> 00:33:12,710 having said that you should be perfectly

685 00:33:11,419 --> 00:33:15,129 prepared for what it looks like right

686 00:33:12,710 --> 00:33:15,129 side up

687 00:33:20,140 --> 00:33:24,760 now I'm gonna turn this back as I've

688 00:33:22,420 --> 00:33:35,110 discovered discovered nobody will listen

689 00:33:24,760 --> 00:33:37,929 to me when it's on the other way so

690 00:33:35,110 --> 00:33:40,080 that's interesting that I gave you the

691 00:33:37,929 --> 00:33:43,450 exactly the same amount of information

692 00:33:40,080 --> 00:33:45,010 two times one through language and one

693 00:33:43,450 --> 00:33:47,530 visually and you had a completely

694 00:33:45,010 --> 00:33:49,570 different reaction to the exact same

695 00:33:47,530 --> 00:33:51,250 information that's the kind of thing

696 00:33:49,570 --> 00:33:54,760 that perceptual cycle and cognitive

697 00:33:51,250 --> 00:33:56,710 psychologists really love because means

698 00:33:54,760 --> 00:33:58,270 that different information going into

699 00:33:56,710 --> 00:33:59,650 different channels is going to different

700 00:33:58,270 --> 00:34:01,480 parts of the brain and you're having

701 00:33:59,650 --> 00:34:05,110 different reactions therefore there are

702 00:34:01,480 --> 00:34:08,020 modules in this particular one the

703 00:34:05,110 --> 00:34:09,820 module that's causing this effect the

704 00:34:08,020 --> 00:34:11,859 two modules are actually known

705 00:34:09,820 --> 00:34:13,419 physiologically they're located on the

706 00:34:11,859 --> 00:34:16,359 under right hand side of the brain where

707 00:34:13,419 --> 00:34:18,190 you do face recognition and about an

708 00:34:16,359 --> 00:34:21,639 inch apart from each other one of them

709 00:34:18,190 --> 00:34:23,649 is a expert in recognizing face like

710 00:34:21,639 --> 00:34:25,869 things as the thing allows you to see

711 00:34:23,649 --> 00:34:27,760 faces in the clouds when children get

712 00:34:25,869 --> 00:34:29,980 scale scared at twilight with menacing

713 00:34:27,760 --> 00:34:32,590 shadows and so forth that module is

714 00:34:29,980 --> 00:34:34,600 going off saying I see a face like thing

715 00:34:32,590 --> 00:34:37,690 right now it's reporting I see an upside

716 00:34:34,600 --> 00:34:39,940 down face like thing about an inch away

717 00:34:37,690 --> 00:34:40,810 is another module that's only interested

718 00:34:39,940 --> 00:34:42,940 in eyes and mouth

719 00:34:40,810 --> 00:34:44,290 it doesn't care where they are and it's

720 00:34:42,940 --> 00:34:46,899 reporting that's a good looking mouth

721 00:34:44,290 --> 00:34:49,629 and those are okay eyes and so the two

722 00:34:46,899 --> 00:34:52,200 descriptions basically have very little

723 00:34:49,629 --> 00:34:54,340 interaction they're quite independent

724 00:34:52,200 --> 00:34:58,690 reporting's from two different modules

725 00:34:54,340 --> 00:35:00,190 now when I go to this version the face

726 00:34:58,690 --> 00:35:02,170 guy is saying that's a right-side up

727 00:35:00,190 --> 00:35:04,060 face like thing and the eyes and mouth

728 00:35:02,170 --> 00:35:06,450 guy is saying something is very wrong

729 00:35:04,060 --> 00:35:06,450 here

730 00:35:11,710 --> 00:35:16,370 now you can imagine why nature might

731 00:35:14,180 --> 00:35:17,720 want you to be startled see a face like

732 00:35:16,370 --> 00:35:24,980 this up close to might mean you're going

733 00:35:17,720 --> 00:35:27,230 to die on the next 10 seconds and in

734 00:35:24,980 --> 00:35:28,790 fact it's this is not something that you

735 00:35:27,230 --> 00:35:31,010 learn it's actually built into our

736 00:35:28,790 --> 00:35:32,540 nervous systems from birth into most

737 00:35:31,010 --> 00:35:34,910 mammals in fact so if you try this

738 00:35:32,540 --> 00:35:37,630 experiment out on a dog I suggest you

739 00:35:34,910 --> 00:35:37,630 pick a small one

740 00:35:42,210 --> 00:35:45,349 [Applause]

741 00:35:45,540 --> 00:35:54,119 so important idea here is that there are

742 00:35:49,840 --> 00:35:58,109 modules the just what the modules are is

743 00:35:54,119 --> 00:36:01,330 still open to debate some of the modules

744 00:35:58,109 --> 00:36:05,170 are even metaphoric I'm not all of them

745 00:36:01,330 --> 00:36:06,940 are physiologically cited because of the

746 00:36:05,170 --> 00:36:09,250 way the the nervous system is organized

747 00:36:06,940 --> 00:36:11,140 they can act we can have modules that

748 00:36:09,250 --> 00:36:13,660 are distributed all over the the brains

749 00:36:11,140 --> 00:36:15,760 of going ideas like left brain and right

750 00:36:13,660 --> 00:36:17,950 brain are a particularly weak way of

751 00:36:15,760 --> 00:36:19,359 trying to characterize it but most

752 00:36:17,950 --> 00:36:21,190 important thing is once you realize that

753 00:36:19,359 --> 00:36:23,050 there's more than one module and that

754 00:36:21,190 --> 00:36:25,450 the modules have different ways of

755 00:36:23,050 --> 00:36:28,810 thinking about things and are somewhat

756 00:36:25,450 --> 00:36:31,420 weak recalcitrant and unable to talk

757 00:36:28,810 --> 00:36:34,480 with each other then you have the basis

758 00:36:31,420 --> 00:36:38,890 for a much stronger user interface

759 00:36:34,480 --> 00:36:41,140 design or curriculum now the ideas that

760 00:36:38,890 --> 00:36:43,480 led to this user interface that norm was

761 00:36:41,140 --> 00:36:45,940 talking about it was developed at the

762 00:36:43,480 --> 00:36:47,650 same time as small talk came from a

763 00:36:45,940 --> 00:36:51,790 Harvard psychologist by the name of

764 00:36:47,650 --> 00:36:56,170 Jerome Bruner and Bruner had redone a

765 00:36:51,790 --> 00:36:58,090 number of the experiments of Piaget but

766 00:36:56,170 --> 00:37:01,180 with some twists so for instance Bruner

767 00:36:58,090 --> 00:37:05,619 took a child he was in this middle

768 00:37:01,180 --> 00:37:07,359 Piaget stage the image stage and is

769 00:37:05,619 --> 00:37:08,859 where you take a squat glass of water

770 00:37:07,359 --> 00:37:11,290 and you pour it into a tall thin glass

771 00:37:08,859 --> 00:37:14,890 and the child says yep this was more

772 00:37:11,290 --> 00:37:18,100 water in the tall thin glass and what

773 00:37:14,890 --> 00:37:19,570 Brenner thought to do is to then occlude

774 00:37:18,100 --> 00:37:21,220 the tall thin glass with a piece of

775 00:37:19,570 --> 00:37:22,990 cardboard and ask the kid again and the

776 00:37:21,220 --> 00:37:24,280 kid said oh wait a minute there must be

777 00:37:22,990 --> 00:37:26,920 the same amount of water because where

778 00:37:24,280 --> 00:37:28,000 would it go and Brendan would take it

779 00:37:26,920 --> 00:37:29,859 away and the kids would say no look

780 00:37:28,000 --> 00:37:30,940 there's more there's more Brenda would

781 00:37:29,859 --> 00:37:32,410 cover it up and they could say well hey

782 00:37:30,940 --> 00:37:35,790 wait a minute so if you have any

783 00:37:32,410 --> 00:37:35,790 six-year-olds you'd like to tour man

784 00:37:38,080 --> 00:37:42,800 and burner did booty did many

785 00:37:40,550 --> 00:37:45,140 experiments in the 50s and early 60s and

786 00:37:42,800 --> 00:37:48,170 the conclusion was that what we didn't

787 00:37:45,140 --> 00:37:49,760 have was a progression of stages of the

788 00:37:48,170 --> 00:37:50,960 caterpillar going to the butterfly but

789 00:37:49,760 --> 00:37:53,510 instead what we had were multiple

790 00:37:50,960 --> 00:37:55,220 mentalities and a change in dominance

791 00:37:53,510 --> 00:37:58,040 because brunner could show the existence

792 00:37:55,220 --> 00:38:02,030 of the previous and mentalities to come

793 00:37:58,040 --> 00:38:03,080 by various tricks and Brunner said of

794 00:38:02,030 --> 00:38:06,680 well there are lots of different

795 00:38:03,080 --> 00:38:08,120 mentalities and he picked three that he

796 00:38:06,680 --> 00:38:10,010 could show the existence of and

797 00:38:08,120 --> 00:38:11,870 concentrated his curriculum ideas on

798 00:38:10,010 --> 00:38:15,140 those and those three were a kinesthetic

799 00:38:11,870 --> 00:38:17,300 mentality identical with the PJs first

800 00:38:15,140 --> 00:38:19,760 stage where a whole is to diggit an

801 00:38:17,300 --> 00:38:21,590 object is to grab it the iconic

802 00:38:19,760 --> 00:38:23,960 mentality that we just talked about and

803 00:38:21,590 --> 00:38:26,930 then around 11 or 12 a symbolic

804 00:38:23,960 --> 00:38:28,970 mentality where facts and logic are used

805 00:38:26,930 --> 00:38:32,720 or at least in Swiss French children

806 00:38:28,970 --> 00:38:34,250 around 11 and 12 American children have

807 00:38:32,720 --> 00:38:36,200 a very difficult time ever getting to

808 00:38:34,250 --> 00:38:39,040 the facts and logic stage because we

809 00:38:36,200 --> 00:38:44,950 have an enormous iconic barrier between

810 00:38:39,040 --> 00:38:47,090 them which is called television now the

811 00:38:44,950 --> 00:38:50,870 existence of these three mentalities

812 00:38:47,090 --> 00:38:54,440 they each they each have striking

813 00:38:50,870 --> 00:38:57,590 characteristics and in a nutshell as I

814 00:38:54,440 --> 00:38:59,870 can only go into here the kinesthetic

815 00:38:57,590 --> 00:39:03,080 mentality is the one that places you in

816 00:38:59,870 --> 00:39:04,970 space not your visual mentality as you

817 00:39:03,080 --> 00:39:07,580 might think because you can blind a

818 00:39:04,970 --> 00:39:09,110 person person can be blinded and still

819 00:39:07,580 --> 00:39:13,160 have a perfect sense of where they are

820 00:39:09,110 --> 00:39:14,810 in space but if you remove the for

821 00:39:13,160 --> 00:39:17,060 instance a person's limb from their body

822 00:39:14,810 --> 00:39:19,190 map as sometimes happens in an accident

823 00:39:17,060 --> 00:39:21,050 then they may have a perfectly healthy

824 00:39:19,190 --> 00:39:23,860 leg attached to them but they cannot

825 00:39:21,050 --> 00:39:26,030 feel that it is there and they they

826 00:39:23,860 --> 00:39:27,620 relate waking up in the middle of the

827 00:39:26,030 --> 00:39:29,630 night with somebody else's leg in bed

828 00:39:27,620 --> 00:39:31,730 with them and in fact they have a very

829 00:39:29,630 --> 00:39:33,080 hard time looking at their leg to see

830 00:39:31,730 --> 00:39:35,210 that it's actually attached to their

831 00:39:33,080 --> 00:39:36,860 body there's kind of a blur there

832 00:39:35,210 --> 00:39:40,130 because of course we see not what our

833 00:39:36,860 --> 00:39:42,710 eye sees but what our brain knows we see

834 00:39:40,130 --> 00:39:46,220 a simulation that is pieced together and

835 00:39:42,710 --> 00:39:48,410 our brain has had its knowledge removed

836 00:39:46,220 --> 00:39:49,549 that this limb is part of us and is very

837 00:39:48,410 --> 00:39:51,799 hard to actually

838 00:39:49,549 --> 00:39:53,809 what it what it actually yes so the

839 00:39:51,799 --> 00:39:56,329 kinesthetic sense is the one that places

840 00:39:53,809 --> 00:39:59,289 us in space it is the one that when we

841 00:39:56,329 --> 00:40:01,459 when removed is the most alienating

842 00:39:59,289 --> 00:40:05,209 contact one is the deepest one the

843 00:40:01,459 --> 00:40:08,119 oldest evolutionary one the tactile

844 00:40:05,209 --> 00:40:10,099 sense the image one has two main

845 00:40:08,119 --> 00:40:13,009 characteristics that are worth noting

846 00:40:10,099 --> 00:40:15,529 one is the ability to remember images

847 00:40:13,009 --> 00:40:16,839 after only a brief exposure is

848 00:40:15,529 --> 00:40:19,929 astounding

849 00:40:16,839 --> 00:40:22,449 hopper who is a psychologist in the 60s

850 00:40:19,929 --> 00:40:25,669 in several experiments where he showed

851 00:40:22,449 --> 00:40:27,349 2,500 photographs spaced 10 seconds of

852 00:40:25,669 --> 00:40:31,219 parts just a bunch of slide trays for

853 00:40:27,349 --> 00:40:33,349 hours until I seen 2,500 images all

854 00:40:31,219 --> 00:40:36,739 sorts of random pictures and he

855 00:40:33,349 --> 00:40:38,839 discovered after 30 days that all of the

856 00:40:36,739 --> 00:40:42,169 experimental subjects had a better than

857 00:40:38,839 --> 00:40:44,169 90% recall of those random slides and

858 00:40:42,169 --> 00:40:46,459 could even identify occluded parts on

859 00:40:44,169 --> 00:40:47,899 slides and so forth this is an

860 00:40:46,459 --> 00:40:50,749 experiment you can do yourself get a

861 00:40:47,899 --> 00:40:54,199 friend to manipulate a cable TV movie

862 00:40:50,749 --> 00:40:57,199 channel and have them dial into a movie

863 00:40:54,199 --> 00:40:58,519 you haven't seen for 18 years and see

864 00:40:57,199 --> 00:41:00,139 how many frames of the movie you have to

865 00:40:58,519 --> 00:41:02,049 see before you can identify it most

866 00:41:00,139 --> 00:41:06,019 people can do it in under 90 frames

867 00:41:02,049 --> 00:41:07,459 three seconds of exposure is quite

868 00:41:06,019 --> 00:41:09,469 enough for them to say yep I've seen

869 00:41:07,459 --> 00:41:11,329 this movie before and I know it's gonna

870 00:41:09,469 --> 00:41:13,609 here's what's gonna happen next I think

871 00:41:11,329 --> 00:41:15,439 about that means 18 years ago you saw

872 00:41:13,609 --> 00:41:17,269 this movie you're being put into the

873 00:41:15,439 --> 00:41:18,949 center of it without any preparation and

874 00:41:17,269 --> 00:41:21,799 stuff and for some reason your visual

875 00:41:18,949 --> 00:41:24,139 system can organize all of those pixels

876 00:41:21,799 --> 00:41:26,299 or what the pixels have turned into to

877 00:41:24,139 --> 00:41:30,369 be able to perform that recognition so

878 00:41:26,299 --> 00:41:32,809 it's striking recognition is also fast

879 00:41:30,369 --> 00:41:36,019 so you put a hundred pictures on a

880 00:41:32,809 --> 00:41:37,999 bulletin board you can find a specified

881 00:41:36,019 --> 00:41:41,269 picture four times as fast as you can

882 00:41:37,999 --> 00:41:44,509 find the word in a list of four on the

883 00:41:41,269 --> 00:41:46,789 list of 100 words so it's much more

884 00:41:44,509 --> 00:41:48,199 efficient and this recognition in

885 00:41:46,789 --> 00:41:50,029 comparison and stuff is done by a

886 00:41:48,199 --> 00:41:52,759 completely different part of the brain

887 00:41:50,029 --> 00:41:57,880 visual system is also the mentality that

888 00:41:52,759 --> 00:41:57,880 is least blocked because it's very

889 00:41:58,260 --> 00:42:03,390 modus operandi is to flit around and

890 00:42:01,800 --> 00:42:05,190 take in different parts not to become

891 00:42:03,390 --> 00:42:07,740 fixated in one thing in the visual scene

892 00:42:05,190 --> 00:42:11,780 so it's there are many things you can do

893 00:42:07,740 --> 00:42:13,920 that in which an access to visual scene

894 00:42:11,780 --> 00:42:17,609 augments the short-term memory and

895 00:42:13,920 --> 00:42:20,810 boosts creativity then finally the the

896 00:42:17,609 --> 00:42:23,369 facts and logic system which is what we

897 00:42:20,810 --> 00:42:27,810 concentrate on in school unfortunately

898 00:42:23,369 --> 00:42:29,490 in its strong in in many ways because of

899 00:42:27,810 --> 00:42:32,760 its abstractions but it's actually the

900 00:42:29,490 --> 00:42:35,490 weakest mechanism that we have it only

901 00:42:32,760 --> 00:42:36,660 works when there's a strong context so

902 00:42:35,490 --> 00:42:39,240 when we're thinking about these ideas

903 00:42:36,660 --> 00:42:41,550 but we had this basis from Brenner and

904 00:42:39,240 --> 00:42:45,420 it took us three or four years of

905 00:42:41,550 --> 00:42:50,010 experimentation to come up with this

906 00:42:45,420 --> 00:42:51,990 model that what we what we really should

907 00:42:50,010 --> 00:42:53,760 do this is something has been

908 00:42:51,990 --> 00:42:55,500 misunderstood about this user interface

909 00:42:53,760 --> 00:42:58,080 because it's always talked of as the

910 00:42:55,500 --> 00:43:00,260 graphical user interface but in fact it

911 00:42:58,080 --> 00:43:04,050 was an attempt to combine three

912 00:43:00,260 --> 00:43:06,750 mentalities into some kind of synergy so

913 00:43:04,050 --> 00:43:09,510 the doing with images make symbols says

914 00:43:06,750 --> 00:43:11,760 there's some kind of progression which

915 00:43:09,510 --> 00:43:14,100 Brenner identified as well that if you

916 00:43:11,760 --> 00:43:18,660 learn where you are learn things tact

917 00:43:14,100 --> 00:43:20,340 alee that gives you a much better set of

918 00:43:18,660 --> 00:43:23,369 hooks for your image system to put

919 00:43:20,340 --> 00:43:25,800 things on and then at the very end you

920 00:43:23,369 --> 00:43:27,869 have something to abstract that you want

921 00:43:25,800 --> 00:43:30,359 to princess if you want to learn physics

922 00:43:27,869 --> 00:43:32,730 the best way to learn it is body physics

923 00:43:30,359 --> 00:43:34,619 and visual physics before you start

924 00:43:32,730 --> 00:43:38,250 looking at calculus then you have

925 00:43:34,619 --> 00:43:40,109 intuition and Bruner claimed that and I

926 00:43:38,250 --> 00:43:42,030 believed him that what we call intuition

927 00:43:40,109 --> 00:43:46,040 is simply these mentalities that don't

928 00:43:42,030 --> 00:43:49,050 talk sort of vaguely whispering to us

929 00:43:46,040 --> 00:43:50,340 somewhat variant thoughts than the than

930 00:43:49,050 --> 00:43:52,950 the one that the one we call eye

931 00:43:50,340 --> 00:43:57,810 actually does so if you take those ideas

932 00:43:52,950 --> 00:44:00,810 you the way we picked and we didn't even

933 00:43:57,810 --> 00:44:03,090 like the mouse but as I said tablets

934 00:44:00,810 --> 00:44:04,850 were expensive and so we took angle

935 00:44:03,090 --> 00:44:08,520 Bart's Mouse and made a better one and

936 00:44:04,850 --> 00:44:09,900 let that be our pointing device if you

937 00:44:08,520 --> 00:44:11,330 believe what I'm saying about the user

938 00:44:09,900 --> 00:44:12,890 interface then

939 00:44:11,330 --> 00:44:14,930 would suggest number one that we should

940 00:44:12,890 --> 00:44:16,340 have better pointing devices and number

941 00:44:14,930 --> 00:44:18,230 two that the pointing devices should

942 00:44:16,340 --> 00:44:20,330 start to give us some force feedback

943 00:44:18,230 --> 00:44:22,340 back into our hand because then the

944 00:44:20,330 --> 00:44:26,900 kinesthetic contact would be much

945 00:44:22,340 --> 00:44:29,330 greater and the windows and icons are

946 00:44:26,900 --> 00:44:32,770 for the purposes I've just mentioned and

947 00:44:29,330 --> 00:44:35,630 we came up with small talk to be the

948 00:44:32,770 --> 00:44:38,180 underlying symbolic framework for all of

949 00:44:35,630 --> 00:44:41,390 this stuff this is why the on the

950 00:44:38,180 --> 00:44:44,630 Macintosh and the Macintosh imitators

951 00:44:41,390 --> 00:44:46,250 that the pointing scheme is not

952 00:44:44,630 --> 00:44:49,640 functional you don't give the command

953 00:44:46,250 --> 00:44:51,620 first and then be stuck in a mode and go

954 00:44:49,640 --> 00:44:53,540 out and then try and pick parameters for

955 00:44:51,620 --> 00:44:56,510 it what you do is you do it exactly the

956 00:44:53,540 --> 00:44:57,950 same order that the you do

957 00:44:56,510 --> 00:44:59,540 object-oriented programming and that is

958 00:44:57,950 --> 00:45:02,510 you designate the objects of interest

959 00:44:59,540 --> 00:45:04,340 first and then you send the messages so

960 00:45:02,510 --> 00:45:07,490 translate it to user interface it says

961 00:45:04,340 --> 00:45:10,240 selection first messages later and that

962 00:45:07,490 --> 00:45:15,260 gives you an approach to doing modeless

963 00:45:10,240 --> 00:45:20,030 interaction and here's an interesting

964 00:45:15,260 --> 00:45:22,160 idea that we implemented at Parc but in

965 00:45:20,030 --> 00:45:24,410 fact has never made its I just cannot

966 00:45:22,160 --> 00:45:26,630 believe that this idea has never made

967 00:45:24,410 --> 00:45:28,640 its way out into the out of the world

968 00:45:26,630 --> 00:45:31,130 because it is a direct implication of

969 00:45:28,640 --> 00:45:32,750 object-oriented design the implication

970 00:45:31,130 --> 00:45:36,260 of object-oriented design is not cutting

971 00:45:32,750 --> 00:45:38,720 and pasting that is absolutely at odds

972 00:45:36,260 --> 00:45:41,510 with an object-oriented user interface

973 00:45:38,720 --> 00:45:42,800 the this is the implication of

974 00:45:41,510 --> 00:45:45,350 object-oriented design this is a

975 00:45:42,800 --> 00:45:48,530 document that has a variety of different

976 00:45:45,350 --> 00:45:50,540 paragraph types in it one of them holds

977 00:45:48,530 --> 00:45:53,060 texts and other one holds pictures and

978 00:45:50,540 --> 00:45:57,560 these are as norm was pointing out these

979 00:45:53,060 --> 00:45:59,540 are the applications themselves so you

980 00:45:57,560 --> 00:46:02,180 don't go out to another app you don't go

981 00:45:59,540 --> 00:46:03,620 out in this system you didn't go out to

982 00:46:02,180 --> 00:46:05,540 a painting system to make this picture

983 00:46:03,620 --> 00:46:06,920 the painting was actually developed

984 00:46:05,540 --> 00:46:09,260 right in the context of the document

985 00:46:06,920 --> 00:46:11,630 because you just started a new paragraph

986 00:46:09,260 --> 00:46:14,990 type there and what you see here is a

987 00:46:11,630 --> 00:46:19,280 this is a page from the Lord of the

988 00:46:14,990 --> 00:46:21,260 Rings and the cursor has just gone into

989 00:46:19,280 --> 00:46:23,450 this picture and what has happened is

990 00:46:21,260 --> 00:46:24,540 it's sprouted a menu because it thinks

991 00:46:23,450 --> 00:46:26,910 you might want to edit it

992 00:46:24,540 --> 00:46:30,390 further so as you go into each each

993 00:46:26,910 --> 00:46:34,170 paragraph type it activates the sub

994 00:46:30,390 --> 00:46:35,730 activation if you the sub if you will so

995 00:46:34,170 --> 00:46:38,190 that all of the things that you're

996 00:46:35,730 --> 00:46:40,980 working on are in the context of your

997 00:46:38,190 --> 00:46:42,690 result it's the thing we call results

998 00:46:40,980 --> 00:46:44,610 mode interaction which i think is one of

999 00:46:42,690 --> 00:46:46,230 the most important aspects of WYSIWYG

1000 00:46:44,610 --> 00:46:47,880 that hasn't really made it into the

1001 00:46:46,230 --> 00:46:50,220 outside world always keep the user

1002 00:46:47,880 --> 00:46:52,470 working in the context of their results

1003 00:46:50,220 --> 00:46:54,510 that means they shouldn't go out other

1004 00:46:52,470 --> 00:46:56,460 applications to get values and bringing

1005 00:46:54,510 --> 00:46:58,230 them back they should be able to develop

1006 00:46:56,460 --> 00:47:00,360 those the values that they want from

1007 00:46:58,230 --> 00:47:02,810 within the final thing that they're

1008 00:47:00,360 --> 00:47:02,810 working on

1009 00:47:03,410 --> 00:47:13,320 now this next in order to talk about

1010 00:47:09,810 --> 00:47:16,020 this next next part of the talk a little

1011 00:47:13,320 --> 00:47:18,660 more context if we think about the two

1012 00:47:16,020 --> 00:47:19,980 ways that humans have extended

1013 00:47:18,660 --> 00:47:23,100 themselves over the last several hundred

1014 00:47:19,980 --> 00:47:26,910 thousand years one of them is by making

1015 00:47:23,100 --> 00:47:29,100 amplifying tools physical tools like the

1016 00:47:26,910 --> 00:47:32,610 lever and the wheel figurative tools

1017 00:47:29,100 --> 00:47:35,400 like mathematics like language itself

1018 00:47:32,610 --> 00:47:38,280 and so forth all these I think of as

1019 00:47:35,400 --> 00:47:39,840 being extensions of manipulation but

1020 00:47:38,280 --> 00:47:43,620 even mathematics which we think is

1021 00:47:39,840 --> 00:47:45,480 something fairly abstract is actually a

1022 00:47:43,620 --> 00:47:47,130 way of taking the hopelessly abstract

1023 00:47:45,480 --> 00:47:49,350 making it into concrete things that we

1024 00:47:47,130 --> 00:47:51,000 can then move around so all of these

1025 00:47:49,350 --> 00:47:54,540 things I think of as being manipulation

1026 00:47:51,000 --> 00:47:56,640 the N word is manipulation and the other

1027 00:47:54,540 --> 00:47:58,770 one and of course the Macintosh user

1028 00:47:56,640 --> 00:48:01,350 interface is that style

1029 00:47:58,770 --> 00:48:03,600 it's basically make everything into an

1030 00:48:01,350 --> 00:48:06,390 object and was norm mentioned if you

1031 00:48:03,600 --> 00:48:08,490 take things that are verbs in English

1032 00:48:06,390 --> 00:48:09,990 and make them into objects you have a

1033 00:48:08,490 --> 00:48:11,970 much better time of it because of course

1034 00:48:09,990 --> 00:48:15,600 the universe doesn't seem to have any

1035 00:48:11,970 --> 00:48:17,700 verbs right English has invented to talk

1036 00:48:15,600 --> 00:48:21,900 about horses and cows and plowed fields

1037 00:48:17,700 --> 00:48:24,600 and so forth and it didn't anticipate

1038 00:48:21,900 --> 00:48:28,140 modern physics which as far as we can

1039 00:48:24,600 --> 00:48:30,680 tell there are no abstract verbs out in

1040 00:48:28,140 --> 00:48:33,150 the universe instead what we have are

1041 00:48:30,680 --> 00:48:36,660 things that are much more like objects

1042 00:48:33,150 --> 00:48:38,849 in process so when I hear a sentence

1043 00:48:36,660 --> 00:48:41,910 like the clock runs down

1044 00:48:38,849 --> 00:48:43,799 or the boy runs down the only way I can

1045 00:48:41,910 --> 00:48:46,140 come up for any meaning of what runs

1046 00:48:43,799 --> 00:48:48,630 down actually is all about is by

1047 00:48:46,140 --> 00:48:52,019 thinking of it as an attribute of the

1048 00:48:48,630 --> 00:48:53,699 subject of the sentence okay and there

1049 00:48:52,019 --> 00:48:55,319 is enough metaphorical similarity

1050 00:48:53,699 --> 00:48:57,539 between the two items so that we can use

1051 00:48:55,319 --> 00:48:59,189 the same word but I always think of what

1052 00:48:57,539 --> 00:49:01,289 we think of as a verb as really an

1053 00:48:59,189 --> 00:49:02,969 attribute of some subject otherwise the

1054 00:49:01,289 --> 00:49:06,329 sentence wouldn't make any any real

1055 00:49:02,969 --> 00:49:11,729 sense and that is an accord with with

1056 00:49:06,329 --> 00:49:13,319 modern physics so the other way we've

1057 00:49:11,729 --> 00:49:16,709 extended ourselves over the years what I

1058 00:49:13,319 --> 00:49:19,559 call goal cloning goal cloning means

1059 00:49:16,709 --> 00:49:21,449 that we simply are able and willing to

1060 00:49:19,559 --> 00:49:23,160 go out and convince other people to take

1061 00:49:21,449 --> 00:49:25,169 on our own goal structures that's how we

1062 00:49:23,160 --> 00:49:27,959 get most things done so what's going on

1063 00:49:25,169 --> 00:49:29,849 here we have a group that has for the

1064 00:49:27,959 --> 00:49:34,140 moment has fewer goals than the sum of

1065 00:49:29,849 --> 00:49:36,299 its parts and companies are that way

1066 00:49:34,140 --> 00:49:38,699 countries cultures and so forth

1067 00:49:36,299 --> 00:49:40,259 sometimes the methods accrued as in the

1068 00:49:38,699 --> 00:49:41,299 way the Egyptians got the slaves to

1069 00:49:40,259 --> 00:49:43,409 build the pyramids

1070 00:49:41,299 --> 00:49:46,650 sometimes they're slicker like in the

1071 00:49:43,409 --> 00:49:48,209 modern television advertisements mumford

1072 00:49:46,650 --> 00:49:50,069 called this building a mega machine he

1073 00:49:48,209 --> 00:49:53,369 pointed out that over most of recorded

1074 00:49:50,069 --> 00:49:56,249 history most machines built by human

1075 00:49:53,369 --> 00:49:59,489 beings had human beings as parts and the

1076 00:49:56,249 --> 00:50:01,769 M word for this to me is management that

1077 00:49:59,489 --> 00:50:05,309 you manage that kind of process and we

1078 00:50:01,769 --> 00:50:08,429 manipulate objects and we're going to

1079 00:50:05,309 --> 00:50:11,699 see a transformation from actions having

1080 00:50:08,429 --> 00:50:13,529 to do with objects into agents which we

1081 00:50:11,699 --> 00:50:16,529 are going to manage now let me give you

1082 00:50:13,529 --> 00:50:20,159 the examples the first is sort of an

1083 00:50:16,529 --> 00:50:21,869 example of what you can do with a tool

1084 00:50:20,159 --> 00:50:26,299 and what a tool really means so let's

1085 00:50:21,869 --> 00:50:26,299 show the I want to show tape number two

1086 00:50:45,470 --> 00:50:52,460 this 2012 young girl who never lived

1087 00:50:49,260 --> 00:50:55,230 world not insulated by Akash

1088 00:50:52,460 --> 00:50:56,849 her mother's my aunt both are there and

1089 00:50:55,230 --> 00:50:59,700 father work at home if another father as

1090 00:50:56,849 --> 00:51:02,760 an act to her this is an acknowledge

1091 00:50:59,700 --> 00:51:04,740 that one around your warrant we do think

1092 00:51:02,760 --> 00:51:07,710 and some paper technology is what Israel

1093 00:51:04,740 --> 00:51:14,430 never see anything I fast use it yes in

1094 00:51:07,710 --> 00:51:16,619 computers I Karen told she injected and

1095 00:51:14,430 --> 00:51:19,290 I don't mean you sir today my did one

1096 00:51:16,619 --> 00:51:23,250 with her anis governing athlete for here

1097 00:51:19,290 --> 00:51:24,480 has been stolen disks even though the

1098 00:51:23,250 --> 00:51:26,160 belt is you inter favorite children I

1099 00:51:24,480 --> 00:51:27,960 never even it is about child anywhere

1100 00:51:26,160 --> 00:51:30,599 here than I was quite intrigued yeah

1101 00:51:27,960 --> 00:51:34,829 yeah here says doing visible you man

1102 00:51:30,599 --> 00:51:39,240 acne and of course you don't have to get

1103 00:51:34,829 --> 00:51:40,800 them out I thought well I'll go along

1104 00:51:39,240 --> 00:51:42,089 this is arrested but wasn't me impress

1105 00:51:40,800 --> 00:51:43,530 until I saw what havin a she wants a

1106 00:51:42,089 --> 00:51:46,079 fresh sheet paper so she used a closed

1107 00:51:43,530 --> 00:51:54,619 box in the window and user Ultron's the

1108 00:51:46,079 --> 00:52:02,849 pop up and goes to the plan F rating

1109 00:51:54,619 --> 00:52:05,700 okay implications here it's kind of

1110 00:52:02,849 --> 00:52:08,309 interesting it do the user interface at

1111 00:52:05,700 --> 00:52:11,270 all an accord with what's actually going

1112 00:52:08,309 --> 00:52:13,680 on inside of people's head then you get

1113 00:52:11,270 --> 00:52:15,390 something that can actually extend all

1114 00:52:13,680 --> 00:52:18,660 the way down into childhood and be to

1115 00:52:15,390 --> 00:52:20,790 them as fundamental as the marking

1116 00:52:18,660 --> 00:52:22,140 instruments that we grew up with and I

1117 00:52:20,790 --> 00:52:25,339 think this is very important because I

1118 00:52:22,140 --> 00:52:28,319 believe that the the children that can

1119 00:52:25,339 --> 00:52:32,790 form themselves by being around this

1120 00:52:28,319 --> 00:52:35,160 media as media are going to be thinking

1121 00:52:32,790 --> 00:52:37,799 and doing things very differently than

1122 00:52:35,160 --> 00:52:42,270 the way we do this is another example of

1123 00:52:37,799 --> 00:52:44,069 in the long line of how we act smarter

1124 00:52:42,270 --> 00:52:46,470 by changing our representations we go

1125 00:52:44,069 --> 00:52:49,170 from Roman numerals to Arabic we go from

1126 00:52:46,470 --> 00:52:50,790 Ptolemaic the Copernican every time we

1127 00:52:49,170 --> 00:52:55,559 change the representation system our

1128 00:52:50,790 --> 00:52:57,750 weak systems of logic are made that much

1129 00:52:55,559 --> 00:53:00,690 stronger and I think of user interface

1130 00:52:57,750 --> 00:53:03,359 main aim is not to present but to

1131 00:53:00,690 --> 00:53:05,070 represent and it's figuring out what

1132 00:53:03,359 --> 00:53:06,900 those representation schemes are going

1133 00:53:05,070 --> 00:53:08,310 to mean in terms of leverage they give

1134 00:53:06,900 --> 00:53:10,560 the user this is the most important

1135 00:53:08,310 --> 00:53:12,180 point that point has been missed in most

1136 00:53:10,560 --> 00:53:14,099 people who are doing user interfaces

1137 00:53:12,180 --> 00:53:16,470 today including a lot of the people at

1138 00:53:14,099 --> 00:53:18,810 Apple and certainly the the Apple

1139 00:53:16,470 --> 00:53:20,430 imitators because they think that the

1140 00:53:18,810 --> 00:53:23,220 whole job of the user interface is to

1141 00:53:20,430 --> 00:53:25,050 present old-style applications with

1142 00:53:23,220 --> 00:53:26,730 multiple windows and pull-downs and so

1143 00:53:25,050 --> 00:53:27,240 forth nothing can be further from the

1144 00:53:26,730 --> 00:53:30,540 truth

1145 00:53:27,240 --> 00:53:32,190 most important aspect of the multiple

1146 00:53:30,540 --> 00:53:34,500 windows stuff is not to have different

1147 00:53:32,190 --> 00:53:35,970 applications up there because as I

1148 00:53:34,500 --> 00:53:37,920 pointed out that's not the way you want

1149 00:53:35,970 --> 00:53:39,150 to go after different parts of the

1150 00:53:37,920 --> 00:53:41,070 things the most important thing for

1151 00:53:39,150 --> 00:53:43,079 having multiple windows is to be able to

1152 00:53:41,070 --> 00:53:45,630 present different points of view on the

1153 00:53:43,079 --> 00:53:46,859 same thing marvin minsky says you don't

1154 00:53:45,630 --> 00:53:50,599 understand something unless you

1155 00:53:46,859 --> 00:53:53,250 understand it in more than one way and

1156 00:53:50,599 --> 00:53:55,589 almost no one who uses these user

1157 00:53:53,250 --> 00:53:57,060 interfaces thinks to sit down even

1158 00:53:55,589 --> 00:53:58,920 though Apple showed them in the finder

1159 00:53:57,060 --> 00:54:00,930 that you want to have multiple views of

1160 00:53:58,920 --> 00:54:02,430 different kinds of things thinks of what

1161 00:54:00,930 --> 00:54:03,960 the leverage means is to be able to look

1162 00:54:02,430 --> 00:54:05,420 at the same kind of thing for multiple

1163 00:54:03,960 --> 00:54:08,339 points of view and what it means

1164 00:54:05,420 --> 00:54:10,020 pedagogically is once you've seen that

1165 00:54:08,339 --> 00:54:11,490 you realize that if I only know one

1166 00:54:10,020 --> 00:54:13,890 point of view about something I don't

1167 00:54:11,490 --> 00:54:16,829 know it in fact I'm likely to be misled

1168 00:54:13,890 --> 00:54:21,060 by it so now let's take a look at the

1169 00:54:16,829 --> 00:54:22,619 other way that's just starting to come

1170 00:54:21,060 --> 00:54:25,349 in and think of why it's going to why

1171 00:54:22,619 --> 00:54:29,030 are we going to have management of

1172 00:54:25,349 --> 00:54:32,339 semi-intelligent computer processes now

1173 00:54:29,030 --> 00:54:35,369 I think it's because we're gonna we're

1174 00:54:32,339 --> 00:54:36,270 starting to be networked up and there

1175 00:54:35,369 --> 00:54:40,140 are a whole bunch of things that

1176 00:54:36,270 --> 00:54:41,640 networks give you as opportunities that

1177 00:54:40,140 --> 00:54:45,290 we simply don't have the time and the

1178 00:54:41,640 --> 00:54:47,849 scope to deal with give you an example

1179 00:54:45,290 --> 00:54:50,520 when I was a kid I used to get questions

1180 00:54:47,849 --> 00:54:52,020 answered by going into the into a

1181 00:54:50,520 --> 00:54:53,849 library and once I was visiting some

1182 00:54:52,020 --> 00:54:55,500 friends in Washington DC and I had a

1183 00:54:53,849 --> 00:54:57,660 question so I demanded to be taken to

1184 00:54:55,500 --> 00:55:00,690 the library I'd heard there's a library

1185 00:54:57,660 --> 00:55:02,910 in the town and we got to the Library of

1186 00:55:00,690 --> 00:55:04,560 Congress and I discovered that the card

1187 00:55:02,910 --> 00:55:06,480 catalog which they didn't even allow you

1188 00:55:04,560 --> 00:55:09,890 to go in was much larger than my home

1189 00:55:06,480 --> 00:55:11,900 town library and instead of

1190 00:55:09,890 --> 00:55:13,460 having you do the browsing they had

1191 00:55:11,900 --> 00:55:16,310 people who would meet you at the door

1192 00:55:13,460 --> 00:55:18,530 their job was to absorb what your goals

1193 00:55:16,310 --> 00:55:20,660 were and then apply their expertise of

1194 00:55:18,530 --> 00:55:22,880 the facilities to that so they became

1195 00:55:20,660 --> 00:55:26,660 your agent and they even would energize

1196 00:55:22,880 --> 00:55:28,670 other agents so my my problem turned out

1197 00:55:26,660 --> 00:55:31,220 to be fairly interesting for one brought

1198 00:55:28,670 --> 00:55:33,590 in by a nine-year-old and so he had five

1199 00:55:31,220 --> 00:55:36,890 or six adults scurrying around trying to

1200 00:55:33,590 --> 00:55:41,090 find the answer to it and it left a

1201 00:55:36,890 --> 00:55:43,550 lasting impression and this notion of

1202 00:55:41,090 --> 00:55:45,410 agents is as old as computer interfaces

1203 00:55:43,550 --> 00:55:48,050 itself it goes back to McCarthy's

1204 00:55:45,410 --> 00:55:49,880 original advice taker paper it basically

1205 00:55:48,050 --> 00:55:52,730 says that when you have an information

1206 00:55:49,880 --> 00:55:56,810 utility there's going to be an

1207 00:55:52,730 --> 00:55:59,270 embarrassment of riches organized in a

1208 00:55:56,810 --> 00:56:01,040 way so that no human will have the time

1209 00:55:59,270 --> 00:56:02,330 to go after the stuff no human will be

1210 00:56:01,040 --> 00:56:04,040 able to remember all the things they

1211 00:56:02,330 --> 00:56:06,950 might be interested in so something else

1212 00:56:04,040 --> 00:56:08,900 has to go and do it now the problem with

1213 00:56:06,950 --> 00:56:11,990 agents in the user interface sense is

1214 00:56:08,900 --> 00:56:14,810 that AI has not progressed much since

1215 00:56:11,990 --> 00:56:17,990 1970 it was extremely difficult to build

1216 00:56:14,810 --> 00:56:20,900 an agent I have built several over the

1217 00:56:17,990 --> 00:56:22,280 last eight years or so just to see what

1218 00:56:20,900 --> 00:56:23,900 they would would be like and they're

1219 00:56:22,280 --> 00:56:27,410 excruciating to build one of them was a

1220 00:56:23,900 --> 00:56:30,080 system called News peak at MIT that

1221 00:56:27,410 --> 00:56:31,940 stays up all night trying to find for

1222 00:56:30,080 --> 00:56:36,500 you the newspaper you'd most like to

1223 00:56:31,940 --> 00:56:41,540 read at breakfast so it what it does is

1224 00:56:36,500 --> 00:56:44,710 to log in to a dozen or so information

1225 00:56:41,540 --> 00:56:49,670 sources New York Times Associated Press

1226 00:56:44,710 --> 00:56:51,920 Nexus Reuters looking for articles it

1227 00:56:49,670 --> 00:56:53,360 thinks you might be interested in it

1228 00:56:51,920 --> 00:56:55,010 reads the articles to the best of its

1229 00:56:53,360 --> 00:56:57,770 ability if it sees a famous name like

1230 00:56:55,010 --> 00:56:59,900 Mitterrand it has a video disc of 45,000

1231 00:56:57,770 --> 00:57:01,880 pictures of famous people it's like a

1232 00:56:59,900 --> 00:57:03,920 newspaper more get picks a picture of

1233 00:57:01,880 --> 00:57:06,920 MIT Iran did have there's a map disk

1234 00:57:03,920 --> 00:57:09,020 with 37,000 maps and so forth uses an

1235 00:57:06,920 --> 00:57:10,970 expert system to format the page and you

1236 00:57:09,020 --> 00:57:14,680 wind up the next morning with something

1237 00:57:10,970 --> 00:57:14,680 that is very much like USA Today

1238 00:57:15,960 --> 00:57:21,540 and in often with about the same amount

1239 00:57:18,730 --> 00:57:21,540 of content

1240 00:57:22,150 --> 00:57:27,320 but there are some differences because

1241 00:57:24,320 --> 00:57:29,750 the headline might say more fighting in

1242 00:57:27,320 --> 00:57:31,610 Afghanistan or it might just as well say

1243 00:57:29,750 --> 00:57:33,920 your three o'clock meeting is cancelled

1244 00:57:31,610 --> 00:57:35,990 today because one of the 12 news sources

1245 00:57:33,920 --> 00:57:38,030 it logs into is your own electronic mail

1246 00:57:35,990 --> 00:57:39,560 it reads it while you sleep and if it

1247 00:57:38,030 --> 00:57:41,630 spots to anything that looks important

1248 00:57:39,560 --> 00:57:43,190 it puts that in the newspaper the next

1249 00:57:41,630 --> 00:57:46,730 morning a sidebar might say your

1250 00:57:43,190 --> 00:57:48,920 children slept well last night because

1251 00:57:46,730 --> 00:57:51,230 remember what we call news is entirely

1252 00:57:48,920 --> 00:57:55,520 dependent on the communications system

1253 00:57:51,230 --> 00:57:57,620 that we have in the late 1700s the news

1254 00:57:55,520 --> 00:57:59,810 was all about depth the Federalist

1255 00:57:57,620 --> 00:58:01,490 Papers were published in the newspapers

1256 00:57:59,810 --> 00:58:05,360 of New York City something would be

1257 00:58:01,490 --> 00:58:07,340 unthinkable today actual essays but

1258 00:58:05,360 --> 00:58:09,680 people had time to read them when the

1259 00:58:07,340 --> 00:58:11,960 telegraph got invented all that went

1260 00:58:09,680 --> 00:58:13,670 away because they couldn't possibly have

1261 00:58:11,960 --> 00:58:15,290 you reading anything long that had to be

1262 00:58:13,670 --> 00:58:16,790 thought about and understood because

1263 00:58:15,290 --> 00:58:20,030 you'd still be working on it when the

1264 00:58:16,790 --> 00:58:22,160 next news came along so currency and as

1265 00:58:20,030 --> 00:58:24,950 McLuhan predicted as soon as you start

1266 00:58:22,160 --> 00:58:28,130 hooking up news to electronic media you

1267 00:58:24,950 --> 00:58:31,670 start getting fragmentation so that's

1268 00:58:28,130 --> 00:58:33,560 the idea of an agent that newspaper is

1269 00:58:31,670 --> 00:58:35,900 something that people would like to have

1270 00:58:33,560 --> 00:58:36,800 but nobody is going to sit up doing it

1271 00:58:35,900 --> 00:58:40,400 even with the best

1272 00:58:36,800 --> 00:58:41,780 sequel type database and so forth

1273 00:58:40,400 --> 00:58:43,300 because it's very hard to even remember

1274 00:58:41,780 --> 00:58:46,310 all the things that you're interested in

1275 00:58:43,300 --> 00:58:48,980 so the agents also are going to be

1276 00:58:46,310 --> 00:58:50,420 somewhat anthropomorphic this is a real

1277 00:58:48,980 --> 00:58:53,150 problem because they aren't going to be

1278 00:58:50,420 --> 00:58:54,920 very smart when we start off we have to

1279 00:58:53,150 --> 00:58:59,390 in the user interface design somehow

1280 00:58:54,920 --> 00:59:03,170 subliminal ii project exactly how smart

1281 00:58:59,390 --> 00:59:05,600 they are and still make the user now we

1282 00:59:03,170 --> 00:59:07,250 want something like a puppy dog that

1283 00:59:05,600 --> 00:59:08,570 goes out and gets your newspaper most of

1284 00:59:07,250 --> 00:59:13,580 the time it only occasionally makes a

1285 00:59:08,570 --> 00:59:17,660 mess on the floor so let's let's take a

1286 00:59:13,580 --> 00:59:19,640 look at this is a video we made for John

1287 00:59:17,660 --> 00:59:22,520 Scully and we start off at the 1988

1288 00:59:19,640 --> 00:59:25,730 Winter Olympics in HyperCard HyperCard

1289 00:59:22,520 --> 00:59:27,710 stack that ABC television used to keep

1290 00:59:25,730 --> 00:59:29,570 track of things and then we project four

1291 00:59:27,710 --> 00:59:31,940 years into the future and see what

1292 00:59:29,570 --> 00:59:34,280 things might look like in 1992 with the

1293 00:59:31,940 --> 00:59:36,770 user interface that is still mostly

1294 00:59:34,280 --> 00:59:39,050 manipulative but has a little bit of the

1295 00:59:36,770 --> 01:00:03,710 of the management aspect to it let's

1296 00:59:39,050 --> 01:00:07,160 roll tape number three please so much

1297 01:00:03,710 --> 01:00:10,340 this Bob's math Calgary if you click on

1298 01:00:07,160 --> 01:00:13,700 any Olympic site you see a list of the

1299 01:00:10,340 --> 01:00:15,470 events scheduled for that site you can

1300 01:00:13,700 --> 01:00:18,230 get more information about any event by

1301 01:00:15,470 --> 01:00:22,310 clicking on the name let's say ski

1302 01:00:18,230 --> 01:00:26,300 jumping background maybe you can brag to

1303 01:00:22,310 --> 01:00:28,580 the last or the main map and then

1304 01:00:26,300 --> 01:00:31,070 continue exploring here at the

1305 01:00:28,580 --> 01:00:33,170 University of Calgary I see the figure

1306 01:00:31,070 --> 01:00:35,690 skating events are running now that's a

1307 01:00:33,170 --> 01:00:38,630 sport my family's interested in so I'd

1308 01:00:35,690 --> 01:00:41,240 like to learn more about it the previous

1309 01:00:38,630 --> 01:00:44,300 Winter Olympics took place at Sarajevo

1310 01:00:41,240 --> 01:00:46,210 in 1984 when Macintosh was barely a

1311 01:00:44,300 --> 01:00:48,620 month old

1312 01:00:46,210 --> 01:00:50,240 imagine what Macintosh together with

1313 01:00:48,620 --> 01:00:52,280 hyper card will allow us to do in

1314 01:00:50,240 --> 01:00:54,300 another four years by the time of the

1315 01:00:52,280 --> 01:00:56,880 next Olympics

1316 01:00:54,300 --> 01:00:59,519 [Music]

1317 01:00:56,880 --> 01:01:01,499 we will require powerful techniques to

1318 01:00:59,519 --> 01:01:06,140 help us find and manipulate volumes of

1319 01:01:01,499 --> 01:01:09,239 images text music video and applications

1320 01:01:06,140 --> 01:01:11,880 we might by that time see the beginnings

1321 01:01:09,239 --> 01:01:16,099 of intelligent agents or perhaps by then

1322 01:01:11,880 --> 01:01:19,920 they'll be only semi-intelligent Phil

1323 01:01:16,099 --> 01:01:22,229 today is March 3rd 1992 you have several

1324 01:01:19,920 --> 01:01:22,829 data service articles ready and you have

1325 01:01:22,229 --> 01:01:26,099 ma'am

1326 01:01:22,829 --> 01:01:31,009 this is my agent I call him Phil Phil

1327 01:01:26,099 --> 01:01:31,009 open the 1992 Olympic stack

1328 01:01:42,150 --> 01:01:48,570 the 1992 Winter Games are being held in

1329 01:01:45,390 --> 01:01:52,260 Alba V friends let's get a closer look

1330 01:01:48,570 --> 01:01:56,630 at the town let's look at ski jumping

1331 01:01:52,260 --> 01:01:56,630 again we can play the video

1332 01:01:59,070 --> 01:02:03,530 [Music]

1333 01:02:01,430 --> 01:02:06,590 we could learn more about this sport or

1334 01:02:03,530 --> 01:02:08,890 go back to the math let's look at figure

1335 01:02:06,590 --> 01:02:08,890 skating

1336 01:02:09,280 --> 01:02:17,380 I'd like to see who's on the USA team

1337 01:02:11,560 --> 01:02:20,550 and I'd like to see Debbie Thomas I'm

1338 01:02:17,380 --> 01:02:20,550 looking for a spin

1339 01:02:21,690 --> 01:02:33,900 like that let's go back alan kay was

1340 01:02:31,950 --> 01:02:35,970 explaining why skaters go faster as they

1341 01:02:33,900 --> 01:02:38,069 tuck their arms in he showed me a

1342 01:02:35,970 --> 01:02:42,690 simulation to illustrate the underlying

1343 01:02:38,069 --> 01:02:46,910 principles let me call that up Phil add

1344 01:02:42,690 --> 01:02:51,660 the physics draw toolbox which tool box

1345 01:02:46,910 --> 01:02:55,710 physics draw let's see I'll need a

1346 01:02:51,660 --> 01:02:59,940 counter we can make the window

1347 01:02:55,710 --> 01:03:06,960 translucent let's step through the spin

1348 01:02:59,940 --> 01:03:10,559 and count the frames okay that's one

1349 01:03:06,960 --> 01:03:12,450 complete rotation now I'll draw a model

1350 01:03:10,559 --> 01:03:21,230 representing a skater with her arms

1351 01:03:12,450 --> 01:03:29,660 extended select the center axis and

1352 01:03:21,230 --> 01:03:31,920 rotate how fast to rotate this speed and

1353 01:03:29,660 --> 01:03:36,150 here's an overhead view of the figure

1354 01:03:31,920 --> 01:03:38,430 let's hold on to that earlier Allan and

1355 01:03:36,150 --> 01:03:40,260 I created a similar model where the

1356 01:03:38,430 --> 01:03:42,740 skater has tucked her arms in and

1357 01:03:40,260 --> 01:03:48,270 appears to be spinning faster Phil

1358 01:03:42,740 --> 01:03:50,869 display skater a model 1 let's compare

1359 01:03:48,270 --> 01:03:50,869 these two models

1360 01:03:54,400 --> 01:04:02,150 the small one the one with the shorter

1361 01:03:57,230 --> 01:04:04,970 radius seems to run faster but let's

1362 01:04:02,150 --> 01:04:11,210 check that I'll set them both to run for

1363 01:04:04,970 --> 01:04:13,790 three tenths of a second a small one

1364 01:04:11,210 --> 01:04:15,560 turns farther around the circle but

1365 01:04:13,790 --> 01:04:18,200 let's see how much distance is actually

1366 01:04:15,560 --> 01:04:21,560 covered I'll straighten out the curved

1367 01:04:18,200 --> 01:04:22,420 paths to measure them both paths are the

1368 01:04:21,560 --> 01:04:25,430 same length

1369 01:04:22,420 --> 01:04:28,609 even though spin increases the distance

1370 01:04:25,430 --> 01:04:31,580 traveled is the same the luge event is

1371 01:04:28,609 --> 01:04:33,890 about to begin show it live or record it

1372 01:04:31,580 --> 01:04:37,130 no I'm not interested in luge

1373 01:04:33,890 --> 01:04:41,630 I don't understand I like skating

1374 01:04:37,130 --> 01:04:45,700 I don't understand don't show luge don't

1375 01:04:41,630 --> 01:04:48,770 record it I understand

1376 01:04:45,700 --> 01:04:58,540 I'd like to say this simulation Phil

1377 01:04:48,770 --> 01:04:58,540 start a link Phil show the stack map

1378 01:05:01,300 --> 01:05:14,440 too far okay show recent link to this

1379 01:05:10,240 --> 01:05:17,220 background now anytime I'm on a skating

1380 01:05:14,440 --> 01:05:19,990 card I can link to my physics simulation

1381 01:05:17,220 --> 01:05:23,470 by the time the Winter Olympics come to

1382 01:05:19,990 --> 01:05:25,780 a birdie in 1992 CD media will be well

1383 01:05:23,470 --> 01:05:27,910 established each of us will be able to

1384 01:05:25,780 --> 01:05:30,790 choose our own path through Worlds of

1385 01:05:27,910 --> 01:05:32,380 entertainment and information and tools

1386 01:05:30,790 --> 01:05:34,510 like those that we've been seeing will

1387 01:05:32,380 --> 01:05:37,780 allow us to integrate the full range of

1388 01:05:34,510 --> 01:05:41,050 sound video and text information this

1389 01:05:37,780 --> 01:05:43,060 demo ends here John should I show the

1390 01:05:41,050 --> 01:05:51,930 pre-recorded speech or will you give it

1391 01:05:43,060 --> 01:05:55,330 live humane things to think about it

1392 01:05:51,930 --> 01:05:57,190 here are that although we are of course

1393 01:05:55,330 --> 01:05:59,710 going to go to hypermedia and it's going

1394 01:05:57,190 --> 01:06:02,380 to be object-oriented it's really not

1395 01:05:59,710 --> 01:06:04,330 going to be complete until the user is

1396 01:06:02,380 --> 01:06:07,000 able to do active thought experiments

1397 01:06:04,330 --> 01:06:09,910 experiments most hypermedia up till now

1398 01:06:07,000 --> 01:06:13,720 is assumes that the user is going to

1399 01:06:09,910 --> 01:06:15,040 navigate around stuff that may be active

1400 01:06:13,720 --> 01:06:17,620 but the user isn't going to be able to

1401 01:06:15,040 --> 01:06:21,400 do a lot of creation themselves this is

1402 01:06:17,620 --> 01:06:22,870 a critical thing to to realize and that

1403 01:06:21,400 --> 01:06:24,640 the agents of the future are going to be

1404 01:06:22,870 --> 01:06:26,230 helpful mainly for their ability to work

1405 01:06:24,640 --> 01:06:28,630 away from us not from the amount of

1406 01:06:26,230 --> 01:06:30,820 comprehensiveness that they have the

1407 01:06:28,630 --> 01:06:33,150 best object we have for exploring this

1408 01:06:30,820 --> 01:06:37,560 new area is the one between our ears

1409 01:06:33,150 --> 01:06:37,560 providing its active thank you

1410 01:06:56,700 --> 01:07:08,520 tell some questions yes yes

1411 01:07:15,800 --> 01:07:21,980 well you can do that but just consider

1412 01:07:20,060 --> 01:07:23,600 the problem of a system file that some

1413 01:07:21,980 --> 01:07:27,140 people have access to and other people

1414 01:07:23,600 --> 01:07:29,420 don't have access to all right there's a

1415 01:07:27,140 --> 01:07:30,860 perfect example of when somebody's what

1416 01:07:29,420 --> 01:07:32,750 you really like to have is when somebody

1417 01:07:30,860 --> 01:07:35,390 sends a message not a command but a

1418 01:07:32,750 --> 01:07:38,060 message to that system file you'd like

1419 01:07:35,390 --> 01:07:39,740 to have some way number one of checking

1420 01:07:38,060 --> 01:07:42,110 the access privileges before you do

1421 01:07:39,740 --> 01:07:45,280 anything and number two and you'd like

1422 01:07:42,110 --> 01:07:47,810 to be able to do that checking quickly

1423 01:07:45,280 --> 01:07:50,180 okay but even being able to do the first

1424 01:07:47,810 --> 01:07:51,380 would be good whereas in the current

1425 01:07:50,180 --> 01:07:53,000 things that are called object oriented

1426 01:07:51,380 --> 01:07:54,470 languages you are already committed

1427 01:07:53,000 --> 01:07:56,570 you've already formed an activation

1428 01:07:54,470 --> 01:07:59,180 record because it's a procedure call you

1429 01:07:56,570 --> 01:08:02,330 are already inside the method and thus

1430 01:07:59,180 --> 01:08:08,030 each method that is sensitive has to

1431 01:08:02,330 --> 01:08:10,640 have the responsibility access you can

1432 01:08:08,030 --> 01:08:11,960 put that in you can put all through a

1433 01:08:10,640 --> 01:08:14,660 procedure and you have to remember the

1434 01:08:11,960 --> 01:08:18,200 next time you do that it has this

1435 01:08:14,660 --> 01:08:21,260 problem that isn't all I mean languages

1436 01:08:18,200 --> 01:08:26,150 also allow your things that allow you

1437 01:08:21,260 --> 01:08:29,420 access this way I'll talk allows you to

1438 01:08:26,150 --> 01:08:33,650 turn a thing called a block that block

1439 01:08:29,420 --> 01:08:37,130 is a particular kind of object that it's

1440 01:08:33,650 --> 01:08:39,500 a block context actually that by virtue

1441 01:08:37,130 --> 01:08:41,299 of what it is it has access to some of

1442 01:08:39,500 --> 01:08:45,529 the internal variables of the object and

1443 01:08:41,299 --> 01:08:47,960 so it's you can create Trojan horses and

1444 01:08:45,529 --> 01:08:50,480 so forth and but basically what happened

1445 01:08:47,960 --> 01:08:52,370 is when they were implementing the newer

1446 01:08:50,480 --> 01:08:53,720 versions of small talk some of the older

1447 01:08:52,370 --> 01:08:56,420 people who worked on it didn't work on

1448 01:08:53,720 --> 01:08:57,859 the newer ones number one and number two

1449 01:08:56,420 --> 01:09:00,500 most of the newer people had never done

1450 01:08:57,859 --> 01:09:02,330 any operating system type stuff and so

1451 01:09:00,500 --> 01:09:06,109 the operating system type stuff that was

1452 01:09:02,330 --> 01:09:08,240 in the original one didn't get put in as

1453 01:09:06,109 --> 01:09:10,250 the later the later small talk went back

1454 01:09:08,240 --> 01:09:12,680 to be looking a lot more like similar

1455 01:09:10,250 --> 01:09:15,049 than the original one did the original

1456 01:09:12,680 --> 01:09:17,630 one when you sent a message you weren't

1457 01:09:15,049 --> 01:09:20,720 calling a procedure at all all you were

1458 01:09:17,630 --> 01:09:22,100 doing is knocking on it and saying hey

1459 01:09:20,720 --> 01:09:23,630 you know it's the equivalent of the

1460 01:09:22,100 --> 01:09:24,950 postman leaving a thing that says

1461 01:09:23,630 --> 01:09:26,330 there's a message waiting for you down

1462 01:09:24,950 --> 01:09:27,339 at the post office if you would care to

1463 01:09:26,330 --> 01:09:30,250 get it

1464 01:09:27,339 --> 01:09:32,619 it was that arms off relationship that

1465 01:09:30,250 --> 01:09:35,259 small talk 72 had that allows you to

1466 01:09:32,619 --> 01:09:37,440 implement all the operating system

1467 01:09:35,259 --> 01:09:40,599 protection ideas that are important and

1468 01:09:37,440 --> 01:09:43,239 I think that the the ability to

1469 01:09:40,599 --> 01:09:44,799 implement large systems in

1470 01:09:43,239 --> 01:09:46,389 object-oriented languages as well as

1471 01:09:44,799 --> 01:09:48,520 being a being able to implement them

1472 01:09:46,389 --> 01:09:51,219 conveniently is going to have a lot to

1473 01:09:48,520 --> 01:09:53,739 do about how much protection integrity

1474 01:09:51,219 --> 01:09:55,119 there actually is it's easy to do you

1475 01:09:53,739 --> 01:10:01,800 just have to know that it's important

1476 01:09:55,119 --> 01:10:01,800 and put it in the in the system yes

1477 01:10:19,170 --> 01:10:21,830 right

1478 01:10:23,420 --> 01:10:31,250 yeah well I think again I had a there's

1479 01:10:28,250 --> 01:10:33,050 a little technical part of the talk that

1480 01:10:31,250 --> 01:10:35,480 I left out that but I think that one of

1481 01:10:33,050 --> 01:10:36,440 the things that's going to happen is

1482 01:10:35,480 --> 01:10:38,540 that the way we're thinking about

1483 01:10:36,440 --> 01:10:44,150 objects now just even as people are

1484 01:10:38,540 --> 01:10:45,650 struggling to use them one of the when

1485 01:10:44,150 --> 01:10:48,310 you look at object based systems today

1486 01:10:45,650 --> 01:10:50,360 they're mainly modular in terms of state

1487 01:10:48,310 --> 01:10:53,179 right the state is sealed off and

1488 01:10:50,360 --> 01:10:55,520 sometimes it's not even state because

1489 01:10:53,179 --> 01:10:57,350 you can have procedural interpretations

1490 01:10:55,520 --> 01:10:59,960 for things and the thing that's not

1491 01:10:57,350 --> 01:11:02,929 modular in object-oriented systems is

1492 01:10:59,960 --> 01:11:04,880 control in fact sometimes gets worse

1493 01:11:02,929 --> 01:11:07,940 because you can have what's called a

1494 01:11:04,880 --> 01:11:09,710 buck passing theory of control where you

1495 01:11:07,940 --> 01:11:11,119 constantly pass and control all over the

1496 01:11:09,710 --> 01:11:12,980 place and eventually it gets to somebody

1497 01:11:11,119 --> 01:11:16,850 you can handle it and they handle it and

1498 01:11:12,980 --> 01:11:19,659 it's both through inheritance and also

1499 01:11:16,850 --> 01:11:23,330 through containment that that happens

1500 01:11:19,659 --> 01:11:24,590 when you when you start looking in the

1501 01:11:23,330 --> 01:11:26,780 system that's been implemented that way

1502 01:11:24,590 --> 01:11:28,310 you start realizing whoa all of a sudden

1503 01:11:26,780 --> 01:11:29,389 you have to start understanding things

1504 01:11:28,310 --> 01:11:31,310 again and the whole idea of

1505 01:11:29,389 --> 01:11:32,690 object-oriented programming is be able

1506 01:11:31,310 --> 01:11:34,040 to program things without having to

1507 01:11:32,690 --> 01:11:36,889 understand how everything works

1508 01:11:34,040 --> 01:11:38,480 it's like Prolog it's like magic for the

1509 01:11:36,889 --> 01:11:39,860 Baths the first three hours and then all

1510 01:11:38,480 --> 01:11:42,139 of a sudden you have to understand ten

1511 01:11:39,860 --> 01:11:46,100 times more than you ever did so it's

1512 01:11:42,139 --> 01:11:48,280 it's kind of a cruel trick and if you

1513 01:11:46,100 --> 01:11:50,540 look into biological systems

1514 01:11:48,280 --> 01:11:54,080 again the first small talk was designed

1515 01:11:50,540 --> 01:11:57,350 more this way it was less procedural in

1516 01:11:54,080 --> 01:11:58,880 many ways and it was hoping to use a

1517 01:11:57,350 --> 01:12:01,639 control structure invented by Dave

1518 01:11:58,880 --> 01:12:03,409 Fisher who did a great thesis at

1519 01:12:01,639 --> 01:12:06,139 Carnegie in 1970 called the control

1520 01:12:03,409 --> 01:12:08,030 definition language that was one of the

1521 01:12:06,139 --> 01:12:10,790 that was one of the inputs to the design

1522 01:12:08,030 --> 01:12:12,050 of small talk and there he was very

1523 01:12:10,790 --> 01:12:16,340 interested in what you might call a

1524 01:12:12,050 --> 01:12:18,050 gorrik computing and the the current

1525 01:12:16,340 --> 01:12:19,610 stuff I've been fooling around with our

1526 01:12:18,050 --> 01:12:22,550 systems that don't send messages but

1527 01:12:19,610 --> 01:12:23,630 only receive in other words one of the

1528 01:12:22,550 --> 01:12:26,270 ways of getting around the control

1529 01:12:23,630 --> 01:12:27,650 problem is to if you're a module what

1530 01:12:26,270 --> 01:12:29,030 you do is let the system know what

1531 01:12:27,650 --> 01:12:30,679 you're interested in it's up to the

1532 01:12:29,030 --> 01:12:33,349 system to somehow get that in for

1533 01:12:30,679 --> 01:12:34,790 to you you don't care how what you don't

1534 01:12:33,349 --> 01:12:36,739 want to have is a system which every

1535 01:12:34,790 --> 01:12:38,239 time a new object goes into it some

1536 01:12:36,739 --> 01:12:40,130 other object has to know it should send

1537 01:12:38,239 --> 01:12:42,349 it a message to write because then

1538 01:12:40,130 --> 01:12:44,030 you're right back to something analogous

1539 01:12:42,349 --> 01:12:46,699 to the data structure problem having

1540 01:12:44,030 --> 01:12:48,619 random procedures understand the formats

1541 01:12:46,699 --> 01:12:50,179 of data structures and here we're

1542 01:12:48,619 --> 01:12:51,770 talking about having objects have to

1543 01:12:50,179 --> 01:12:56,690 haven't understand essentially control

1544 01:12:51,770 --> 01:13:00,199 formats so I've been working on a design

1545 01:12:56,690 --> 01:13:01,849 of a system that only receives but it

1546 01:13:00,199 --> 01:13:03,830 receives by indicating things that's

1547 01:13:01,849 --> 01:13:07,010 interesting interested in and then the

1548 01:13:03,830 --> 01:13:08,330 the system constructs a structure that

1549 01:13:07,010 --> 01:13:10,340 will guarantee to deliver that

1550 01:13:08,330 --> 01:13:13,250 information to it in a timely fashion

1551 01:13:10,340 --> 01:13:15,440 and again I think if you just get away

1552 01:13:13,250 --> 01:13:17,989 from software systems and think about

1553 01:13:15,440 --> 01:13:20,239 networks again it will tell you a lot

1554 01:13:17,989 --> 01:13:22,159 about what to do with objects because

1555 01:13:20,239 --> 01:13:23,389 you really you can't take objects

1556 01:13:22,159 --> 01:13:25,730 seriously unless you think of a

1557 01:13:23,389 --> 01:13:27,080 transmission line between them it's too

1558 01:13:25,730 --> 01:13:28,400 easy to just think of sending a

1559 01:13:27,080 --> 01:13:29,719 procedure call to them and you don't

1560 01:13:28,400 --> 01:13:31,639 have any of the interesting things that

1561 01:13:29,719 --> 01:13:34,130 have happened with concurrency and

1562 01:13:31,639 --> 01:13:35,900 synchronization and protection and all

1563 01:13:34,130 --> 01:13:40,030 of those things that are really going to

1564 01:13:35,900 --> 01:13:42,199 be a major part of just standard

1565 01:13:40,030 --> 01:13:43,639 programs that we're doing in the world

1566 01:13:42,199 --> 01:13:45,920 so I think you just think of it as being

1567 01:13:43,639 --> 01:13:47,960 a whole bunch of net networked computers

1568 01:13:45,920 --> 01:13:49,340 crying to cooperate and realize and what

1569 01:13:47,960 --> 01:13:51,530 the problems there and how you want to

1570 01:13:49,340 --> 01:13:53,239 write the code then I think it tells you

1571 01:13:51,530 --> 01:13:54,770 what to do with objects that was the way

1572 01:13:53,239 --> 01:13:59,320 the original small talk was designed

1573 01:13:54,770 --> 01:13:59,320 anyway yes

1574 01:14:06,059 --> 01:14:14,820 right good question the I don't actually

1575 01:14:12,059 --> 01:14:19,079 have any of those things in mind but

1576 01:14:14,820 --> 01:14:23,309 when when Smalltalk 72 was done 16 years

1577 01:14:19,079 --> 01:14:28,409 ago the idea back then was what

1578 01:14:23,309 --> 01:14:32,719 capabilities could do if abilities are a

1579 01:14:28,409 --> 01:14:35,570 short way of dealing with access rights

1580 01:14:32,719 --> 01:14:39,840 okay and the access rights there our

1581 01:14:35,570 --> 01:14:42,179 instance are at the instance level in

1582 01:14:39,840 --> 01:14:43,770 capability systems and I wouldn't think

1583 01:14:42,179 --> 01:14:46,469 that trying to protect at the class

1584 01:14:43,770 --> 01:14:48,030 level is C it's easy to protect the

1585 01:14:46,469 --> 01:14:49,349 class if you can protect at the instance

1586 01:14:48,030 --> 01:14:52,380 right because the class is an instance

1587 01:14:49,349 --> 01:14:53,820 of class class that's trivial to do it

1588 01:14:52,380 --> 01:14:57,539 so you want to protect at the instance

1589 01:14:53,820 --> 01:14:59,670 level its itself and protecting at the

1590 01:14:57,539 --> 01:15:01,340 instance level in capability systems is

1591 01:14:59,670 --> 01:15:03,750 tantamount to protecting each message

1592 01:15:01,340 --> 01:15:06,139 individually because that's what a what

1593 01:15:03,750 --> 01:15:10,489 a capability map actually does for you

1594 01:15:06,139 --> 01:15:10,489 so it's a very nice way of doing it yeah

1595 01:15:11,809 --> 01:15:17,239 sure

1596 01:15:13,729 --> 01:15:19,459 no I don't see any if you can deliver it

1597 01:15:17,239 --> 01:15:22,940 for that price I think he will sell a

1598 01:15:19,459 --> 01:15:25,340 few but as far as I can see there's no

1599 01:15:22,940 --> 01:15:27,920 in fact the interesting thing is the

1600 01:15:25,340 --> 01:15:30,619 user interface a lot of the things in

1601 01:15:27,920 --> 01:15:32,329 user interface are more like small talk

1602 01:15:30,619 --> 01:15:35,929 than than than the Mac he has

1603 01:15:32,329 --> 01:15:37,880 hierarchical browsers in it and the

1604 01:15:35,929 --> 01:15:41,780 proportional scroll bars and other kinds

1605 01:15:37,880 --> 01:15:45,409 of things that small talk and although

1606 01:15:41,780 --> 01:15:47,929 he has a very strange scroll nose we saw

1607 01:15:45,409 --> 01:15:49,519 at window resizing method apparently I

1608 01:15:47,929 --> 01:15:51,320 haven't actually used the machine yeah

1609 01:15:49,519 --> 01:15:52,909 but somebody told me you can only resize

1610 01:15:51,320 --> 01:15:56,420 one dimension of the window at a time

1611 01:15:52,909 --> 01:15:58,729 and he would would have known that Apple

1612 01:15:56,420 --> 01:16:01,749 didn't own that if he'd seen the the

1613 01:15:58,729 --> 01:16:01,749 Grail movie because

1614 01:16:09,239 --> 01:16:15,270 well again in the longer in a longer

1615 01:16:11,969 --> 01:16:17,820 talk what when I started thinking about

1616 01:16:15,270 --> 01:16:20,730 it I realized I didn't have not only

1617 01:16:17,820 --> 01:16:23,640 didn't have any good ideas about AI that

1618 01:16:20,730 --> 01:16:27,120 I'd never had I had had a good idea in

1619 01:16:23,640 --> 01:16:29,880 AI and I figured that was either because

1620 01:16:27,120 --> 01:16:31,880 I was completely stupid or else I was

1621 01:16:29,880 --> 01:16:35,520 thinking about it in a way that wasn't

1622 01:16:31,880 --> 01:16:37,200 terribly fruitful or the stuff that

1623 01:16:35,520 --> 01:16:39,630 people have been doing in AI didn't have

1624 01:16:37,200 --> 01:16:41,820 any good extrapolation into what would

1625 01:16:39,630 --> 01:16:45,120 be powerful I still don't know which of

1626 01:16:41,820 --> 01:16:47,070 those three is the is the case but I

1627 01:16:45,120 --> 01:16:48,300 have a couple of degrees in biology so I

1628 01:16:47,070 --> 01:16:53,580 started thinking about it from

1629 01:16:48,300 --> 01:16:56,460 biological stand the first thing that I

1630 01:16:53,580 --> 01:16:58,980 realized was that trying to essentially

1631 01:16:56,460 --> 01:17:00,000 do a Beethoven which has been one of the

1632 01:16:58,980 --> 01:17:02,340 main aims of AI

1633 01:17:00,000 --> 01:17:03,989 who knows to do some superhuman

1634 01:17:02,340 --> 01:17:06,330 intelligence right off the bath to

1635 01:17:03,989 --> 01:17:09,719 impress the Pentagon sponsors is a real

1636 01:17:06,330 --> 01:17:17,160 loser because we can't even do a decent

1637 01:17:09,719 --> 01:17:18,360 ant and so I got basically I got

1638 01:17:17,160 --> 01:17:19,830 interested in thinking about what would

1639 01:17:18,360 --> 01:17:21,570 it be like if you forgot about forget

1640 01:17:19,830 --> 01:17:24,630 about Beethoven for a while what would

1641 01:17:21,570 --> 01:17:26,910 it be like to just try and understand a

1642 01:17:24,630 --> 01:17:29,880 I as an architectural problem which I I

1643 01:17:26,910 --> 01:17:32,550 do this is I think of life as an

1644 01:17:29,880 --> 01:17:34,080 architecture right the material moves

1645 01:17:32,550 --> 01:17:35,850 through us we recycle the atoms in our

1646 01:17:34,080 --> 01:17:38,370 bodies every seven years or so but the

1647 01:17:35,850 --> 01:17:40,830 pattern remains some kind of a weird

1648 01:17:38,370 --> 01:17:43,980 feeling to think of matter passing

1649 01:17:40,830 --> 01:17:47,430 through this force field or so that

1650 01:17:43,980 --> 01:17:49,080 organizes it and the same same thing is

1651 01:17:47,430 --> 01:17:50,790 likely to be true for intelligence it's

1652 01:17:49,080 --> 01:17:52,290 it's an architecture and when you're

1653 01:17:50,790 --> 01:17:54,840 doing doing architecture you have to

1654 01:17:52,290 --> 01:17:59,070 start building things and seeing which

1655 01:17:54,840 --> 01:18:00,630 cathedrals fall down and you're really

1656 01:17:59,070 --> 01:18:02,280 in bad shape in architecture if you

1657 01:18:00,630 --> 01:18:04,620 build dog houses because you can build a

1658 01:18:02,280 --> 01:18:06,450 doghouse out of almost anything and it

1659 01:18:04,620 --> 01:18:07,530 won't fall down and doesn't scale you

1660 01:18:06,450 --> 01:18:10,140 know the big problem with our whole

1661 01:18:07,530 --> 01:18:13,290 field is big good ideas don't often

1662 01:18:10,140 --> 01:18:14,850 scale and we always get screwed when

1663 01:18:13,290 --> 01:18:16,380 somebody has a good idea that works in

1664 01:18:14,850 --> 01:18:18,120 the small and then they try and scale it

1665 01:18:16,380 --> 01:18:18,980 off by a factor of thousand and all of a

1666 01:18:18,120 --> 01:18:22,370 sudden

1667 01:18:18,980 --> 01:18:23,780 anymore so the to me it seemed like the

1668 01:18:22,370 --> 01:18:26,450 an interesting thing to do would be to

1669 01:18:23,780 --> 01:18:30,440 try and build some biologically relevant

1670 01:18:26,450 --> 01:18:32,330 models of animal intelligence and pick

1671 01:18:30,440 --> 01:18:35,120 at a bunch of different levels so that

1672 01:18:32,330 --> 01:18:36,170 you wouldn't get into the scaling bug so

1673 01:18:35,120 --> 01:18:39,140 that you actually thought you were

1674 01:18:36,170 --> 01:18:40,970 developing some something that might

1675 01:18:39,140 --> 01:18:43,070 give you a few hints as to what the what

1676 01:18:40,970 --> 01:18:44,989 a good architecture for intelligence is

1677 01:18:43,070 --> 01:18:47,780 I joined up forces with Marvin Minsky at

1678 01:18:44,989 --> 01:18:49,910 MIT set up a project called the vivarium

1679 01:18:47,780 --> 01:18:51,770 which it involves children because the

1680 01:18:49,910 --> 01:18:53,570 again it's it's hard to design for

1681 01:18:51,770 --> 01:18:57,110 adults it gets boring after a while so

1682 01:18:53,570 --> 01:18:58,910 the project for children wound up being

1683 01:18:57,110 --> 01:19:01,190 saying what would it be like for

1684 01:18:58,910 --> 01:19:04,340 children to actually build these animals

1685 01:19:01,190 --> 01:19:08,450 what would it be like for a child to sit

1686 01:19:04,340 --> 01:19:10,100 down and build up a both a physical

1687 01:19:08,450 --> 01:19:11,989 animal and a mental animal that you

1688 01:19:10,100 --> 01:19:13,460 could put into a big environment if we

1689 01:19:11,989 --> 01:19:16,190 have one more second I can show you a

1690 01:19:13,460 --> 01:19:19,250 little clip of some of the work that

1691 01:19:16,190 --> 01:19:28,300 we've been doing this is will be taped

1692 01:19:19,250 --> 01:19:30,770 six and what it is is before you show it

1693 01:19:28,300 --> 01:19:33,230 what it is is some real stuff and some

1694 01:19:30,770 --> 01:19:35,270 fake stuff the real stuff is all of the

1695 01:19:33,230 --> 01:19:37,940 3d graphics that are in it which we did

1696 01:19:35,270 --> 01:19:40,220 in real time on a an Evans & Sutherland

1697 01:19:37,940 --> 01:19:43,750 flight simulator this is the machine

1698 01:19:40,220 --> 01:19:47,540 that has something like 3.5 gigaflops of

1699 01:19:43,750 --> 01:19:53,030 computation it's about six to eight Cray

1700 01:19:47,540 --> 01:19:56,930 XMP 48 worth of stuff so it can actually

1701 01:19:53,030 --> 01:19:59,739 generate on a database that has some sub

1702 01:19:56,930 --> 01:20:01,690 planetary in size

1703 01:19:59,739 --> 01:20:05,400 you know because you have to have to fly

1704 01:20:01,690 --> 01:20:09,730 over hundreds of miles of it at Mach 3

1705 01:20:05,400 --> 01:20:12,099 and it's able to perfect anti rastering

1706 01:20:09,730 --> 01:20:16,210 perfect texture mapping on the thing and

1707 01:20:12,099 --> 01:20:18,550 it has it has the ability to have as

1708 01:20:16,210 --> 01:20:20,800 many as thirty two independent cameras

1709 01:20:18,550 --> 01:20:22,449 at once so you can see look into the

1710 01:20:20,800 --> 01:20:25,749 same database from multiple points of

1711 01:20:22,449 --> 01:20:28,480 view so all the stuff that you see in in

1712 01:20:25,749 --> 01:20:29,920 this user interface at that level is

1713 01:20:28,480 --> 01:20:32,380 real and then what we did is a little

1714 01:20:29,920 --> 01:20:33,670 mock-up to see what the user interface

1715 01:20:32,380 --> 01:20:36,190 some of the elements of the user

1716 01:20:33,670 --> 01:20:38,010 interface might be for children we're

1717 01:20:36,190 --> 01:20:40,869 using elementary school children so

1718 01:20:38,010 --> 01:20:42,280 they're both visual and very tactile so

1719 01:20:40,869 --> 01:20:43,809 we got very interested in what would a

1720 01:20:42,280 --> 01:20:46,360 tactile kind of user interface be

1721 01:20:43,809 --> 01:20:49,389 particularly one without any menus in it

1722 01:20:46,360 --> 01:20:50,590 so when you so I think you'll be able to

1723 01:20:49,389 --> 01:21:00,429 tell the difference between the two so

1724 01:20:50,590 --> 01:21:03,249 let's roll that tape number six so here

1725 01:21:00,429 --> 01:21:06,190 just turn out the lights so here we have

1726 01:21:03,249 --> 01:21:07,510 actually four desktops in operation

1727 01:21:06,190 --> 01:21:11,889 under projects and we go into the

1728 01:21:07,510 --> 01:21:13,840 vivarium one and here's the flight

1729 01:21:11,889 --> 01:21:18,760 simulator we have two different points

1730 01:21:13,840 --> 01:21:22,320 of view two camera controls as you see

1731 01:21:18,760 --> 01:21:24,369 there so this is 60 frames a second

1732 01:21:22,320 --> 01:21:27,780 real-time computer we wanted to do it

1733 01:21:24,369 --> 01:21:29,920 all in real time to keep honest about it

1734 01:21:27,780 --> 01:21:31,719 and one nice thing about real-time

1735 01:21:29,920 --> 01:21:37,420 graphics is you want three minutes of

1736 01:21:31,719 --> 01:21:41,170 real-time graphics you it only takes

1737 01:21:37,420 --> 01:21:45,400 three minutes to generate so here's the

1738 01:21:41,170 --> 01:21:47,739 little kids notebook going rockfish you

1739 01:21:45,400 --> 01:21:50,499 see the real real crab over there and

1740 01:21:47,739 --> 01:21:55,570 the simulated crab and the crab model

1741 01:21:50,499 --> 01:22:00,519 that the kids working on here's the sea

1742 01:21:55,570 --> 01:22:04,559 snail weird color it has is actually the

1743 01:22:00,519 --> 01:22:04,559 color that's how we do scrolling

1744 01:22:04,810 --> 01:22:10,460 and here's an avoidance reaction this is

1745 01:22:07,550 --> 01:22:16,010 what a real one looks like really an

1746 01:22:10,460 --> 01:22:19,550 amazing amazing color and down in the

1747 01:22:16,010 --> 01:22:25,489 sales simulation here it's just chucking

1748 01:22:19,550 --> 01:22:27,710 along on its basic movement cycle these

1749 01:22:25,489 --> 01:22:30,830 these snails these particular ones have

1750 01:22:27,710 --> 01:22:38,710 only about 2,000 neurons so here we open

1751 01:22:30,830 --> 01:22:38,710 it up a little bit kids love that

1752 01:22:39,040 --> 01:22:45,170 various brain models there's three or

1753 01:22:41,449 --> 01:22:46,699 four different points of view here's the

1754 01:22:45,170 --> 01:22:50,120 one that they would use to program it

1755 01:22:46,699 --> 01:22:52,730 with all the sensors and now if we put

1756 01:22:50,120 --> 01:22:54,530 them all to work get to see what the

1757 01:22:52,730 --> 01:22:56,920 whole environment actually looks like

1758 01:22:54,530 --> 01:22:56,920 here

1759 01:22:59,440 --> 01:23:04,960 [Music]

1760 01:23:19,920 --> 01:23:32,220 [Music]

1761 01:23:38,380 --> 01:23:48,060 [Music]

1762 01:23:50,560 --> 01:24:12,079 [Music]

1763 01:24:27,050 --> 01:24:38,119 [Music]

1764 01:24:42,250 --> 01:24:59,010 [Music]

1765 01:25:02,040 --> 01:25:14,860 [Music]

1766 01:25:11,830 --> 01:25:17,840 this about two years into a six-year

1767 01:25:14,860 --> 01:25:22,640 project where we basically built all

1768 01:25:17,840 --> 01:25:25,120 this stuff by bite simulator brains of

1769 01:25:22,640 --> 01:25:27,800 the animals we built with a bunch of

1770 01:25:25,120 --> 01:25:30,020 thesis projects at MIT that Marvin

1771 01:25:27,800 --> 01:25:32,960 Minsky and I are supervising the next

1772 01:25:30,020 --> 01:25:35,690 phase of the thing is to do a system now

1773 01:25:32,960 --> 01:25:39,070 that children can actually build the the

1774 01:25:35,690 --> 01:25:42,110 animals and put the brains and so we're

1775 01:25:39,070 --> 01:25:44,720 now the the idea is about two years from

1776 01:25:42,110 --> 01:25:47,240 now that is to start testing that aspect

1777 01:25:44,720 --> 01:25:50,030 of it by the end of the six years is to

1778 01:25:47,240 --> 01:25:53,030 exhibit sort of an animal building kit

1779 01:25:50,030 --> 01:25:55,340 with brain models that ethologists would

1780 01:25:53,030 --> 01:25:56,340 not turn up their noses at thank you

1781 01:25:55,340 --> 01:26:01,430 very much

1782 01:25:56,340 --> 01:26:07,489 [Applause]

1783 01:26:01,430 --> 01:26:07,489 [Music]

1784 01:26:08,900 --> 01:26:17,570 [Applause]

1785 01:26:13,930 --> 01:26:20,750 we're gonna take a break and it'll be

1786 01:26:17,570 --> 01:26:23,200 ten minutes please return in ten minutes

1787 01:26:20,750 --> 01:26:23,200 thanks

1788 01:26:23,380 --> 01:26:44,159 [Music]