• 49 Высокомерное программирование
  • 50 Интерфейсы разнообразные
  • 51 Мастеры
  • 52 Образы будущего
  • VIII

    Это превосходное новое программное обеспечение

    49

    Высокомерное программирование

    Если бы Данте жил в цифровой век, он обязательно предусмотрел бы еще один круг ада для преступников, пишущих подлый код. Я не говорю о создателях вирусов и взломщиках систем — для них ад может быть слишком хорошим местом. Нет, я имею в виду тех, кто создает коммерческие программы с таким эгоистичным поведением, что они игнорируют операционную систему, другие приложения, а зачастую и самих пользователей и покупателей. Приложения с подобным поведением пишутся так, словно это единственное резидентное программное обеспечение на автономной системе. Такие приложения работают с неким чувством начальственной осведомленности и беспечного безразличия к другим, будь то люди или программы.

    Такой стиль я стал воспринимать как высокомерное программирование. Высокомерное программирование — это разновидность практики программирования. Она совершенно отлична от многих разновидностей глупой или плохой работы, с которой мы так часто встречаемся. Высокомерное программирование — это эгоцентричное программирование, программирование с завышенным чувством собственной значимости.

    Я думаю, что есть по крайней мере три подвида высокомерного программирования: эгоцентрическое, ленивое и претенциозное. Классической разновидностью является эгоцентрическое программирование. Для этой формы высокомерного программирования характерна некая отстраненность от мира, которая, вероятно, отражает социальную замкнутость таких разработчиков. Программисты могут настолько углубиться в задачу, настолько укрыться в своем уголке программной вселенной, что способны полностью забыть о существовании других программ и программистов.

    Ленивая форма высокомерного программирования отражает стремление избежать тяжелой работы. Конечно, проще быть высокомерным и ленивым, чем заниматься сложными проблемами совместимости кода с сетями, или анализировать ошибки при вводе, или уважительно относиться к пользователю. Легче считать, что ваша программа работает одна на отдельной машине.

    И наконец, есть высокомерие претенциозности. Это чрезвычайно сложный код, написанный исходя из того, что авторы все знают лучше, чем пользователи. Такие программы отбирают у пользователей контролирующие функции и лишают их возможности выбора. На самом деле высокомерно сложный код написать труднее, чем простой эгоцентрический, и еще сложнее, чем высокомерно ленивый код, но результат получается тот же самый. Во всех трех разновидностях высокомерного программирования продуктами являются приложения, которые говорят слишком громко, распространяют себя по всему диску, занимают все экранное пространство и отнимают все ресурсы операционной системы.

    Невоспитанные драйверы

    Возьмем одного из лидеров производства принтеров. Устройства, выпускаемые этой компанией, являются одними из самых надежных. То же самое можно сказать о встроенном программном обеспечении. Увы, их драйверы совсем другой породы. Эти драйверы поставляются с предупреждением о том, что их нельзя устанавливать в Windows таким же образом, как любые другие принтеры — словно они хотят сказать: «Мы особенные». Да уж, конечно, особенные! Один из релизов программы инсталляции, разработанной этой компанией, заменил менеджер печати Windows на свою версию, даже не сказав при этом хотя бы формального «с вашего позволения».

    Более поздние релизы все так же продолжали настаивать на своей собственной процедуре установки, которая в некоторых случаях даже не носила стандартного имени Setup или Install. После установки программа показывает автопортрет принтера размером с четверть экрана при каждом выполнении задания на печать, хотя вам уже известно, что именно происходит, или вы просто не хотите знать об этом — например, когда другой компьютер из одноранговой сети инициирует печать на вашем общем принтере. Эта цветистая бесполезная картинка огромных размеров мешает ходу ваших мыслей и заслоняет экран до тех пор, пока вы не убираете ее принудительно. После чего вы пытаетесь разобраться, где вы были до этого. Ну, так вот, о чем же я говорил до того, как меня так грубо прервали? А, ну да, о высокомерном программировании.

    Окно сообщения подобного рода вызывает раздражение, как будто вся система предназначена для драйвера принтера. Такой драйвер ведет себя так, словно это единственная интересная программа в системе, как будто вы больше всего хотите видеть именно эту громадную пиктограмму, напоминающую вам о том, какой принтер вы купили. Собаку можно воспитать, друга можно попросить говорить потише, но это программное обеспечение совершенно невозможно научить хорошим манерам. С ним нельзя справиться, даже если принтер стоит на столе, и вы можете видеть мигающий индикатор и слышать шум лазеров.

    Если принтер был подключен через распределитель и в нем заканчивалась бумага, драйвер выдавал сообщение «принтер не отвечает», которое нельзя было убрать. Программисты никогда не думали, что вам может понадобиться что-то еще, кроме их принтера — единственного центра печатной вселенной. Этот принтерный драйвер был настолько эгоистичным, что крутился в жестком цикле, ожидая ответа принтера, в то время как Windows работала со скоростью черепахи.

    Такая программа говорит: «Мой принтер, мой драйвер, мои проблемы с отсутствием бумаги настолько важны и безотлагательны, что я вынуждена блокировать систему до преодоления кризиса». Если не удавалось определить статус принтера, этот кусочек эгоистичного программного обеспечения так и сидел в памяти. Либо все застывало окончательно, либо вы добирались до менеджера печати, либо поддавались порыву и отдавали системе салют с помощью трех клавиш1. И так происходило всякий раз, когда заканчивалась бумага — всякий раз!

    Задом наперед

    Принтерные драйверы — не единственные преступники. Из-за огромного количества гигабайт, которые занимали программы и данные на каждом лэптопе в моем офисе, было решено перейти на использование портативных ленточных накопителей большой емкости. Устройства работали превосходно, хотя и немного шумели, но вот драйверы были спрограммиро-ваны высокомерно. Резервное копирование начиналось с запроса накопителя по параллельному порту SCSI-адаптера, однако программа драйвера подразумевала, что накопитель уже подсоединен, включен, готов к работе и снабжен картриджем. Если это было не так, программное обеспечение начинало глючить, нарушая работу всей операционной системы.

    Или возьмем одну из версий программы, предназначенной для работы со внешним многофункциональным факсом по параллельному порту. Если вы запускали Windows до присоединения и включения факса, драйвера начинали жаловаться и выдавать сообщения об ошибке. Если вы хотели переключить печать на принтер, то перед этим вам нужно было сначала удалить драйвер факса, а затем выйти из приложений и перезагрузить систему, иначе драйвер начинал забрасывать вас бесконечными сообщениями об ошибке.

    Среди моих любимых кандидатов на попадание в тот особый круг ада являются компании, которые слишком скупы, чтобы вкладывать деньги в испытанную инсталляционную технологию. Такие компании применяют установочные программы собственной разработки. В результате частенько встречаются системы, способные презрительно поправить файлы операционной системы, не спрашивая на то разрешения и не создавая резервных копий. Продукт одной творческой лаборатории, производящей звуковые карты, не только требовал установки Windows-драйверов под MS-DOS, но и занимал столько памяти, что для его запуска приходилось убирать из CONFIG.SYS и AUTOEXEC.BAT все остальное.

    Высокомерное программирование можно обнаружить не только в драйверах для периферийных устройств. Вспомните, как несколько лет назад вполне оправданно поднялся шум, когда стало известно, что один крупный провайдер онлайновой информационной службы автоматически «обновлял» ваше программное обеспечение, записывая что-то на ваш диск при подключении к системе. (Конечно, современные броузеры, антивирусные программы и многие другие приложения запросто делают это через Интернет, внезапно превращая неизменный рабочий стол в незнакомую территорию или мистическим образом снижая производительность работы без вашего разрешения.) Кроме того, операционная система провайдера считывала данные с вашего диска и сообщала их вам, когда вы подписывались на предоставляемые услуги. Здесь важно не то, что была возможность отменить эту опцию, а то, что это было высокомерие, расчетливое высокомерие: запрограммировать систему так, чтобы эта опция была активна изначально.

    Наверное, самым ярким примером высокомерного программирования является активная электронная почта, которая запускается при открытии почтового сообщения. Такая эгоистичная программа не только запускает себя, не дожидаясь завершения инсталляции, но и широко открывает двери для новых способов распространения вирусов, червей и троянских коней. (Конечно, это было дальновидным, но никем не замеченным предупреждением, которое предсказало появление таких вирусов, как Melissa и Love Bug.)

    Более смиренный код зачастую более прост и менее амбициозен. Его конфигурацию можно изменять, и пользователи сохраняют над ним конт-роль. Он сообщает пользователям необходимую информацию, но не становится при этом навязчивым. Он любезно предлагает не делать то, что уже сделано. Такой код работает тихо, надежно и сотрудничает с другим кодом.

    Ах, прекрасная Беатриче, будь ты здесь, ты научила бы нас истинному смирению.

    Из журнала Software Development, том 4, № 2, февраль 1996 г.

    50

    Интерфейсы разнообразные

    Разнообразие не только политически корректно. Оно полезно. Оно полезно в командах, способствуя творческому сотрудничеству, а также на рынке, где слово «разнообразие» стало еще одним заклинанием в лексиконе рекламных агентов и представителей. Теперь PC-продукты еще и Р.С. продукты, а разнообразие проникло и в пользовательский интерфейс.

    На одной конференции по CHI (Computer Human Interaction, взаимодействие между компьютером и человеком), проходившей в Бостоне, один из участников ратовал за подгонку дизайна пользовательского интерфейса под разнообразные этнические группы и сообщества пользователей. Каким образом? Разные пользовательские интерфейсы для разных «демографических групп». Это утверждение было проиллюстрировано на примере обыкновенного диалогового окна для настройки атрибутов текста: шрифта, размера, стиля и т. п. Унылый и утилитарный дизайн — не оптимальный, но и нельзя сказать, что ужасно плохой. Затем были показаны разнообразные варианты.

    Круговое мышление

    После превосходного короткого рассказа о так называемом «европейском» дизайне (может быть, шрифт в нем назывался Eurostile?) речь зашла о дизайне для женщин: круглое диалоговое окно с маленькими круглыми кнопками и текстом, расположенным по дуге. Многие женщины говорили, что это выглядело как коробочка для контрацептивных таблеток. Или как пудреница. Как точно!

    Неважно, действительно ли криволинейный рисунок женщинам нравится больше, чем мужчинам, как утверждал этот дизайнер. Диалоговое окно для настройки стиля текста — это инструмент. Суть здесь заключается в том, что круглое диалоговое окно просто-напросто намного неудобнее для любого человека — будь то женщина или мужчина. Текст, который расположен по дуге или наклонен, значительно труднее читать, чем обычный горизонтальный текст, а круговая прокрутка просто нелепа.

    По признанию самого докладчика, этот дизайн подвергался критике со времени первой публикации в АСМ годом раньше. Отвечая на критику, докладчик показал слайд с традиционным диалоговым окном, которое предположительно разработали дизайнеры женского пола. Но через пару мгновений, как будто в подтверждение общей состоятельности концепции культурной настройки, он с гордостью показал диалоговое окно, разработанное для афро-американцев. Кнопки и блоки этого окна покачивались среди ярких разноцветных фигур. В качестве обоснования идеи был показан следующий слайд, на котором изображались аналогичные образцы африканского искусства. Здесь дело не в эстетической привлекательности африканских народных искусств. Даже не говоря о пользовательских предпочтениях и юзабилити-тестировании, можно отметить, что текстовые окна и кнопки в том дизайне были почти не видны на ярком фоне.

    Это напоминает мне действия компании, которая несколько лет назад выпустила линейку механизированных инструментов для женщин. Компания посчитала, что мастеровитые женщины предпочтут покупать легкие инструменты с маленькими ручками. Предполагалось, что «дизайнерские цвета» инструментов отнюдь не помешают. К сожалению, эти инструменты были менее мощными и не слишком прочными. В итоге любая женщина, которая действительно хотела сделать что-нибудь сама, выбирала только настоящие инструменты: черные, некрасивые и полезные.

    Хужеры[43] и африканцы

    Такое подстраивание под разнообразных пользователей, проиллюстрированное на примере разноцветных диалоговых окон и красивых механических инструментов, нельзя считать ни уважительным, ни полезным. Вместо того чтобы учитывать и оценивать истинные различия, такой подход лишь закрепляет глупые и ошибочные стереотипы. Реальное разнообразие свалено в надуманные и бессмысленные категории, создавая то, что писатель Курт Воннегут назвал словом «гранфаллон» — ошибочным группированием.

    В конце концов, кто же этот архетипический европеец, который предпочитает выровненные по левой стороне заголовки и художественность оформления? Итальянец или, быть может, немец? Какую эстетику и художественные предпочтения разделяют жители Сицилии и Стокгольма? Как говорит реклама газеты The European: «The European — без нее вы не европеец». «Европейская культура», противопоставленная провинциальному французскому, тосканскому или датскому среднему классу, существует только в умах директоров рекламных агенств и руководителей корпораций.

    Мы создаем гранфаллоны из многих составляющих, но особенно из Африки — целого континента с десятками очень разных народов. В средствах массовой информации Африку часто воспринимают как одну страну, а африканцев — как один народ. Такое всеобъемлющее определение стирает все интересные и важные различия. В одном рекламном объявлении, опубликованном в недавнем воскресном приложении, даже говорилось о круизе «по таким экзотическим портам, как Рио-де-Жанейро, Сингапур и Африка». Это правда. Наверное, в порту Африка находится громадная гавань!

    Подстройку под разные вкусы можно легко выполнить без создания пользовательских стереотипов и без ущерба для юзабилити. Например, в соревновании по разработке проектов интерфейса для компьютерной голосовой почты команда из Клариса (Claris) продемонстрировала главное диалоговое окно, в котором пользователь мог выбирать «лицевые панели» разной формы и внешнего вида. При этом основная функциональность и простота применения оставались неизменными. В другом углу помещения для соревнований — и на другом конце диапазона отношения к пользователям — находилась команда одного из крупнейших производителей программного обеспечения. Она представляла незамысловатый, общий для всех пользователей интерфейс на основе окон, пиктограмм, меню и указателей. Ого, хм.

    Хороший дизайн учитывает реальные потребности и особенности пользователей. Возьмем обыкновенное велосипедное седло. Современные туристические велосипеды имеют седла, которые изредка признаются комфортабельными для всех людей с нормальной нервной системой. Однако они больше подходят для мужского строения тела, чем для женского. Группа женщин, инженеров и любительниц велосипедной езды, предложили совершенно новый тип седла, которое соответствует особенностям женского телосложения. Оно черное, непритязательное, но значительно более удобное — во всяком случае, так мне говорили.

    Самое важное в разработке пользовательских интерфейсов — предоставить пользователю возможность легко подстраивать интерфейс под свои вкусы и привычки. Такие изменения должны способствовать, а не мешать выполнению задач с помощью данного программного обеспечения.

    этические опасения

    Эстетика является важным элементом пользовательского интерфейса, но она не должна сказываться на юзабилити. Я могу изменять содержимое и расположение панели инструментов, но мне не нужно, чтобы у сообщений были кружевные края. На мой взгляд, в простой практичности есть своя красота. Перечница или солонка, защелкивающиеся штекеры. Инструменты, которые хорошо работают, которые точно соответствуют своему назначению и хорошо лежат в руке пользователя, прекрасны сами по себе. Нам не нужно договариваться обо всех деталях, поскольку эстетика программного обеспечения должна быть под контролем самого пользователя.

    В течение дня я много времени провожу перед монитором. Для меня «обои» на рабочем столе становятся виртуальным окном, как любимое кухонное окно над раковиной, через которое можно смотреть в сад, пока моешь посуду. Иногда на моем рабочем столе открывается панорама каскадов и потоков Города Водопадов (Waterfall City) в изображении художника Джеймса Герни (James Gurney). А иногда на нем можно увидеть грубые, но красивые пролеты мостов Рона Валотски (Ron Walotsky) и виадуки, пересекающие воображаемый город. Иногда золотые краски чужого солнца вырисовывают прекрасные воздушные арки Aristoi Джима Бернса (Jim Burns). Можно ли назвать этот интерфейс женским? Или типично мужским? Американским? Европейским? Интеллектуальным? Чувственным? Кто знает. Об этом не говорится в учебниках по пользовательским интерфейсам. Хотя стили этих художников, мастеров современного фантастического реализма, совершенно отличаются друг от друга, их объединяет одно эстетическое звено: я. Именно я собрал эти изображения вместе. Именно я могу смотреть на эти виды, размышляя над следующей главой.

    Если вы хотите продать свой интерфейс большему количеству людей, не создавайте стереотипов и не ставьте свои догматические представления о дизайне между пользователем и программным обеспечением. Дайте пользователям возможность самим настраивать то, что имеет для них значение, будь то внешний вид программного обеспечения или его работа. А затем просто отойдите в сторону.

    Из журнала Software Development, том 2, № 8, август 1994 г.

    51

    Мастеры

    Согласно одной из аксиом научной фантастики, непосвященным любая новая технология кажется магией. Даже для тех, кто в курсе дела и знает, что все это лишь сложение с плавающей точкой и условная логика, компьютеры в какой-то степени представляются черной магией. Некоторые разработчики программного обеспечения даже усиливают ощущение волшебства, добавляя в свои продукты всевозможные мастеры (wizards), агенты и элементы активного интеллекта.

    Подобно специалисту по приготовлению коктейлей, программный мастер задает наводящие вопросы, а затем делает выводы. Мастер в презентационном пакете может спросить о виде презентации, основной и второстепенных темах, о составе аудитории и о ваших целях. Далее мастер выбирает цветовую схему, шаблон слайдов и затем показывает вам заглавный слайд. Может быть, это хороший способ, а может быть, не очень, но, по крайней мере, он дает вам возможность не думать. И если вы не против визуальных материалов, которые выглядят как у всех, тогда вам и не нужно иметь хороший вкус или знать что-либо о композиции и дизайне.

    Просто игра

    Стивен Уейс (Steven Weiss), программный методист и волшебник, однажды сказал мне: «Волшебник — это актер, который играет роль волшебника». Тогда мастер — это, должно быть, тупая программа, которая играет роль разумного актера. Хотя мы все знаем, что настоящей магии не бывает, по каким-то причинам мы готовы верить, что искусственный интеллект реален — когда видим его подобие на экране.

    Даже эксперты могут доверять экранным псевдо-экспертным системам в программном обеспечении, имитирующем интеллект. Однажды я оценивал один CASE-инструмент, который включал в себя комплексную экспертную систему для автоматического преобразования аналитической модели (схемы потоков данных) в модель проектируемой системы (схему модульной структуры). В то время шло ее бета-тестирование и расширенное внутреннее применение в реальных проектах. Ни один пользователь так и не заметил, что независимо от изменения условий и критериев система всегда выдавала один и тот же вариант дизайна — выполнялась обыкновенная механическая трансформация входных параметров. Это вовсе не интеллектуальный дизайн и даже не особенно хороший. Экспертные возможности этой «интеллектуальной» программы никогда не подвергались сомнению. Рекомендации системы принимались без анализа и критической оценки.

    Но мастеры хотя бы ждут просьбы показать фокусы или же стоят в стороне. Активные агенты — другая история. Эти резидентные программы следующего поколения сидят и наблюдают за тем, что происходит. Время от времени они предлагают помощь, или совет, или выдают какое-нибудь сообщение. В одном превосходном новом ГПИ каждый агент представлен карикатурной фигурой. Старуха с седыми волосами, стянутыми в пучок, представляет библиотекаршу. Строгий мужчина изображает менеджера ресурсов, а странный тип с опущенной на глаза шляпой — агента поиска. Когда эти агенты хотят что-нибудь сказать, выражение их лиц меняется. Они могут слегка хмуриться, чтобы указать на возможную ошибку, или поднимают палец и показывают, что у них есть какое-то предложение или сообщение. Если не говорить о сексизме и культурных предрассудках, можно ли считать эту идею хорошей?

    Некоторые производители программного обеспечения думают, что электронная почта должна быть активной и по своей воле выполнять что-либо на машине получателя — например, запускать какое-нибудь приложение или удалять себя, если она долго лежит непрочитанной. Мне это больше всего напоминает вирус. Не знаю, как остальной корпоративный мир, но я хочу, чтобы моя электронная почта ничего не делала на моей машине, а только сидела бы тихо, пока я не решу, что с ней делать.

    Люди очеловечивают все, что видят вокруг себя — от машин до кошек. Многие пользователи компьютеров дают своим машинам личные имена. Очень многие, в том числе и немало разработчиков программного обеспечения, приписывают личностные качества программному и аппаратному обеспечению. Для некоторых программистов это может быть своеобразной манерой говорить о технике, но для многих людей это действительно анимизм — форма магического мышления, в которой неживым и неразумным вещам приписывается способность действовать и думать. Имен-но так мы и поступаем, когда что-то не понимаем или не можем с чем-нибудь разобраться. Мы все этим грешим.

    Мой первый микрокомпьютер получил имя Большой Чародей. Даже с ограниченной памятью и слабоватой графикой он мог выполнять некоторые довольно впечатляющие действия, связанные не только с проектированием. После целого дня работы в его памяти то тут, то там появлялись провалы. Я прекрасно понимал, что под термической нагрузкой часть микросхем работала на пределе, однако это действительно выглядело так, словно компьютер становился капризным и раздраженным, будто уставший ребенок.

    Если бы не моя скептическая натура и не знания, полученные в Массачу-сетском технологическом институте, я, наверное, поверил бы, что Чародей испытывает некую неприязнь к моей подруге, которая иногда набирала на нем какие-нибудь бумаги. У меня он работал идеально, но стоило ей сесть за него вместо меня и начать набирать, как через пять минут Чародей начинал выбрасывать на экран какой-то мусор и глючить, зациклившись на какой-нибудь подпрограмме. Когда я снова садился за него, все опять работало хорошо. Я знаю, что этому можно найти какое-то рациональное объяснение (хотя мы так его и не нашли), но было трудно не поверить в то, что моя подруга и Чародей просто не ужились.

    Тупые терминалы

    Кончено, компьютеры не думают. Даже самый лучший, так называемый машинный интеллект представляет собой не что иное, как человеческий интеллект, скрытый за ширмой пикселов и мегабайтов. Ни один из современных «умных» механизмов не имеет показатель искусственного IQ выше нуля. Вся эта «интеллектуальность», если ее можно так условно назвать, является вымышленной. На недавней конференции один юзабили-ти-каббалист, рассказывавший об «обольстительных интерфейсах», сказал, что при помощи интеллектуальных пользовательских интерфейсов можно даже «имитировать реальную интимную близость». «Это вовсе не трудно, — уверял он. — Ну, вы знаете, точно так же, как вы делаете это с вашей женой». С его женой, может быть.

    Возможно, мы уже готовы признать реальность такой механической «интимности» фабричного производства. Машина теперь «персонализирует» письма, поздравительные открытки и рекламные сообщения. Многие из нас получали такие фотокопии рекламных посланий с кое-как прикрепленной запиской: «Ларри, я подумала, что это тебя заинтересует. С.». Каждый из нас знает кого-нибудь, чье имя начинается с «С», поэтому предполагается, что мы подумаем, будто это личная рекомендация от друга или знакомого. На самом деле это очередная массовая рассылка.

    «Мастерство» Windows — это форма отвлечения внимания. Отвлечение внимания — это один из фундаментальных рабочих принципов магии, ее реальная, вернее, обманная сущность. Если фокусник показывает на что-либо, или машет чем-нибудь, или о чем-то говорит, он не хочет, чтобы вы заметили что-то другое. Одно из первых правил разгадывания фокуса — никогда не смотреть туда, куда вам предлагают смотреть. Обращая лица пользователей к панелям инструментов и создавая диалоговые окна, имитирующие интимность, мы отвлекаем пользователей от вопросов, касающихся предназначения программного обеспечения. Мы предлагаем им посредственность, называя ее магией. Мы предлагаем иллюзию разумного программного обеспечения, соблазняя пользователей возможностью переложить задачу мышления на машину. Естественно, машина не думает. В итоге получается, что не думает никто.

    Возможно, в программном обеспечении должны быть предупреждения наподобие тех, которые наклеиваются на продукты питания и другие товары. «Данное программное обеспечение содержит подпрограммы, которые прикидываются умными». Или «Применение мастеров, агентов и других форм искусственного интеллекта не заменяет применение собственной головы». Одно скромное, но показательное исследование выявило: чем больше пользователям говорят о внутренней логике экспертной системы и технологии ее проектирования, тем менее вероятно, что они будут слепо доверять этой системе. Так что надежда еще есть.

    Из журнала Software Development, том 2, № 9, сентябрь 1994 г.

    52

    Образы будущего

    Какого цвета ваш персональный компьютер? Модный ли у вас лэптоп? Моя дорожная лошадка темно-серая, а офисная машина обычного серо-бежевого цвета, который в магазинах офисной мебели иногда называется «цветом оконной замазки». Но не все так плохо. Новая линейка мультимедийных компьютеров со встроенным радио- и ТВ-тюнером, а также видеомагнитофоном — настоящие «информационные устройства» — появятся в различных цветах, модных и ярких. Будут ли они гармонировать с другими нашими домашними приборами, которые в основном окрашены в цвет слоновой кости или черного анодированного алюминия? Не спрашивайте.

    Когда-то давно логарифмические линейки выпускались в кожаном футляре, который можно было пристегнуть к ремню, но никто их на ремне не носил. Это было тогда, а что теперь? Теперь переносные компьютеры и просто компьютеры — это модные аксессуары. По словам одного из докладчиков на конференции, посвященной интерфейсам человек-компьютер, именно об этом сейчас фантазируют светлые умы, которые дали миру компьютер, чтобы остальные могли им пользоваться.

    Мягкое обольщение

    Все старое теперь становится новым. Помните те слащавые «дружественные» интерфейсы, которые приветствовали вас по имени и желали вам удачного дня, даже если вы ошибались и вводили неправильную дату? Некоторые гуру в ГПИ, которые тогда посчитали это нормальным, сейчас идут еще дальше и предлагают «обольстительные интерфейсы», интер-фейсы для массовых рынков, которые представляют компьютер как друга, как приятеля, как партнера. Но хотите ли вы, чтобы компьютер был вашим приятелем? Или же вы предпочитаете, чтобы он просто помогал вам выполнить нужную работу?

    Эти фантастические интерфейсы не зависят от какого-нибудь эфемерного искусственного интеллекта. Или, по крайней мере, они не зависят от того истинного искусственного интеллекта, который хотят получить ученые-компьютерщики. Обольстительные интерфейсы — это маркетинговая уловка, стремящаяся вызвать неодолимый интерес к какому-либо программному обеспечению. Дружба и привлекательность имитируются с помощью подстройки интерфейса под личность покупателя. Один дизайнер имел смелость сказать, что такое программирование является простым, поскольку есть только четыре типа личности, а все необходимые знания о человеке можно получить, задав около двадцати вопросов. Последний раз, когда я интересовался этой темой, нашлось около двадцати теорий личности, и большинство из них было сложнее, чем эта.

    Судя по исследованиям, проводимым крупными производителями программного обеспечения, интерес может представлять не только примитивная псевдопсихология, но и изучение способов сделать программное обеспечение действительно полезным. Нам говорят, что люди хотят получить эту милую чепуху. Что им больше нравится, когда с ними правильно говорят, чем возможность нормально работать. Что они предпочтут передать все управление машине. Но действительно ли вы хотите, чтобы компьютер вас обольстил, особенно тот компьютер, который вас обманывает?

    Есть еще более дикие идеи относительно интерфейсов: например, «накидка знаний» — сочетание театральной накидки и гибкого (в прямом смысле этого слова) компьютера. Просто берите с собой эту накидку, предварительно загрузив в ее память необходимую информацию: систему проектирования программного обеспечения при помощи объектно-ориентирован-ной технологии — для офиса, новости и остроты — для вечеринки, базу данных с откликами покупателей — для редкого похода в универсам. Накидка будет шептать вам на ухо все необходимое для того, чтобы быть экспертом в любой области, в какой пожелаете. Она даже сможет напомнить имя знакомого, стоящего перед вами, — по всей видимости, идентифицируя личность с помощью встроенной оптической и звуковой аппаратуры или, возможно, с помощью некоего нейронного интерфейса, который пока еще не придумали (это всего лишь детали; не следует беспокоить мечтателей такими мелочами). Благодаря «накидке знаний» мы сможем перейти от компьютеров, имитирующих интеллект или интимность, к компьютерам, которые помогают людям это имитировать. Это будет превосходный новый мир, в котором очарование и легкость общения будут доступны тем, кто сможет себе позволить наибольший объем памяти «накидки» и самое свежее программное обеспечение. Но действительно ли вы хотите быть среди людей, чье понимание основано на магнитно-дисковых схемах, прикрытых вельветовой материей?

    Наручная архитектура

    Но погодите, есть еще кое-что, как говорят в ночном телемагазине. В современной киберпанковой моде уже появились булавки для галстука и ушные кольца, сделанные из лишних микросхем и цифровых прибамба-сов, а завтра, как нам говорят, мы будем носить вещи еще круче. У нас будут целые компьютеры, помещенные в модные браслеты (наверное, это случится тогда, когда «накидка знаний» уже станет повседневной одеждой). А волшебники интерфейсного проектирования даже предлагают, чтобы в наручных компьютерах применялись инфракрасные или коротковолновые передатчики. Они могли бы автоматически связываться, будучи в непосредственной близости друг от друга, — естественно, с применением соответствующего протокола и верификации цифровой подписи, которые предназначены для управления соединениями и установки связи с нужным абонентом. (Полагаю, миниатюрные версии таких устройств будут называться «запонками».) Когда друзья будут встречаться и пожимать друг другу руки, их компьютеры будут автоматически обмениваться сообщениями, что придаст новый смысл выражению «протокол установления связи» (handshaking protocol).[44] Какой прогресс! Технология служит человеку, устраняя необходимость таких неприятных человеческих действий, как обычный разговор или еще более ужасная интимность тет-а-тет. Не проще ли обмениваться файлами, чем говорить друг с другом?

    Взгляд в будущее расширяется. С развитием технологий станет возможно не только соединение близко расположенных устройств, но и широковещание. Вам не придется выслушивать какого-нибудь нахала, который пытается каждому из присутствующих на вечернике рассказать глупую историю о том, как он однажды застрял в лифте с Джоном Скали. Этот отчет просто скачается на ваш наручный процессор, когда вы войдете в комнату. Потом ваше умное программное обеспечение, запрограммированное выявлять всякую чепуху даже на расстоянии, быстро удалит ее. Не нужно будет выслушивать и даже перетаскивать этот мусор в корзину.

    Это наручное чудо может связываться со стационарным компьютером при въезде в гостиницу, загружая ваш профиль в комнату. Температура и освещение будут настроены по вашему вкусу, а на экране размером со стену появится необходимый хранитель (screen-saver). Или же этот экран будет демонстрировать интересующие вас заметки из Wall Street Journal, или Software Development, или alt.wierd — по вашему вкусу. Действительно, одной из самых распространенных фантазий о грядущем микрокомпьютерном тысячелетии является программное обеспечение, предназначенное для поиска и отбора информации из огромного цифрового потока, смывающего информационные границы.

    У меня уже есть доступ к подобной системе. Мой партнер просматривает публикации в различных изданиях — от Journal до DBMS — и неизменно сообщает мне о том, что может меня заинтересовать, просветить или быть для меня полезным. То же самое я делаю и для него, просматривая другие издания. Попытка переложить такую работу на компьютерную программу ставит два почти непреодолимых вопроса. Большая часть заметок под заголовками, которые меня заинтересовывают, не стоят прочтения, а многие из самых ценных публикаций оказываются в новых рубриках, которые я никогда не могу определить заранее. Сможет ли компьютер понять вас так хорошо, чтобы справиться с этой функцией? Сможете ли вы доверять компьютеру, если будете знать, что его «понимание» притворно?

    «Накидки знания» или компьютерные браслеты, или текстовые процессоры, способные переписывать вашу прозу, или программное обеспечение, умеющее определять, кто вы есть, — наверное, все это еще так далеко в будущем, что пока мы можем чувствовать себя спокойно. Мы знаем, что, подобно предсказанию останова машины Тюринга, некоторые задачи не поддаются решению ни в теории, ни на практике — даже если их можно легко описать. Если крупные производители программного обеспечения не могут создать презентационный пакет без утечек памяти или операционную систему, которая не обрекает себя на забвение в виде пустого экрана, то нужно ли нам беспокоиться о том, смогут ли они создать интеллектуальное программное обеспечение или запрограммированную интимность?

    К сожалению, дизайнеры ГПИ, подобно дизайнерам модной одежды, зачастую больше заботятся о внешнем виде, чем о возможностях. Гибкие интерфейсы подгоняются под пользователей с помощью настройки несущественных деталей. Вы можете выбрать почти любую цветовую схему, но не надейтесь, что программа будет подстраиваться под ваши реальные нужды и различные стили работы.

    Как напоминает нам юзабилити-гуру Бен Шнейдерман (Ben Shneider-man), люди хотят управлять, но также хотят ощущать достижение результата. Им нужна возможность контролировать важные процессы. В конце дня они хотят думать не о работе программного обеспечения, а о том, чего они добились. Нам же, разработчикам, нужно определить для себя, чего мы хотим достичь. Хотим ли мы создавать модное программное обеспечение или же полезное? Хотим ли мы, чтобы пользовательские интерфейсы предоставляли пользователю возможность контроля, или же они просто должны хорошо имитировать выполнение работы?

    Из журнала Software Development, том 2, № 10, октябрь 1994 г.


    Примечания:



    4

    После смерти (лат.).



    43

    Уроженцы штата Индиана



    44

    Handshaking protocol (англ.); дословно — протокол рукопожатия