2003-04-24 Alan Kay "Daddy, are we there yet?" "The last 20 years or so have been pretty boring" everything's been aimed at businesses, who aren't that creative they use "instrumental reasoning" [opposite of lateral?] so we need to look at children, and how they use it grand challenges from 1963 . real enduser computer lieracy . real scalable group collaboration . real computer & communication xxx . real computer science & enginerring ARPA's goal was to tightly couple human brains and computing machines -- this happened in science, which has been revolutionised. but not most people. instrumental reasoning: judgement of tool or idea presented to a person solely in terms of the current goal structure of that person. new tool or idea accepted or rejected based on whether it contributes to current goal adults have way too much context. way to many things that work "pretty well", which is the enemy of qualitative improvement. playing Sketchpad UI from 1963: plotting points with a light pen (someone called Ivan doing this?). first clipping window. zoomable interface, canvas is 1/3 mile on each side. Sketchpad is a graphical spreadsheet: you could add rules to lines (make lines parallel, for example): so the spreadsheet does what you say, and also enacts the rules in the background. "real time constraints solver" they asked what else it could do, and they said it could model things: rules like "make these 4 line perpendicular" then base a circle around the centre of that -- and you come up with a model of a riveted cross with a roof. and also there are *instances*! rotatable and scalable. multiple instances, based on a master -- the world is based on instances of masters, which we call "ideas". sketchpad ran on: TX2 (or DX2?) was size of a room. half of the thing was devoted to the display. 0.5 MIP first example kay knows of an object oriented system. everything in Sketchpad constructed like this -- even letters and a text editor. it took 1 year to build in machine code by one person. when kay asked him how he did this: "i didn't know it was hard." [hey! structure of scientific revolutions] thesis pdf is online from MIT press, $5-6 * Original video game, PDP1 Spacewar at MIT 1962 wicked, based on Doc Smith's Lensman ideas for spacewar! [there were big circles where you could see and control fleets from the outside. I didn't realise that was such a big idea, but I guess it was -- removing the embededness. isometry is a big abstraction from the usual input/output cursor] * PDP1 Interactive LISP LISP 1.5 programmer's, John McCarthy only 16 when he made this. metastructures, etc [I missed some of this, I need to get somebody else's notes on this. What was the thing Kay said was so special about this] * Engelbart NLS this is 5 years later - 1968 "Engelbart is the true father of personal computing" [Kay just stopped his program, played around with the presentation. "authoring is always on" he says. what was it? looked cool. clicked on the movie, loads of action buttons appears around it. it's is Mac-like cursor] Engelbart's voice sounds like one of those trance tracks. echo, 1960s voice. the video is the famous one: he's making a nodes and arc picture, showing that clicking on a library pulls up a database of overview books. Kay mentions: the response time was subsecond, 192k, 0.5MIP, 40 miles away timeshare how did they do it? -> they really wanted it and now we just settle for much much less now demoing the Engelbart video of hypermedia: collaboration with a video in the top corner, showing somebody else using the system, opening files, etc. [Kay's just saying: everything we're doing, they were doing it in the 60s, and way better. We don't want it enough now.] this immersive sharing was so popular they'd use it in a single room: all with shared cursors, etc. it was the way of life at SRI in *1968*. * Kay's history. . Sketchpad in 1966 . biological background gives idea of "dynamic objects" . 1968, Rand, incredible pen based system. wow. drawing boxes with a lightpen that snap to vecotr boxes. write on the boxes [that snap to letters?] draw decision elements as arrows, make erasure marks, etc. Gabe Roner's recogniser from 1968 is better than Graffiti is now. "it's all written up. but of course our field doesn't read any more" there was an idea BACK THEN that kids would have wireless laptops, building their own versions of spacewar. why haven't we done it? there's been no effort towards this. we should be building for children -- children are the only people who do 2 handed interfaces like engelbart did. [wow. so why *haven't* we done this?] Another illustration: Xerox PARC & Interim Dynabook Jordan JHS Palo Alter - 1975 * "What is Enduser Computing Literacy" he's drawn a crude car in a painting program. he can turn it. it's got behaviour, click a button and it moves forward. visual system to write a script that controls the movement of the car. "that's sort of like kissing your sister though, because what you really want to do is something like a steering wheel" so he paints one of those, opens a window and the header figure (among others) are listed, so he drops that figure into the script window, and controls the car with that. "why shouldn't all programming be like this?" * "Real Science with 11 year olds" video of kids with various objects, being dropped off a building [the objects, not the kids]. after showing the video of people timing it, kay gets a video of the movie, and because this ia presentation system with a uniform object model, he just grabs every 5th frame of the movie really easily, then measures the difference between frames by stretching rectangles between them. then he writes a script to simulate a ball. there are categories on the properties, like "geometry" [this is mindblowing. what programming show be like] college students don't get this far (gravity) "point of view is worth 80 IQ points" once you've simulated that, you can reuse it to add to a script about a spaceship. [alan kay's timeline history of multimedia http://www.coe.uh.edu/courses/cuin7305/students/class02/multimedia_timeline. html ] [i get the feeling that none of this is too difficult *if* you think about stuff really really hard (i mean, you don't need to be a new-idea-every-10-seconds-super-genius). this interface is great, fully OO. change the colour and the colour interface comes up. you could draw all this stuff on paper IF YOU WERE SUFFICIENTLY CROSS-DISCIPLINE and make something really great. then program it.] now there's a very simple little script that negotiations turns and drives a little car down a road. * Particles have Zen another simulation system, with ants crawing around [this is all in Squeak? http://www.squeak.org/download/ -- downloading now...] * What is Scalable Group Collaboration they're now collaborating between the two big monitors [okay, so the guy collaborating did TCP/IP... whoa]. alpha software late 60s and early 70s, it was realised the internet was going to make engelbart's collaboration really difficult (because it requires a central server). there are 2^N subgroups on a server of N nodes. [they realised that then!] [fuck me] 3d environment on the left, then the 2d screen on the right zooms out and suddenly we're in a 3d environment with panels all over it. all 3d OO, an avatar. each panel is a portal. the left is doing things from a first person POV, replication architecture doing realtime transactions over the internet. late binding protocol -- message based system. all objects have their own objects. every object is different, and can communicate with its peers. so you pull down the objects to fill in the environments, massively parallel realtime transaction stuff. then messages are synced up. left screen manipulated a portal into another space. he enters it, and he's in a new 3d space. left turns round, and sees alan on right screen enter the portal into the 3d view of the surface of mars. [this is written in smalltalk and opengl. rendering engine is 100% smalltalk/squeak] [i'm still mindblown about the earlier thing. the entire presentation.. then alan pulled back, and we were just looking at a portal in a 3d space. this is my metaphor for the future.] left screen has gone into a portal that runs a simulation. there's a flag which is actually a mass screen simulation. it looks *real*, and this is running on a tiny vaio. then alan starts spinning the platform. "it just works" [people in the audience keep laughing nervously. seeing something for the first time. oh we need to learn our history better] left screen: underwater space. "vivarium" stuff 15 years ago, this is the modern instantiation. right screen avatar (alan) turns into a fish. left screen pops open a paint package and draws a crude fish. then *suddenly* it pops into 3d, like a helium balloon. [someone in the audience out loud: "wow"] now alan draws seaweed, maybe 6 green lines. now alan's made it, and the object copies itself over to left screen, it's *recreated* there. [this isn't the xanadu manifestation, btw] [i can't believe they're doing a live demo] oh, all of this stuff is live scriptable. now alan's popped open a documentation browsers in *html* underwater, and a fish swum infront. [the person on the left screen is called david] now, serious environment. it looks like Real Myst. I mean, it looks *good*. textured environment: trees, aquaducts. in the distance, the avator on the bridge. [somebody in the audience: "jump!"] and again! left screen pulls back yet again: all these portal screens are just within a scape their own, on a platform floating in space, like Tranquility. ...back to the presentation "you ahve to have telephony to do collaboration because you're using your hands for other stuff" [dammit. the social software guys are *just* getting to this. it's not even in these guy's *mindset* that you wouldn't build things in a human way] squeak runs exactly the same of every machine. funny bit with word-wraps paragraph that suddenly breaks into objects and jumps around. he has multiple desktops, for jumping around. "squeak is a vehicle, not a goal" he thought they'd killed separate operate systems in 1970s "using the wrong kind of wood for dracula's stake" [what is 'late binding'?] -- oh, it lets you make changes the whole time. and he says: the OS should be able to maintain its environment, make changes in less than a second, etc, etc. LISP did all of this in the 1970s. you can query the system and ask about the objects. everything we saw, in bytes, he's calculating it now infront of us: 2.8mb. lines of code: 230,000 lines of code. but it could be 20,000. have many objects are there? 1.8 million. ...and, ends. [PHEW! this is why we're here!] kottke says this system we saw is opencroquet http://www.kottke.org/03/04/030424alan_kay_on_.html http://www.opencroquet.org/summary.html there'll be a version at the end of April: http://www.opencroquet.org/download.html Slashdot thread: http://slashdot.org/article.pl?sid=03/03/12/135245&mode=thread&tid=190 at level 4: http://slashdot.org/comments.pl?sid=56835&cid=0&pid=0&startat=&threshold=4&mode =nested&commentsort=0&op=Change with screenshot http://minnow.cc.gatech.edu/squeak/2901 and more... http://glab.cs.uni-magdeburg.de/~sqland/Croquet0.1.pdf and Cory's notes: http://craphound.com/kayetcon2003