Майкл Л. Дертоузос
СОЗДАНИЕ ОБЩЕДОСТУПНОГО КОМПЬЮТЕРА
Мы публикуем перевод главы из книги Майкла Л. Дертоузоса «Что будет: Как новый мир информации изменит нашу жизнь», недавно опубликованной в издательстве Harper Edge. Один из лучших в мире специалистов по компьютерам, раздраженный недружелюбием современных компьютерных систем, предлагает разработчикам, как сделать так, чтобы машины лучше обслуживали человеческие потребности - быстрее, чем это происходит сейчас.
Канун Рождества. Я отправился в широко известный высококлассный универмаг в районе Большого Бостона. Выбрав девять предметов, я подошел к кассовому аппарату. Кассирша провела своей волшебной палочкой по каждому пакету, чтобы считать штриховой код. Раздался треск принтера, на котором отпечатали название и цену каждой покупки. Я приготовился достать свою кредитную карточку и передать ее кассирше, но она повернулась к своей кассе и, о ужас, начала набирать цены вручную, каждый раз поворачиваясь, чтобы считать информацию с нового пакета. Она дошла до шестой покупки, когда я откашлялся и, с негодованием специалиста, изучающего нравы времени, спросил ее:
- С какой целью вы дублируете работу декодера?
Она решительно потребовала от меня соблюдения тишины и продолжила привычную работу.
- Простите, но я должна закончить, -вежливо добавила она.
...мои кулаки решительно сдались, л 6 моей голо&е пронеслись яркие картинки бо^мофних кара&ельних
Я заверил, что не собираюсь отрывать ее от дела, несмотря на то, что мои кулаки решительно сжались, а в моей голове пронеслись яркие картинки возможных карательных действий.
Она разделалась с последней покупкой, и, оставляя без внимания мой тяжелый вздох, потянулась за карандашом, и... Все повторилось! На сей раз она выписала копии квитанций от руки - для каждой вещи. Я был так потрясен этим смехотворным тройным копированием, что забыл о своем гневе и спросил, не в силах скрыть своего удивления:
- Что вы делаете? Кассирша еще
раз призвала меня соблюдать тишину, поскольку ей следует быть крайне внимательной:
- Я должна оформить каждую покупку вручную, - сказала она.
- С какой целью? - спросил я с заметной дрожью в голосе.
- Потому что так сказал менеджер, - ответила она.
Ее ответ окончательно убедил меня в
полной бессмысленности происходящего. Я мог бы уйти, но, вместо этого, решил поговорить с менеджером. Он посмотрел на меня с сочувствием и со вздохом сказал:
- Вы понимаете, это же компьютеры.
Я ответил ему, что все это выглядит немного серьезнее. А он в ответ стал терпеливо объяснять, что поскольку центральная машина не работает, дубликат чека должен быть введен вручную.
- Но зачем вообще вводить эти данные в компьютер, если он неисправен? -поинтересовался я.
- Такова наша стандартная операционная процедура, и, когда центральная машина будет починена, мы должны быть готовы внести в ее память записи о проданных товарах.
Да уж...
- А почему она вручную вводит в компьютер информацию с декодера штрихового кода? - настойчиво спросил я.
- О-о, такова инструкция генерального директора. Он огорчен тем, что наш компьютер вышел из строя, и хочет таким образом проконтролировать движение товаров.
Я был потрясен.
После того, как шок от абсурдно потраченного в магазине времени, как моего, так и кассирши прошел, я с удивлением понял, что легче сделать громогласные обещания повысить с помощью компьютеров производительность человеческого труда, чем осуществить это на практике. Действительно, обсуждение вопроса, повысят ли компьютеры производительность труда, выявило множество про-
' Аекойо^мх слуглях сЯифаай
...Яа слагай игЛорира&лй-фуЯфямаЯйал-Яул способЯоай-комп—юйера помогай— люф&м
их умсй&аЯЯфа рабойу,
тиворечий. Противники современных технологий прямо указывают на них:
- Видите, компьютеры не помогают нам.
И это - истинная правда. В некоторых случаях информационная технология снижает производительность труда; требуется огромное терпение, прежде чем проберешься через бесконечные меню автоматизированного отвечающего телефона, в то время как с живым оператором договориться значительно легче. Если технология применяется бездумно, мы, пытаясь облегчить себе жизнь, только усложняем ее.
И все же компьютеры могут быть исключительно полезными. Использованные должным образом, они помогают оперативно следить за грузопотоками и изменениями цен на товары. В век информации производительность повысится по тем же причинам, по которым это произошло в годы индустриализации: за счет применения новых инструментов, позволяющих сократить человеческий труд.
Многие, впрочем, не считают производительность главным достоинством компьютеров, утверждая, что они способны совершать действия, которые без них мы бы сделать не смогли. Конечно, это так, лучшее доказательство этому - всемирные компьютерные сети, спецэффекты в кинематографе, кредитные карточки. Но все-таки не следует игнорировать фундаментальную способность компьютера помогать людям выполнять их умственную работу. Производительность труда - критерий, которым измеряются социально-экономические революции. Так было с плуга-
ми, двигателями, электричеством и автомобилем. Если мы имеем дело с настоящей информационной революцией, компьютеры должны совершить что-то подобное с информацией и способами ее обработки.
Поскольку мы пытаемся предсказать, как компьютеры могут быть использованы в XXI веке, то приходится представлять себе поистине потрясающие изменения: более быструю всемирную сеть интернет, локальные компьютерные сети, киберп-ространство, 1000 каналов видео, свободно распространяющуюся информацию, работу в виртуальном офисе и многое другое. По моему мнению, этот будущий мир может быть описан просто и решительно как «информационный рынок», где люди и их соединенные компьютеры заняты в закупке, продаже, свободном обмене информацией и ее обработке.
У информационного рынка множество проблем: технология основных инфраструктур информации; использование в торговле, в здравоохранении, исследованиях, развлечениях и управлении; влияние этих новых факторов на нашу личную жизнь, функционирование общества и нашу историю. Сосредоточим наше внимание на небольшом, но важном аспекте из всего вышеперечисленного - как добиться того, чтобы информационный рынок помог в наших вечных попытках получать побольше, а работать поменьше.
... мм пытаемся клак компьютеры могут бить испаль^лбаЯы 6 ЪМ беке...
НЕПРАВИЛЬНОЕ И ЗЛОНАМЕРЕННОЕ ИСПОЛЬЗОВАНИЕ
Для начала рассмотрим ряд «ошибок» - способов неправильного в настоящее время использования компьютеров из-за технологических или человеческих недостатков. Первым шагом на пути повышения производительности нашего труда будет исправление этих ошибок. Затем мы выясним, как следует автоматизировать работу человека путем организации взаимодействия компьютера с компьютером. В заключение мы обсудим, возможно, наиболее важный для людей вопрос: как сделать компьютеры по-настоящему доступными для использования.
.. .рассмотрим ря$-«ошибок» — спосбоб неправильного 6 Настоящее бремя испольуобблНия компьют
Ошибка дублирования.
Смешное дублирование действий, с которым я столкнулся в универмаге, встречается и во многих других местах. Назовем это ошибкой дублирования, потому что в подобных случаях люди делают все то же самое, что они делали и раньше, а кроме того работу по обслуживанию компьютера, что, якобы, делает их более современными. В любом случае, это - бессмысленное снижение производительности труда. Подобное применение должно быть немедленно прекращено при любой попытке поднять свою уродливую голову. Однако следует признать, что эта специфическая проблема возникает не из-за самой технологии, а только из-за
того, что мы неправильно используем компьютер.
Ошибка стремления
к постоянному обновлению.
Прошло совсем немного времени после моего столкновения с кассиршей, и те же самые гремлины, которые, кажется, бегут впереди меня, намеренно устраивая поучительные ситуации, вроде бы посетили клерка авиакомпании, с которым я столкнулся в аэропорту Бостона. Я попросил его заменить мой билет до Нью-Йорка на билет до Вашингтона. Он ответил мне:
- Конечно, сэр, - и почтительно склонился к собственному терминалу, как будто речь шла о богослужении.
Как человек, имеющий опыт в наблюдениях за подобными ритуалами, я стал следить за его действиями. Чередуя нажатие клавиш на клавиатуре с задумчивыми взглядами, иногда явно выражающими испуг, он пристально, не моргая, уставился на экран, пытаясь решить, какую следующую клавишу следует нажать. Ему потребовалось сделать 146 нажатий, сгруппированных по 12 и разграниченных нажатием клавишы «enter». Так что не прошло и 14 минут, как я получил новый билет.
С точки зрения производительности труда эту историю делает интересной тот факт, что любой студент, изучающий информатику, способен без особых усилий написать программу, выполняющую подобную работу за 14 секунд. Вы просто засовываете ваш старый билет в входную щель, где его содержание считывается машиной. Затем набираете на клавиатуре новое место назначения и отдаете команду «изменить». После чего измененный и напеча-
танный новый билет оказывается в ваших руках. Поскольку 14 минут в 60 раз больше, чем 14 секунд, замена человека на такую коробку увеличило бы производительность в 60 раз или на 6000 процентов!
Все это ужасно неправильно. Люди стремятся купить новый компьютер только потому, что он работает на 20 процентов быстрее, чем тот, которым они владеют, а мы рассуждаем о 6000 процентах. Так почему авиакомпании не бегут со всех ног устанавливать такую коробочку? С одной стороны, если они поступят так с каждым из возможных запросов, то им потребуется установить несколько тысяч различных коробок для каждого терминала. Но почему тогда они не перепрограммируют свои главные компьютеры, чтобы осуществлять подобные операции быстрее? Дело в том, что это стоило бы им миллиард долларов. Почему? Потому что авиакомпании, пытаясь экономить на новом программном обеспечении, без конца модернизируют существующие системы. Не удивительно, что за 20 лет они настолько запутали свои программы, что теперь и сами не могут разобраться в них. Понятно, что они смогут улучшить свои системы, только создав их заново.
Назовем это ошибкой стремления к постоянному обновлению компьютера, что напоминает наше стремление менять надоевшие вещи. Однако каждая новая модификация программного обеспечения усложняет систему, а не упрощает ее, очень часто именно так и получается. Эта проблема в большей мере связана с неверной технологией, чем с ошибочной человеческой практикой. Если бы мы владели технологией программного обеспечения, которая позволяла легко модернизировать наши системы, чтобы удовлетворять нашу
/майеми, йал-йка елгал& их
потребность в улучшении их эффективности, подобных проблем не возникало бы.
Ошибка излишнего знания.
Десятая часть моей книжной полки занята учебниками по текстовым редакторам. Добавьте сюда руководства по электронным таблицам, представлению данных и базам данных, и они легко заполнят половину полки. Но поскольку я использую графику и немного программирую, то нуждаюсь еще в нескольких учебниках. Это делает необходимую мне для работы на компьютере документацию по объему сопоставимой с Британской энциклопедией. Назовем ошибкой излишнего знания то положение, при котором люди изучают и запоминают намного больше информации, чем это им может пригодиться для конкретной работы. Представьте себе человека, от которого требуют ознакомиться с инструкцией толщиной в 850 страниц только для того, чтобы он мог воспользоваться карандашом. Нам кажется это смешным, но мы соглашаемся на что-то подобное, когда речь заходит о текстовом редакторе. Я не сомневаюсь, что первая половина XXI столетия будет потрачена на то, чтобы избавиться от толстых инструкций, делая компьютеры намного более доступными и естественными в использовании.
Ошибка излишних возможностей.
Раздутые - это возможно наиболее точное определение программ, наводнивших рынок в конце 1990-х. В ряде случаев продавцы поступают так, чтобы оправдать увеличение цены на свой продукт и установить ее выше средней. Покупатели очарованы за-
& 850
а&рлНщ Только tfco-to-, 1&оби
.. ми
использование fto&ux
to^oi&ftcpa боль, Kof&opcpa ... ofta мофет ё-м^&ять,.
явленными возможностями своих компьютеров и перспективой заставить их выполнять тысячи различных функций. Но на практике дело ограничивается выполнением всего лишь нескольких задач, а про остальные функции либо забывают, что они есть, либо не удосуживаются узнать, как ими воспользоваться. Дополнительный «набор» программного обеспечения загружается с помощью СО-ЯОМа или 46 дискет, на что требуется потратить едва ли не половину рабочего дня, что крайне не производительно. И эта ошибка связана с людьми, а не с технологическими просчетами. Потребители и создатели программного обеспечения должны вместе прекратить плодить чрезмерные, а часто и бесполезные возможности.
Ошибка «медвежьей» услуги.
Мой автомобиль снабжен особым телефоном, который рекламировался как «интеллектуальный», поскольку обладает способностью на время телефонного разговора автоматически выключать автомобильный радиоприемник, чтобы он не мешал разговаривать. Эта способность казалась мне восхитительной до того момента, когда я услушал по радио интервью своего хорошего друга. Я немедленно позвонил нашей общей знакомой, чтобы она могла по телефону послушать интервью вместе со мной, а потом обменяться с нею мнениями. Но оказалось, что это невозможно сделать, потому что телефон выключил радио, и включить его обратно я не смог. Вот так я встретился с ошибкой «медвежьей» услуги. Такое встречается во многих случаях, когда программист вы-
сокого класса наделяет программу функцией, которая, как он или она верят, облегчит жизнь пользователю. К сожалению, очень трудно предусмотреть все возможные ситуации, в результате чего возникает эта ошибка.
И если уж выбирать между этой шикарной машиной, снабженной подобными функциями и лишенной таковых, я бы выбрал последнюю, потому что, по крайней мере, мог бы управлять ею сам.
Как пользователи, стремящиеся улучшать производительность своего труда, мы должны постоянно интересоваться, действительно ли использование новых возможностей программы оправдывает ту головную боль, которую по неосторожности она может вызвать. И уж во всяком случае, поставщики подобных продвинутых программ должны обеспечить возможность при необходимости отключать «интеллектуальные» функции.
Ошибка черезмерной заботы
о компьютере.
В 2 часа ночи мне пришлось вернуться домой. Мой полет в Швейцарию из аэропорта Логан был отменен из-за неприятностей в механизме, управляющем откидными створками крыла. Приблизительно 350 пассажиров, чьи планы были нарушены, атаковали всех доступных сотрудников аэропорта. Я отказался участвовать в этом столпотворении и отправился домой, включил там свой компьютер и попытался связаться со службой резервирования билетов авиакомпании «Easy Sabre», организованную фирмой Prodigy, чтобы они немедленно отыскали для меня другой билет на утренний рейс из Бостона или Нью-Йорка. Мне хотелось выяснить, возможно ли это, прежде чем отправиться спать. Но я еще не успел нажать
ни одной клавиши, как Prodigy перехватила управление моим монитором и клавиатурой. Компания уведомила меня, что для улучшения работы с этим on-line сервисом им потребуется некоторое время (не менее получаса), чтобы загрузить мне некоторое улучшенное программное обеспечение.
Ничего с этой убийственной «помощью» компании Prodigy я сделать не смог. Небольшая часть неизвестного мне программного обеспечения полностью контролировала мой компьютер, я оказался в тупиковом положении. А между тем я прекрасно понимал, что в это время такие же пострадавшие пассажиры, как и я, будут в аэропорту отвоевывать себе быстро исчезающие билеты на немногочисленные утренние рейсы. Я с удовольствием бы использовал свое устаревшее программное обеспечение, только чтобы быстрее добиться нужного мне результата. Я чувствовал себя захлебывающимся в прибрежной полосе утопающим, к крикам которого спасатель относится с полнейшим равнодушием, поскольку уже прокричал в мегафон мне и другим пловцам об усовершенствованных способах безопасности на водах.
Это, вне всякого сомнения, ошибка, которая требует, чтобы люди тратили свое драгоценное время на выполнение инструкций компьютера, сходных с указаниями стодолларовых автоответчиков с их надоевшим: «Если вы хотите ознакомиться с маркетингом, пожалуйста, нажмите 1. Если вы хотите ознакомится с машиностроением... » Большая часть ошибочности подобного подхода должна быть отнесена на счет человеческого нежелания выполнять предписанное без возражений, но и программисты должны взять на себя часть вины. Часто они преднамеренно со-
На себе, гасйъ ёиЯм,,,
вершают эту ошибку, поскольку проще и дешевле возложить подобные действия на компьютерную программу, вместо того чтобы говорить с каждым клиентом в отдельности. Достаточно заставить пользователя ответить на все заранее подготовленные вопросы. Это действительно проще, чем позволять пользователю самостоятельно что-то делать и гарантировать при этом, что от компьютера будет получен верный отклик.
Конечно, диалоги с компьютером не всегда излишни. Например, если вы случайно отдали команду отформатировать свой винчестер, она не должна быть выполнена. Но, как правило, в 95% случаев, диалог с компьютером не вызван такими серьезными причинами. Чем раньше программное обеспечение передаст управление пользователю, тем быстрее компьютер сумеет обслужить его.
Ошибка чрезмерной сложности.
Офис, полдень, неожиданно обнаруживается, что я забыл переписать со своего домашнего компьютера важные данные, которые мне потребуются после обеда на запланированной заранее встрече. Я в панике. На лбу выступает холодный пот. Немедленно звоню домой, чтобы попросить отправить мне файл в офис по модему. Меня бы это спасло. Однако дома оказался один электрик.
- Пожалуйста, включите компьютер, для этого надо нажать кнопку на корпусе компьютера, - сказал я.
Он оказался хорошим человеком, потому что я услышал по телефону привычные звуки, которые издает компьютер при загрузке. Загрузка заняла не менее двух минут. Электрик спросил:
- Почему компьютер не включается сразу, как, например, лампочка?»
Я не стал говорить, что полностью
разделяю его раздражение. В течение трех лет я пытался отыскать спонсоров и разработчиков, которые бы заинтересовались решением этой раздражающей всех проблемы, когда человек уважительно просит у программного обеспечения разрешения включить или выключить компьютер. Вместо этого я принялся объяснять, что компьютер должен сам загружать все необходимое программное обеспечение.
- А теперь, - говорю я, - вызовите меню Макинтоша и выберите там команду связи с моим офисом.
Хорошо, что я предусмотрительно ввел в компьютер такую возможность. Электрик так и сделал, и я услышал, как мой домашний модем подает звуковой сигнал, устанавливая связь с модемом офиса. Одновременно я услышал, что и модем офиса готов к связи. «Мы почти у цели!» -с надеждой подумал я.
- Вы видите сообщение, что мы установили связь? - спросил я.
- Нет, - ответил он.
Прошла минута, и он прочитал мне сообщение, которое появилось на мониторе моего домашнего компьютера. Я уже понял, что случилось. Модемы правильно установили связь и могут посылать сигналы друг другу, но по какой-то неизвестной причине программное обеспечение одного из них эту связь не поддерживает. Я прошу электрика немного подождать, пока я перезагружаю свой компьютер. Всем известно, а уж людям, занимающимся компьютерами профессионально, тем более, что перезагрузка часто помогает решить проблему, даже если не известно, чем она была вызвана.
Поскольку мне приходилось заставлять работать свой компьютер, инструктируя электрика по телефону, я начинаю выходить из себя. Насколько бы проще
обстояло дело, если бы я мог вызвать из офиса свой домашний компьютер. Но его программное обеспечение способно только связаться с «отдаленным клиентом», то есть оно может вызывать, но не может получать запросы. Это различие между клиентом и сервером - пережиток давно прошедшей эпохи, когда считалось, что центральные компьютеры должны распределять потоки данных на удаленные терминалы. Это различие должно исчезнуть, так как все компьютеры должны одинаково получать и передавать информацию, раз уж их собираются использовать для покупки, продажи и свободного обмена информацией, что, собственно, и определяет сущность рынка информации.
Когда мой компьютер был загружен снова, мы второй раз проделали необходимые операции с модемом. На этот раз связь была установлена. Я попросил электрика найти в меню «Выбор команд» и щелкнуть по иконке моего компьютера в офисе. Теперь ему нужен был мой пароль, который я немедленно ему сообщил. Он прочитал появившееся на мониторе сообщение. Я с радостью отметил, что все прошло успешно. Осталось объяснить ему, что следует проделать с моим драгоценным файлом, в котором я так нуждаюсь, чтобы переслать его ко мне. Через две с половиной минуты файл начал благополучно поступать в офис. Я горячо поблагодарил электрика и начал распечатывать файл на принтере. И вот, наконец, - необходимые материалы у меня в руках. Правда, я опоздал на встречу на полчаса.
Почему я просто не мог дать моему домашнему компьютеру простейшую команду: «Прислать в мой офис накладные расходы, которые я подготовил вчера вечером»? Они были бы у меня уже через три минуты. Собратья разработчики, пожалуйста, не говорите мне, что это может быть выполнено с помощью другого компьютера или с помощью другой операци-
онной системы, макросов, или каких-то других устройств, потому что я знаю, а вы еще лучше меня знаете, что на современных компьютерах эту простую задачу нельзя выполнить просто и надежно.
Как разработчики системы мы должны разрешить сложную, но давно назревшую проблему - исправить ошибку, делающую работу с компьютером слишком сложной, упростив ее, и, что еще важнее, необходимо полностью изменить точку зрения на подобную работу, сложившуюся за последние десятилетия. Мы должны подогнать компьютерные команды и возможности выбора к потребностям пользователя, а вовсе не к существующим системам, ожидая при этом, что и пользователи станут послушно приспосабливаться к ним. Мы должны поступить с компьютерными системами так, как мы поступили с автомобилями - людям не нужно больше управлять подачей топливной смеси, выбирать время воспламенения и регулировать другие подобные вещи - для управления автомобилем достаточно руля, педали газа и тормоза.
ЭЛЕКТРОННЫЕ БУЛЬДОЗЕРЫ
Одно из самых больших препятствий на пути к созданию эффективного информационного рынка - неспособность взаимосвязанных компьютерных систем достаточно просто освободить нас от человеческой работы. Современные сетевые компьютерные системы не могут взаимодействовать друг с другом даже на самом элементарном уровне, поскольку не в состоянии самостоятельно пересылать друг другу информацию. И все же потенциал для автоматизации процессов обработки информации огромен - уже сейчас половину мировой промышленной экономики составляет конторская работа, в дальнейшем эта часть социально-экономической деятельности будет только увеличиваться. Для того, чтобы компьютеры
взяли на себя часть человеческой умственной работы, мы должны создать инструменты, которые позволили бы компьютерам, работающим совместно, удовлетворять людские потребности. Я здесь говорю об инструментах «автоматизации», чтобы подчеркнуть их отличие от инструментов автоматизации индустриальной революции, которая облегчила людям физическую работу.
Сегодня мы так воодушевлены электронной почтой и интернетом, что со всей энергией пытаемся определить дальнейшие пути развития компьютерной техники. Но если мы остановимся на мгновение и задумаемся, то поймем, что производительность человеческого труда не будет увеличена, если мы будем продолжать использовать наши глаза и наши мозги для того, чтобы разбираться в сообщениях, посланных одним компьютером другому. Представьте себе, что компании во времена индустриальной революции изготовляли первые паровые двигатели или двигатели внутреннего сгорания таким образом, что они могли работать только, если за ними стояли люди, которые орудовали лопатами и плугами. Звучит абсурдно. Но именно так мы поступаем сегодня - транжирим огромное количество человеческой умственной работы, чтобы наши компьютеры работали совместно. И все же наступило время, когда следует отбросить наши высокотехничные лопаты и создавать электронные бульдозеры информационного века. Вот почему сейчас самое главное - создание инструментов автоматизации.
Достижение некоторого приемлемого уровня понимания для различных компьютеров, а именно это сделало бы автоматизацию возможной, не так уж и сложно технически, как можно подумать. Но это
потребует решения очень важной проблемы: достижения согласия между людьми. Один простой способ автоматизации состоит в использовании электронных форм (е-форм), где каждая ячейка содержит заранее определенную информацию, так что все подсоединившиеся компьютеры могли бы использовать ее для своих нужд. Предположим, в течение трех секунд я даю своему компьютеру команду: «В следующий уикэнд я должен быть в Афинах.»
Если бы мой компьютер использовал для решения нужную е-форму, он немедленно подключился бы к е-форме компьютера резервирования билетов и выбрал приемлемую дату, класс и номер рейса. В то же время, чтобы зарезервировать билет самостоятельно в диалоговом режиме, мне потребовалось бы 10 минут, получается, что применение е-форм увеличивает мою производительность в 200 раз (3 секунды вместо 600), или на 20000 процентов!
Таким образом, мы можем предсказать, что связанные общими интересами группы установят на информационном рынке е-формы, облегчающие осуществление наиболее часто совершающихся сделок по их специализации, связаны ли они с оптовой закупкой апельсинов или рентгеновских аппаратов для поликлиник. Если члены такой группы смогут договориться об общих е-формах, особенно если это касается трудоемких операций, то они получат существенный выигрыш от автоматизации. Компьютерные программы или люди, заинтересованные в успехе конкретного рода деятельности, были бы способны воспользоваться согласованной е-формой и использовать ее в своем компьютере с той же выгодой, но с гораздо меньшими усилиями.
Лишь некоторые компьютерные кудесники и люди,
"ОоойифеЯие НекоЛо^ога приемлемого уровня понимания- рл^-мчгяих
не склонные к стандартным поступкам, верят, что рассуждения о согласованной е-форме напоминают об эсперанто - неудачной попытке создать универсальный язык общения для всех людей. Они доказывают, что попытки объединить различные языки компьютеров обречены на неудачу, утверждая, что единственный путь добиться того, чтобы компьютеры понимали друг друга, - переводить команды на язык, используемый в данном компьютере, и адаптировать различные среды так же, как люди переводят с английского на французский.
Но такой подход ошибочен, поскольку отдельные концепции требуют точного перевода на все языки. Называете ли вы объект стулом или телегой это, кроме всего прочего, еще и вещь с четырьмя точками опоры, на которой сидят люди. В вашем мозгу содержится некая база концепций, с помощью которой возможно отождествление слов, произнесенных по-английски и по-французски. Без нее никакое количество промежуточных преобразований не может привести к пониманию попросту потому, что для компьютеров в этих двух словах нет ничего общего, что следовало бы сопоставить.
Если мы сможем найти решение, удовлетворяющее этим особенностям и наиболее общим компьютерным концепциям, то, даже разговаривая на различных языках и диалектах, разработчики программного обеспечения смогут писать программы, а обычные пользователи смогут писать скрипты, которые автоматизируют полезные действия при соединении «компьютер - компьютер»: поиск информации по вашему требованию, отслеживание интересующих вас сведений, выполнение за вас сделок и многое другое.
ПЛАВНО ВОЗРАСТАЮЩИЕ СИСТЕМЫ
Автоматизация взаимодействия «компьютер - компьютер» и исправление ошибок существующих систем компьютера - перспективные шаги к созданию рынка информации и компьютеров, обслуживающих нас. Но создание простых в использовании систем еще более перспективно. Я считаю, что в следующем столетии усилия в этом направлении будут продолжаться.
В последнее десять лет любой, кто произносил слово «дружественный» в моем присутствии, подвергал себя риску физического нападения. Это слово бесстыдно использовалось, чтобы подчеркнуть, что программа проста и естественна в использовании, а это редко соответствовало истине. Например, термин «дружественный» применялся к программе с WIMP интерфейсом, что подразумевало, что она позволяет пользоваться разными окнами, изображениями и меню, красиво раскрашена и снабжена многочисленными шрифтами, которые могут быть изменены по вкусу пользователей. С тем же успехом можно было бы нарядить шимпанзе в зеленый больничный халат и на этом основании посчитать ее хирургом. Давайте попробуем подробно рассмотреть, какие программы могут действительно считаться дружелюбными по отношению к пользователю, и как добиться того, чтобы они были по-настояшему просты в работе.
Как это было в конце 1980-х? К вам приезжает счастливый друг - он научился пользоваться электронными таблицами. Вы просите, чтобы он объяснил, как они работают. Он показывает вам на мониторе большую сетку.
- Если расположить массив чисел в колонке, - говорит он, - а затем ниже
поместить простую команду, которая складывает их, то там можно будет увидеть их сумму. Всякий раз, когда вы измените любое число, автоматически изменится и сумма.
Другу не терпится рассказать и о других блестящих возможностях:
- Если вы хотите увеличить одно из чисел на 10%, следует всего лишь разместить в соседней ячейке простую команду, которая умножит нужное число на 1.1, - на лице его появляется страсть. - Нужно увеличить все числа на 10 процентов? Только проведите мышью вниз, и все они будут изменены должным образом.
Он глубоко дышит, готовый продолжать, но вы останавливаете его.
- Спасибо, - говорите вы. - Этого вполне достаточно, чтобы выполнять все мои хозяйственные работы по бухгалтерскому учету.
Именно так миллионы людей сегодня используют программы электронных таблиц Microsoft Excel или Lotus 1-2-3. Вряд ли им известна хотя бы десятая часть команд, и все же они значительно увеличивают свою производительность.
Вам вполне хватает этих знаний до тех пор, пока не обнаруживается, что вам необходимо сделать что-то более сложное, например, проделать все ваши трудоемкие вычисления на новой странице и с новыми данными. Озадаченный, вы обращаетесь за помощью к вашему другу, который понимающе улыбается и сообщает, что вы должны научиться пользоваться макросами. Его объяснения уже не такие простые, как в первый раз, и добиться от электронной таблицы нужного результата вам уже не удается. Большинство людей, использующих электронные таблицы, признают в этом положении свое поражение. Но вы продолжаете бороться и в конечном итоге овладеваете тайнами макросов.
WOM ХО&еМСЪ би, гйаби tofoa - йа пре^ло^ал способ nftaf.êut<oû-<ic& па графику рл&Яомер-Ло а с ofuftozo&UM КмслаКож tcfcu&où.
И вы получаете настоящую компьютерную программу, написанную с помощью стандартного программного обеспечения. Она управляет вместо вас электронной таблицей, выполняя действия, которые вы должны были сделать вручную.
Следующие шесть месяцев вы довольствуетесь новыми знаниями, пока перед вами опять не встает более сложная задача, которая предполагает разработку взаимодействия человека и машины, что должно сделать вашу программу еще более полезной. Вы отправляетесь к вашему другу за поддержкой, но выясняется, что ваши потребности переросли ограниченные возможности электронных таблиц и что теперь вам следует научиться пользоваться настоящим языком программирования, например, С ++. Не представляя себе подвоха, который таится за этими тремя невинными символами, вы не отказываетесь и приступаете к изучению языка. Отныне ваша работа останавливается, поскольку теперь вы посвящаете весь свой рабочий день тяжелейшим усилиям по освоению новых знаний. И все же вы настолько очарованы программированием, что не бросаете своих занятий на полпути. Вас полностью захватила перспектива. Через два года, используя знание С ++ и еще нескольких языков программирования и операционных систем, вы начинаете успешную карьеру независимого продавца программного обеспечения и в конечном итоге становитесь богачом.
Это счастливое завершение истории не дает вам забыть все те трудности, с которыми вы встретились в пути. Вы строите график зависимости выгоды, которую вы получили, от усилий, затраченных для этого. Результат - линия идущая слева направо. Вы видите на графике медленный
подъем, а затем огромное плато, где вы должны были изучить много нового материала, чтобы хоть немного переместиться направо. Точно так же и дальше - медленно повышающиеся линии и огромные холмы, подобно цепи гор, где каждая новая гора становится выше. Вам хотелось бы, чтобы кто-то предложил способ продвигаться по графику равномерно и с одинаковым наклоном кривой. Это обеспечило бы вам наибольшую отдачу, поскольку ваше обучение не требовало бы дополнительных усилий, чтобы штурмовать «утесы», на которые вам следует подняться. Я предсказываю, что такие «плавно возрастающие системы», как я люблю их называть, вскоре появятся, и это явится поворотным моментом Века Информации.
Плавно возрастающие системы будут иметь несколько ключевых свойств. Самое главное, они дадут возможность получать пользу с наименьшими усилиями. Они будут способны автоматизировать любую вашу повторяющуюся работу. Они будут изящны в том смысле, что ошибочные или недостаточные действия с вашей стороны закончатся частичным выполнением задания, а не полной остановкой. Наконец, они будут легки для понимания -не более сложными, чем чтение рецептов поваренной книги.
ПОРОЧНАЯ КОНЦЕПЦИЯ
Одна из причин, по которой непрограммистам бывает трудно сообщить компьютеру, что следует выполнить, состоит в том, что они сначала встречаются с системами программного обеспечения и только потом с нужной им информацией. Мы можем запрограммировать компьютеры так, чтобы они делали то, что нам нужно, но они не понимают значения даже са-
"Нагему ... кампьЛерНой программе ЛребуеЛся 6 Яеосальха Лысяг paj большее бремя...
мых простых вещей, которые мы просим их сделать. Позвольте мне проиллюстрировать это положение.
Мне требуется 17 секунд, чтобы сказать программисту: «Пожалуйста, напишите мне программу, с помощью которой я смог бы осуществлять контроль за своими расходами, в зависимости от категории каждого расхода - продовольствие, отдых и так далее. И сделайте это так, чтобы я мог получить в случае необходимости отчет по времени или по категории.»
Я дал это поручение нескольким различным людям. Настоящие мастера программирования отказались участвовать, посоветовав мне купить готовую программу, тем более, что это не слишком дорого. Хорошие программисты говорили, что они смогут выполнить заказ за пару часов - но, как следует подумав, просили день или два, чтобы доработать существующий опытный образец. Квалифицированные программисты заявляли, сморщившись, что они могут написать программу за несколько минут как макрос в электронной таблице или что вообще не способны решать подобные задачи. Компания Intuit, которая разработала очень удачную и быструю программу, решающую, в частности, и эту задачу, запросила два года и много миллионов долларов, чтобы разработать программу, оттестировать, выпустить инструкции и довести дело до продажи.
Почему «программа»-человек способна понять суть дела за 17 секунд, в то время как компьтерной программе требуется в несколько тысяч раз большее время, чтобы понять то же самое? Ответ, конечно, кроится в том факте, что люди прекрасно знают, как следует составить отчет по категориям трат или по времени, а вот компьютер не знает. Машина настоль-
ко неосведомлена об этих концепциях, что программист должен посвятить едва ли не все время, затрачиваемое на программирование, на разъяснение компьютеру их смысла. А вот если бы у меня был компьютер, заранее знакомый с некото-
рыми из этих «концепций», то я мог бы запрограммировать нужную мне работу очень быстро. Это важное направление, с помощью которого компьютеры могли бы увеличивать нашу производительность в двадцать первом веке: когда удастся лучше понять, как люди выбирают наилучший путь.
Технология создания компьютеров будет изменяться в сторону облегчения их использования, в отличие от XX века, когда основное внимание уделялось инструментам обработки информации: базам данных, электронным таблицам, текстовым редакторам, браузерам и языкам. На ранней стадии компьютеры стали вездесущими, потому что такой подход позволял использовать наиболее распространенные инструменты в тысячах различных приложений от бухгалтерского учета до создания произведений искусства. Но та же самая всеобщность, являющаяся результатом их непривязанности к специальным применениям, делает их использование дилетантским и в конечном счете менее полезным, чем это могло бы быть при другом подходе.
Уже сейчас, чтобы получить большую выгоду, мы нуждаемся в новом поколении математического обеспечения, подобного электронной
.. потенциал со^аНия информационной технологии реали^аи/ии иНри&и^уальНих гелобегеских потребностей...
таблице, с помощью которого бухгалтер мог бы легко программировать. Оно должно «уметь» повторно просчитывать задачи, иметь более высокий уровень представления данных в виде графиков и диаграмм, выполнять наличные расчеты и сводить баланс.
^ам Не приходится уаботиться о рельсах или багоНгиках, от 6ас %л6исит, как 6и соедините собой эти готобие гости.
Освобожденные от тирании всеобщности эти специализированные программные «оболочки» намного увеличат возможности обработки информации и действий по их специализации. Пришло время, когда разработчики компьютеров должны отказаться от «главного» направления, которое хорошо справлялось с обслуживанием людей в течение первых четырех десятилетий компьютерной эры, и сместить центр своих разработок от структуры до смысла информации.
КАЖДЫЙ ЧЕЛОВЕК - ПРОГРАММИСТ
Самое большое обещание Века Информации - огромный и нереализованный потенциал создания информационной технологии для реализации индивидуальных человеческих потребностей. Сегодняшние программы готовы предложить всем одежду одного размера. Но пользы от этого немного, и мы должны искать пути, как сделать их пригодными для конкретной работы. Отсюда следует, кстати, вывод и для бизнеса: из того, что все компании используют одинаковый набор стандартных программ, можно сделать вывод, что и результаты их труда будут одинаковыми. И
ни одна компания не сумеет продемонстрировать свою самобытность. Закодированное готовое программное обеспечение -достаточно хороший продукт для технологии обработки информации в конце двадцатого века. Но для будущего информационного рынка оно уже не пригодно.
Крайне важно, чтобы пользователи и разработчики перспективных инструментов обработки информации договорились между собой, что привело бы к корректировке их действий. В принципе, разработка настраиваемых программ для обработки информации со специализированным назначением мало чем отличается от существующей практики создания заказного продукта. Лучше всего, чтобы к концу XXI века новая форма действительно доступного программирования коснулась бы всех без исключения областей человеческой деятельности и совершила путь, подобный умению писать: сначала проделывать это могли только специально обученные древние писцы, но в конце концов умение писать стало общедоступным.
Это не так абсурдно, как звучит. Мы изобрели письменность для того, чтобы иметь возможность лучше общаться друг с другом. В будущем мы будем нуждаться в лучшей связи с нашими электронными помощниками, так что мы должны будем расширить наш «круг общения», включив в него и компьютеры. Каждый станет «программистом», а не только специально обученные люди, как это принято сейчас. И никто не избежит этой участи. Практически что-то подобное уже сейчас происходит с миллионами людей, использующими электронные таблицы. Многие из
них очень удивятся, когда узнают, что они - программисты.
Когда я говорю, что все люди станут программистами, я не касаюсь вопросов написания кодов программ и инструкций, которые обеспечивают управление компьютером. Это по-прежнему составляет большую часть программы и будет и впредь создаваться профессиональными программистами, которые подготовят множество блоков, используемых для дальнейшего строительства. «Программирование» пользователя будет составлять очень маленькую часть создаваемого программного обеспечения, не более 1% . Но именно эта часть сделает программу индивидуальной. Точно так же, как вы пользуетесь игрушечной железной дорогой. Вам не приходится заботиться о рельсах или вагончиках, от вас зависит, как вы соедините между собой эти готовые части.
Мы можем увеличить ценность наших машин на развивающемся информационном рынке, исправляя явные ошибки взаимодействия человека и машины, развивая инструменты автоматизации и создавая новые системы программного обеспечения типа плавного возрастания, которые ориентированы на конкретные области человеческой деятельности - такое компьютерное обеспечение может быть легко настроено обычным человеком, знающим, что ему нужно. Следование перечисленным направлениям должно определить, как мне кажется, наши исследования в XXI веке, что приведет к использованию новых технологий при обработке информации для достижения сокровенных человеческих целей.
Майкл Л. Дертоузос, заведующий лабораторией компьютерных разработок Массачусетского Технологического Института.
НАШИ АВТОРЫ