Все же пользуются компьютерной мышью, так ведь? Ну, большинство уж точно. А как бы мы с вами жили без гиперссылок? Видеосвязи? А без современного графического интерфейса с окнами?
И удивительно, что такая уйма всего инновационного была продемонстрирована публике буквально в один день — 9 декабря 1968 года. Этот исторический момент получил название «Mother of all Demos». А причастна к нему команда разработчиков из Augmentation Research Center (ARC) под руководством Дага Энгельбарта. Скромного инженера, который стремился сделать жизнь всех людей проще.
Ранние годы
Дуглас Карл Энгельбарт родился 30 января 1925 года на ферме неподалеку от Портленда, штат Орегон. В семье было еще двое детей — старшая сестра и младший брат. Это была типичная провинциальная жизнь: отец работал оператором на гидроэлектростанции, а мать была домохозяйкой и занималась только домашним хозяйством и воспитанием. Примечательно, что оба родителя были выходцами из Европы: родители матери были из Норвегии и Швеции, а отца — из Германии. В принципе, по фамилии об этом нетрудно догадаться.
То были времена Великой Депрессии, поэтому отец Дага вынужден был часто менять работу, чтобы прокормить семью — приходилось много переезжать. Как вспоминает Энгельбарт в одном интервью, все его детство прошло на гидросооружениях: он обожал смотреть на вращающиеся лопасти турбины. Видимо, с режимностью на столь важных объектах тогда не особо заморачивались.
В возрасте 8 лет Даг с семьей перебрался в Джонсон-Крик. Но на этот раз отец решил кардинально сменить род деятельности и открыл магазин по продаже радиокомпонентов. Так Даг полюбил электронику и понял, чем хочет заниматься в жизни. К сожалению, спустя год его отец Карл Луис Энгельбарт скончался — семью вынуждены были тащить мать и дедушка.
После окончания средней школы в 1942 году Дуглас Энгельбарт поступил в Орегонский государственный колледж, чтобы изучать электротехнику. Но как читатель помнит, в тот момент бушевала Вторая мировая война. И не доучившись, парень в 1944 году вызвался добровольцем. По распределению он попал на небольшой островок Лейте на Филиппинах, где его специальности нашли применение — Даг работал техником, обслуживающим радарную установку.
Это оказало решающее значение на дальнейшую судьбу парня, как он вспоминает:
«Я знал об экранах и о том, как можно использовать электронику для формирования символов из любой имеющейся у вас информации. Если была информация, которая могла бы поступать на перфоратор или компьютерный принтер, то вы могли преобразовать ее в любой вид символов на экране. Все это я понял, пока обучался работе с радаром».
На самом деле служба проходила довольно скучно: война на тот момент уже кончилась, и в свободное время от обучения и обслуживания радара парень часто прогуливался по острову. И однажды наткнулся на библиотеку Красного Креста в аутентичной хижине на сваях. Как там оказался журнал The Atlantic Monthly за июль 1945 года, остается загадкой. Но именно в нем Даг прочитал знаменитую статью Ванневара Буша «Как мы можем думать», в которой автор представил концепцию MEMEX — некоего устройства, которое будет представлять собой распределенное хранилище знаний, имитирующего ассоциативные связи в нашей голове.
Например, человек сможет хранить в нем свои записи, контакты или книги и получать нужную информацию практически мгновенно, ничего не забывая. По сути, это был прототип гипертекстовых систем: пользователь мог бы путешествовать по ссылкам на разные материалы, которые пересекались бы с другими базами знаний. Конечно, предполагаемая реализация была далека от современности: информацию предполагалось переводить и хранить в виде микрофильмов, которые потом можно «подредактировать» (например, убрать ненужное или добавить какие-то кадры) и настроить между ними ассоциативные связи. Но это — тема отдельного рассказа.
Для Дага Энгельбарта статья Буша стала потрясением. Он буквально увидел, как может выглядеть будущее и насколько можно преобразить систему хранения знаний и поиска нужной информации при помощи более совершенных электронных средств. По сути, именно тогда в его голове и созрела революционная концепция, которую он представил публике 23 года спустя.
В 1946 году служба закончилась, Даг вернулся в колледж и с интересом следил за появлением первых вычислительных машин того времени — например, ЭНИАК. Он понял, что именно подобные устройства помогут ему реализовать свои идеи.
После окончания колледжа в 1948 году и получения степени бакалавра в области электротехники Энгельбарт три года работал в Исследовательском центре Эймса. Там он вместе с другими молодыми выпускниками занимался разработкой систем управления для аэродинамических испытательных труб: на тот момент насчитывалось восемь устройств, которые нужно было обслуживать и автоматизировать.
В 1951 году Даг поступил в аспирантуру Калифорнийского университета в Беркли. Там он провел более 5 лет, получив докторскую степень в области электротехники и работая доцентом на кафедре.
Кстати, он активно участвовал в разработке компьютера CALDIC. Уникальная для своего времени машина весила 680 кг, содержала на борту 1300 вакуумных ламп, 1000 кристаллических диодов, могла хранить до 400 000 бит и выполнять до 50 операций в секунду. Для управления использовались команды шестизначного формата: две цифры для кода операции и четыре цифры для адреса памяти.
Но именно в те годы Дага все больше посещают мысли о своем будущем:
«Я понял, что у меня нет никаких других целей, кроме постоянной работы, женитьбы и долгой и счастливой жизни. Нужно что-то менять, если я хочу реализовать свои идеи.»
Создание ARC и разработка NLS (oN-Line System)
1957 год стал поворотным для Энгельбарта — он перешел на работу в Стэнфордский исследовательский институт (SRI), расположенный в Менло-Парке, Калифорния. Именно там после собеседования оценили масштаб его идей.
Первым проектом, над которым Энгельбарт начал трудиться, стал All-Magnetic Logic Computer (AMLC). Это компьютер был построен на основе сложно организованной памяти на ферритовых сердечниках — до массового распространения интегральных микросхем она считалась наиболее перспективной. Компьютер был реализован в 1960 году и несколько лет использовался компанией Aircraft Marine Products (AMP) в системах управления железнодорожного транспорта Ньй-Йорка благодаря надежности и устойчивости к электромагнитным помехам. Параллельно Даг получил дюжину патентов на устройства с логикой на магнитных сердечниках.
После этого он смог заняться более глобальной работой под девизом: «Как компьютеры могут помочь человеческому интеллекту успевать за стремительным развитием науки и технологий?». Проект финансировался управлением научных исследований ВВС.
В октябре 1962 году он публикует свою фундаментальную работу под названием: «Расширение человеческого интеллекта: концептуальная основа». Именно в ней он сформулировал базовые принципы, как по его мнению будет выглядеть наше с вами будущее. Надо признать, что статья огромная, читается достаточно тяжело и содержит слишком много абстракций. Но тем не менее некоторые вещи в ней поражают.
Например, представьте, что есть архитектор, который должен нарисовать чертеж здания. Вместо того, чтобы склоняться над кульманом, он сможет в реальном времени рисовать на экране компьютера архитектурные элементы и расставлять их по своему желанию и сразу видеть результат работы. При этом все нужные данные (скажем, размеры и нормативные требования) уже зашиты в памяти компьютера. Или, скажем, есть ручка с сенсорным датчиком, которой человек пишет текст от руки — а они автоматически интерпретируются в печатные символы, кодируются и сохраняются в памяти.
То есть компьютер, по мнению Энгельбарта, может быть не просто мощным калькулятором, на котором могут работать только программисты. Потенциально компьютер может стать простым инструментом для человека любой профессии и навыков. Такой подход он назвал H-LAM/T — в нем есть несколько сущностей:
-
Человек (human) — пользователь компьютера.
-
Язык (language) — символы и представления, которые позволяют взаимодействовать с машиной.
-
Артефакт (artifacts) — физические объекты, которые делают это взаимодействие максимально удобным.
-
Методология (methodologies) — последовательность действий, что и как делает человек, чтобы использовать артефакты и язык.
-
Обучение (teaching) — чтобы человек мог научиться взаимодействовать со всеми абстракциями выше.
Если отбросить абстракции, то можно увидеть, что в этой концепции содержатся все привычные нам вещи: например, графический интерфейс пользователя (GUI), устройства ввода-вывода, работающие в реальном времени, и многое другое. Но тогда никому и в голову не могло прийти что-то подобное — взаимодействие с компьютером строилось по принципу: «Вставил перфокарту и ждешь».
В 1963 году Энгельбарт основал собственную исследовательскую лабораторию под названием Центр исследования дополнения — Augmentation Research Center (ARC), в рамках подразделения SRI. Даг получил огромные полномочия и серьезное финансирование. Причем в инвесторах значились:
-
Управления по технологиям обработки информации (IPTO) Министерства обороны США — там, где спустя три года разработали первую глобальную сеть ARPANET.
-
NASA, которая в тот момент активно готовилась к огромным проектам вроде лунной программы и была заинтересована в любых инновациях, связанных с компьютерами.
Даг Энгельбарт активно набирал команду молодых и талантливых специалистов: Билла Инглиша (инженер, который помогал разработать первую компьютерную мышь), Джеффа Руфилсона (основной программист проекта) и еще 47 человек.
Проект получил название NLS (oN-Line System) — оно отлично отражало общую концепцию, что несколько пользователей смогут взаимодействовать с компьютером в реальном времени. Смысл названия также заиграл новыми красками, когда NLS удалось «поженить» с ARPANET в 1969 году. Это позволило работать одновременно нескольким людям, находящимся на расстоянии сотен километров друг от друга — настоящий онлайн в современном значении этого слова.
Работа над проектом NLS продолжалась шесть лет. И за это время команда ARC разработала несколько невероятных вещей.
Прежде всего Даг Энгельбарт ввел новый подход, который назвал самонастройкой («бутстрэппинг»). Суть в том, что каждая следующая версия программы реализовывалась при помощи подсистем, созданных ранее. Получался единый цикл разработки, в котором база знаний и библиотек росла последовательно и каждый шаг вытекал из предыдущего. А еще каждый из команды видел, что делают его коллеги — что-то вроде системы контроля версий.
Например, сначала была разработана система разделения времени (TSS), на базе которой последовательно появлялись файловая подсистема (KDS), система обработки текста (QED, он же онлайн-редактор) и система символьной отладки (DDT). При вызове NLS сначала вызывалась TSS, и пользователь мог работать с остальными подсистемами практически параллельно. Но вся эта архитектура была продумана заранее — и руководил этим Джефф Руфилсон.
Другая сложность заключалась в аппаратной реализации. Изначально систему проектировали для 12-битного микрокомпьютера CDC 160 — довольно бюджетный и малопроизводительный. Со временем стало понятно, что нужно что-то посерьезнее. Однако использовать мейнфрейм вроде CDC 3100 стоимость около 400 000 долларов было неоправданно.
Поэтому приняли решение разработать что-то среднее — так появился 24-битный компьютер SDS-940 от Scientific Data Systems (SDS), который впервые поддерживал систему разделения времени (Berkley time sharing).
Разработчики смогли реализовать на нем работу сразу с несколькими периферийными устройствами: мышью, клавиатурой, монитором, аккордовой клавиатурой и принтером. Управление шло через интерфейсное соединение памяти (MIC) и обеспечивало асинхронный доступ к единой вычислительной системе.
Для работы с новым компьютером еще пришлось создать несколько языков специального назначения, а под каждый — собственный компилятор. Например, MOL 940 — машинно-ориентированный язык из семейства ALGOL. Дополнительно с его помощью была реализована концепция гиперссылок для перехода между файлами при помощи набора команд JUMP.
Ну и, конечно, кроме всех нововведений вроде онлайн-редактирования текста, гиперссылок и прочего, еще одной революционной частью NLS стало привычное для нас сейчас устройство — компьютерная мышь.
Энгельбарт еще в середине 50-х годов, работая в Беркли, думал о том, как можно упростить процесс взаимодействия с компьютером для пользователя. Например, есть текст или изображения вверху и внизу экрана. Можно ли как-то переключаться между ними быстро, одним движением руки?
Для этого он и Билл Инглиш, о котором мы упоминали ранее, после нескольких месяцев напряженной работы придумали устройство, движение которого обеспечивалось бы за счет двух дисков, расположенных перпендикулярно друг другу. По мере их вращения передавались бы последовательности импульсов. Так компьютер понимал, на какое расстояние должен переместить курсор на экране в четырех направлениях: вверх, вниз, вправо или влево. Сигналы и питание подавались через провод, расположенный сзади устройства, словно хвост мыши — так и появилось привычное нам название. Хотя в патенте оно называется как «Индикатор положения XY для системы отображения».
Дополнительно была разработана аккордовая пятикнопочная клавиатура, которая дополняла стандартную QWERTY-клавиатуру. Она позволяла набирать сразу несколько команд и управлять системой более эффективно.
Конечно, процесс подготовки содержал намного больше этапов — мы прошлись только по некоторым интересным. Но важно зафиксировать, что к осени 1968 года все основные функции oN-Line System были готовы и протестированы. Оставалось только презентовать систему всему миру.
Момент истины: Mother of all demos
Подготовка к презентации шла нервно. Даг принципиально хотел, чтобы выступил не только он, но и ключевые разработчики системы Джефф Руфилсон, как главный разработчик ПО, и Билл Пакстон — еще один инженер, отвечающий за редактор и навигацию (который, кстати, позже станет сооснователем Adobe). Дату презентации назначили на 9 декабря 1968 года в зале San Francisco Civic Auditorium, в рамках конференции компьютерной конференции Fall Joint Computer Conference.
Во время подготовки Даг с командой привлекли известного редактора Стюарта Брэнда — именно он настоял на том, что потребуется большой проектор с экраном. А для пущего эффекта Пакстон и Руфилсон будут находиться не в зале, а в офисе на расстоянии более 40 км, и выходить по видеосвязи, подключаясь к компьютеру удаленно.
Для этого команда ARC создала два самодельных модема со скоростью 1200 бод, чтобы связать компьютер в Civic Auditorium с SDS-940 в лаборатории в Менло-Парке по выделенной телефонной линии. Даг арендовал у НАСА видеопроектор Eidophor, который позволил вывести данные с выхода компьютера на большой экран высотой порядка 6,7 метра.
К назначенной дате в зале собралось больше 1000 человек, среди которых были настоящие зубры:
-
Алан Кей, математик, создатель ООП языка SmallTalk и в будущем — оконного интерфейса в Xerox PARC.
-
Энди ван Дамм, создатель первой гипертекстовой системы HES вместе с Тедом Нельсоном.
-
Боб Спроул, настоящий отец виртуальной реальности, создавший вместе с Айвеном Сазерлендом «Дамоклов меч» — первый VR-шлем.
И еще многие другие. Билли Инглиш сидел за видеокоммутатором и управлял переключением экранов, а за камеру и связь в Менло-Парке отвечал Стюарт Брэнд. Зал был буквально наэлектризован — никто еще не представлял, что они сейчас увидят, поэтому было довольно шумно. Когда на сцену вышел Даг, а его изображение появилось на экране, все разговоры стихли.
Энгельбарт выглядел смущенным и немного запинался. Он начал с провокационного вопроса:
«Представьте, что в вашем офисе установлен компьютерный дисплей с компьютером. И вам, как работнику интеллектуальной профессии, он доступен в течение всего дня. При этом компьютер мгновенно реагирует на каждое ваше действие. Какую ценность вы могли бы извлечь из этого?»
Дальше началась настоящая магия. Камера переключилась на экран, и Энгельбарт начал печатать, используя клавиатуру без всяких перфокарт. На экране появился текст: «word word word word». «Если я сделаю некоторые ошибки, я могу немного отступить», — отметил он, демонстрируя функцию удаления.
Дальше он объявил, что собирается сохранить документ. «О, мне нужно имя», — объяснил он и назвал его «Образец файла». Вся статусная информация отображалась в верхней строке. Дальше Даг показал, что может копировать текст и вставлять его снова и снова. При этом курсор перемещался по экрану в любом направлении, следуя за движениями мыши по столу — увидев подобное, зрители в восхищении загудели в зале.
Затем Энгельбарт продемонстрировал графический интерфейс системы. Он открыл список покупок и продемонстрировал переход по гиперссылкам. В списке были продукты, но его не устроил порядок: он легко перетаскивал их при помощи мыши, добавлял уровни вложенности и сортировал по своему желанию. При этом добавляя новые гиперссылки при необходимости. После этого Даг решил продумать маршрут покупок — и на экране появилась схема его маршрута.
По ходу полуторачасовой презентации подключались коллеги Дага: сначала Джефф Руфилсон объяснял принципы работы программного обеспечения, а затем Билл Пакстон помог продемонстрировать возможности совместной работы компьютерной системы.
В принципе, подробно описывать весь ход презентации не имеет смысла — читатель может посмотреть оригинал по ссылкам тут, тут и тут. А еще есть классное видео, в котором этот исторический момент разбирается подробно и в деталях.
После конца презентации весь зал встал и устроил Энгельбарту бурные овации. Вот что вспоминает об этом моменте великий Алан Кей:
«Это был один из величайших опытов в моей жизни. Энгельбарт был подобен Моисею, раздвинувшему Красное море».
Даг Энгельбарт буквально за полтора часа показал, что компьютеры — это не только сложные математические расчеты и перфокарты. Опыт взаимодействия с ним может быть совсем иным. По сути, Даг показал огромный пласт тех вещей, которыми мы пользуемся и поныне.
Что было дальше
К слову, это была не последняя демонстрация системы NLS. Следующая случилась 9 месяцев спустя, 1 октября 1969 года на 32-й ежегодной конференции ASIS в Калифорнии. Презентация была более теоретической, с подробным описанием NLS системы и подхода команды ARC к разработке, и называлась «Системы расширения и информатика». Даг предстал с седой бородой, из-за чего выглядел намного старше, чем во время Mother of All Demos.
По ссылке можно подробно ознакомиться с таймлайном и ключевыми моментами. А здесь — полная запись первой из трех частей выступления. Конечно, она уже не произвела такого фурора, как первая. Но тем не менее ее тоже важно зафиксировать.
В 1969 году произошло еще два знаменательных события:
-
Команда разработчиков создала Journal — поисковую базу по многочисленным гиперссылкам в документах, которые ARC наработала за 9 лет. По сути, предок современной wiki с гибкими поисковыми фильтрами.
-
SRI-лаборатория стала вторым узлом связи в сети ARPANET, о чем мы упоминали выше. Линия связи, предоставленная компанией AT&T, позволяла обмениваться информацией между удаленными компьютерами, находящимися в Калифорнийском университете UCLA (SDS Sigma 7), и компьютером SDS-940.
В 1970 году работа NLS была перенесена на более современный компьютер PDP-10 с операционной системой TENEX. Однако по факту команде так и не удалось добиться, чтобы системой могли одновременной пользоваться большое количество пользователей. Вместе с довольно педантичным и жестким подходом Дага Энгельбарта к работе это привело к тому, что более 20 разработчиков перешли на работу в Xerox PARC, под руководство упоминавшегося Алана Кея. Так многие идеи и наработки Энгельбарта стали использоваться другой компанией.
Ну и, собственно, реализацию компьютерной мыши и графического пользовательского интерфейса в конце 70-х годов «позаимствовал» именно у Xerox Стив Джобс, после чего успешно применил в своих компьютерах Macintosh, совершив вместе со Стивом Возняком еще одну революцию. Но это уже совсем другая история, довольно хорошо всем известная и описанная.
В 1977 году технология NLS была продана компании Tymshare, и Энгельбарт вместе с оставшимися сотрудниками стали работать там. Система была переименована в NLS/Augment и начала распространяться как коммерческий продукт для компаний. Однако подход Дага к управлению новая компания-владелец не оценила, и в результате в 1986 году первопроходец уволился и сосредоточился на популяризации своего подхода «бутстраппинг».
В 1989 году Даг вместе с дочерью открыли некоммерческую организацию Bootstrap Institute. Сейчас она носит название Институт Дага Энгельбарта.
Кроме 20 патентов, Энгельбарт получил более 40 наград, уже находясь на пенсии: медаль «Пионер компьютерной техники», премию Lemelson-MIT в размере 500 000 долларов, премию Тьюринга, Медаль Бенджамина Франклина, Национальную медаль США в области технологий и инноваций, премию имени Норберта Винера и многие другие. В 2011 году его также включили в Зал славы IEEE Intelligent Systems AI’s.
Энгельбарт умер в 2013 году от почечной недостаточности в возрасте 88 лет. И неизвестно, как сложилась бы история, если бы не работа всей его жизни. Появились бы компьютеры Apple и Windows в начале 80-х годов, если бы технологии не перешли в Xerox PARC, а Стив Джобс не вдохновился бы ими? Но сложилось так, как сложилось. И спасибо за это Дагу Энгельбарту, Инженеру с большой буквы.
Подробное интервью 1986 года с ним можно прочитать по ссылке.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
-15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS
Автор: klimensky