Douglas Engelbart: "The Mother of All Demos". Part 1
December 9, 1968 in San Francisco Douglas Engelbart held a legendary demonstration . Engelbart demonstrated several experimental technologies that later became commonly used, including the first computer mouse, interactive text, hypertext, e-mail, and video conferencing technology.
Under the cut transcript of the first 15 minutes (out of 100). Thanks for the translation thanks to Shchekotova Yana. (Who is ready to help with the translation of further pieces, write in a personal.)
00.01.41 I hope you will not object to such a rather unusual situation and the fact that I continue to sit while they represent me, and the fact that I will mainly convey my thoughts to you through this device until the end of the show will not confuse you. It should be noted that a whole bunch of people help me, from this studio to Menlo Park, where the headquarters of the Stanford research center is located about 30 miles south of here. And, as it seems to me, if each of us does his job well, then something very interesting will come out of it all [Laughter]
The research program, about which I want to tell you, can be briefly described in the following words: if you were in the office, as a knowledge worker, provided with a screen along with a computer that worked for you all day and instantly regulated, reacted ... [Laughter]
00.02.32 Reacts instantly to any of your actions, how much benefit could you take from this? In essence, this describes what we have been researching for many years in the framework of the so-called research on enhancing human intelligence at the Stanford Research Institute. And now the whole conversation will be devoted to attempts to describe and present to you the essence of this program. But, unfortunately or fortunately, the results of this program, its technology are well suited for its non-trivial presentation, so we will try very hard to show more than tell.
00.03.10 But the most technologically important part of our development is already visible on the screen, and I will not go into details about this program, but just go over a bit of the actions it provides. So, in the office I have such a console, and another 12 of them are in the technical support department, and now we are trying to do our daily work on them. That's why I can just sit still and find what I need. “Give me a clean sheet of paper,” is where I begin many of my projects. Thus, as for my system, this is already a good start. In the meantime, I'm sitting down, consider the situation when, suppose I wanted to download data. [Keystroke Sound]
I apologize! [Keystroke Sound]
00.04.00 So, I enter an object called a sentence, which consists of other objects called words. [Keystroke Sound]
And if I make a mistake, I can go back and replace [Keystroke Sound]
So, I have a sentence with a few words objects. I can perform some operations on them and copy the word, because This word is suitable for copying and recording the result exactly after it. In fact, you can do the same with a couple of words, and I will simply perform this operation several times. Now the principle is clear. There is another object - the text. Suppose I would like to copy this object over there. Mark the desired point and it will be copied. This is how the data on my “blank sheet of paper” appears. I would say that all this is much more significant than it looks. So, I would like to create a file. I indicate to the machine: “output the file”, and in response: “you must specify the name of the file”. I give the name, let it be “samplefile”. [Keystroke Sound]
00.05.00 I write: "output file". A message appears indicating that the command has been executed, and then automatic control returns with the output of the original sentence or header with the name of the file, as well as the date, time and name of the person who created it. After that, I can always ask a command like a file status request, and the machine will give me the necessary information. The file itself is quite small, I own it, the last entry was made by me quite recently. This is quite interesting information. Thus, we saw how you can start working from scratch and go to work with the file. This file consists of one sentence with several words. Let's create more suggestions. I will tell the machine to "copy this sentence" and, attention, I have another one, copy it - and one more. I can even copy a group of sentences. You can specify "right here, copy the group from here to here" and everything will be copied where necessary. When you look at all this, you can see that, hmm ... the text goes off the screen.
00.05.54 It would be interesting to see the result if I could ask the computer to roll it all down. Perhaps showing only the first lines of each of these sentences. Well, please do it. And the computer is done. And this is just one approach that we will use again and again during the presentation, what we call the view control, where it doesn’t matter what part of the file we are looking at. We can specify any number of a huge number of parameters to build a display in the place of the file that interests us most at the moment. And here we will quickly run. And here I have such a result. But I don’t want all the sentences to have the name one, so I’ll just replace the word here ... with two, and let it be three. [The sound of keystrokes and intermittent beep]
Just not to count them every time. So, here I have one, two, three and four sentences. If I want all this to look more beautiful, then I can, hmm ... [Keystroke Sound]
You can bring a little order here, which I always do. Oh… [Keystroke Sound]
07.07.03 You understand that I have not warmed up yet. [Laugh]
I hope you understand. [Laugh] [Keystroke Sound]
Good. I will align everything here and bring it to the desired form. Well, you can say a few words about invisible lines, for example. I don’t know if it’s indents or characters here, but if you want you can put this invisible ... replace this invisible line with just one character. Not this, but this. Put a space, and everything will be done. And now I have one, two, three, four, five, six files, and I would call them that, but usually this is a dreary business, and therefore I will make a request for their numbering. And here we get the result in the form of a list of numbers assigned to each sentence. I can also expand or remove the numbering at will, and then they can be displayed.
07.07.52 Thus, we got acquainted with rather quick ways of working with objects with sentences inside the file, as well as creating the file itself. You can delete this file or significantly spoil its contents. I meant that, now I want to delete this word, but instead I accidentally click on this object. And now look what happens. There is a complete replacement, and everything is deleted. This sometimes happens, and then the way out of the situation is the following: “Okay, I will download this file again.” It will appear on the screen right in the form in which I last saved it, with the date of recording. But, unfortunately, I saved not all. Perhaps I will complete the analysis of this example. Let's move on to the file that I prepared right after my wife called me on the way home and asked me to go to the store. As soon as she said this, I prepared ... [Keystroke Sound]
Your system ... [Long beep]
00.08.47 And he created a shopping list ... There are quite a few items in it, you can also make sure that yes, they are numbered, and you can also view the bottom of the list by placing the cursor on item 10 and move it up. And you can put on point 23, where there is also a lot of things. As soon as I realized this, I immediately remembered how she told me to call her back as soon as I got ready to go to the store, and she would dictate the rest of the points to me. Let's go back to the top of the list where we’ll do a little reorganization.
09/09/21 Well, let's say it’s most likely that after the bananas I’ll take the carrots. And so, we have carrots right after bananas. But aspirin does not fit here. I believe that aspirin comes after paper towels. So, pretty soon I would ... it would be difficult to maintain such a sequence. Therefore, let the list be systematized [Keystroke Sound]
We simply introduce the category "products" [Sound signal]
Ok, I'll try again [Keystroke Sound]
I entered the sentence ... Hey, this is all right. [Sound signal]
I suspect that something is wrong here, and I would call a programmer or a technical support worker and say, "I did it" [Laugh]
00.10.20 Products. Something I'm really not ready for this. So, I will indicate which products, i.e. I will break points into categories. Let's change the presentation method and move the “carrot” item to the “Products” section, where we also enter subcategories. So she moved ... [Sound signal]
Like this. I have ... Hey, that's it. [Long beep]
00.10.48 So, in the products I have carrots, and there I will carry bananas. [Long beep]
In fact, it would be possible to move the whole group, for example, oranges and apples. [Long beep]
00.11.00 So I can continue to group items and, if you look at the numbering, you can see that ... these elements form a subset. It is clear that there are a lot of things to do here and another point to be introduced ... [Keystroke Sound]
Here ... [Keystroke Sound]
What I just came up with is peeled bananas. But I ... [Laugh]
Need to go there [Laugh]
And to look. Here are some of the features of the view control (view control) besides those we have already shown, allowing you to display or remove the numbering, and also to show whether or not different levels of nesting. For example, I need only C2 level, or only one level, the lowest one, which is quite convenient for studying. Or you can do this. For example, when I need to put the item "products" up. And now let's open one level below and only he will be displayed. And then another level, if you want. And then without numbering. All these gestures are carried out using the jump to identity jump command ... [Sound signal]
12/12/00 There are many different ways to create views. And this is one of the main functions of our tool. Suppose I worked on this for a while, and then called my wife to find out the rest of the list. In the end, I would come ... [Keystrokes and beeps]
TO… [Sound signal]
Complete structure and ... Oh my god, there would be a lot of things, and a grocery store, and even a shoe store, which I have to go to. Let's take a look at what I need in the store. [Sound signal]
Full set: products, canned food, grain. So, what about the cereal? A, cereals, bread, noodles. OK, I like it. Let's go back to the original view, if you need numbering. If I want to reveal all the levels, see another part or any other lines, then there are many different ways. But there is one interesting thing that I haven’t told you yet. It lies in the fact that when the numbering is on, you can execute the jump to identity command and, having placed the cursor in the right place, see it in expanded form or go back using the jump to return command.
00.13.07 You can run the command by name and enter 2A4, and the machine will execute it. You can also return. Thus, I can make the transition in accordance with the numbering, simply pointing to the number, or, if desired, to write it. [Keystroke Sound]
Write in this place and execute the jump to name command or simply put the cursor on the entered number and the machine will go to level A. And this is a carrot. [Keystroke Sound]
Let it be carrots, 2A4. I set the name and I can go on it, but you can set the names ... No, not that ... [Keystroke Sound]
I can request a transition to the first element, which is not visible here now. Indicate the number 1. [Sound signal]
Different views make it easy to navigate and create cross-references. It turns out that if necessary, you can also create cross-references to places for which I specified a label or a name, as in programming. Let's call it alpha. [Keystrokes and beeps]
00.14.15 Yeah ... Let's enter the jump command by the name of jump to name and I will print alpha. I think I made a mistake while typing. And now I wanted to completely redo everything. [Keystrokes and beeps]
So… [Keystrokes and beeps]
Specify the name "alpha". [Keystrokes and beeps]
And I moved to some area called alpha. [Keystrokes and beeps]
Well, you can set the names and specify them. [Keystrokes and beeps]
Both such links, and transitions by name or cursor positioning in the corresponding area, and attention, the output results were formed upon request to the area named alpha. Therefore, I can give them names and, if desired ... [Keystrokes and beeps]
You can display names or hide them, depending on this we see what is now on the screen when names are hidden. [Keystrokes and beeps]
00.15.22 Now let's see what else you can do. There is a structured file, if I need to see what's inside, you can reveal the level below. [Keystrokes and beeps]
In the hierarchy, familiarize yourself with the contents and go back. [Keystrokes and beeps]
But what else can be done. As I said, there is a route. [Long beep and keystroke sound]
I'm afraid I’ll need a wider view. [Laugh]
This is what I managed to draw with the help of a drawing tool. This is a simplified map. If you start from work and follow the path that I would go to get everything you need. And that's how I plan to go home today, but you can pay attention to the library. What did I need there? You can simply click on it and see. Oh, everything is clear. Overdue books and all that. This was a sentence object with the corresponding name. Let's go back. And what do I need in a pharmacy? Hmm, I see. Very interesting. So, shop. Well, I already saw it. Why is displayed in this form?
Together with the company Edison we continue the spring marathon of publications.
I will try to get to the primary sources of IT-technologies, to understand how they thought and what concepts were in the minds of the pioneers, what they dreamed about, how they saw the world of the future. Why did you think “computer”, “network”, “hypertext”, “intelligence amplifiers”, “collective problem solving system”, what meaning did they put into these concepts, what tools they wanted to achieve a result.
I hope that these materials will serve as an inspiration for those who are wondering how to go “from Zero to Unit” (to create something that had never happened before). I would like IT and “programming” to stop being just “coding for the sake of dough”, and recall that they were conceived as a lever to change the methods of warfare, education, a way of working together, thinking and communication, as an attempt to solve world problems and answer facing humanity. Something like this.