Теперь обратим свой взгляд на компьютер, плодородное поле для произрастания всевозможных проблем дизайна. В этом царстве редко находится местечко для пользователя. Ничего особенного в компьютере нет: это машина, созданная человеком, как и множество других вещей, которые мы видим вокруг себя. Но он ставит перед нами задачи, с которыми мы раньше не сталкивались. Часто складывается впечатление, что разработчики компьютерных систем забывают о потребностях пользователей, особенно восприимчивых к любым недочетам дизайна. Профессиональных дизайнеров редко привлекают к работе над компьютерной продукцией. Разработка ее становится прерогативой инженеров и программистов, людей, у которых обычно нет ни опыта, ни знаний в создании ориентированного на пользователей дизайна.
Абстрактная природа компьютера ставит перед дизайнерами особые задачи. Все действия машины происходят на электронном, невидимом для пользователя уровне. Ими руководят с помощью абстрактного языка, который заведует внутренним управлением системой и потоком информации и не рассчитан на пользователя. С помощью таких языков программисты обучают систему выполнять действия. Эта задача сложна, поэтому программист должен обладать особыми знаниями и навыками. Разработка дизайна программы требует сочетания необходимой компетентности, включая технические навыки, знания задачи и знания потребностей и возможностей пользователя.
Программисты не должны отвечать за взаимодействие пользователя и компьютера. Это не входит в их компетенцию, да и не должно входить. Многие из существующих пользовательских программ слишком абстрактны.
Они требуют действий, отвечающих требованиям компьютера и понятных специалистам, но не связных, разумных, необходимых или понятных с точки зрения обычного пользователя. Чтобы облегчить работу с системой, нужно проделать уйму дополнительной работы. Я сочувствую программистам, но не могу простить им отсутствия заботы о пользователях.
Вы когда-нибудь работали на обычном компьютере? Если да, то, скорее всего, сталкивались с «тиранией пустого экрана». Вы сидите перед экраном и готовы приступить к… чему? Как? Экран либо совершенно пуст, либо содержит неинформативные символы и слова, которые не дают никаких намеков на то, чего можно ожидать от компьютера. Перед вами стоит клавиатура, но никаких признаков того, что одна клавиша предпочтительнее другой, нет. А ведь нажатие «не той» клавиши может нарушить работу системы. Или уничтожить ценную информацию. Или случайно подключить к сверхсекретному банку данных и тем самым зачислить вас в ряды преступников. Кто знает, какая опасность может подстерегать вас из-за обычного нажатия клавиши. Это пугает так же, как возможность оказаться в центре совершенно незнакомой компании, когда хозяин вечеринки оставляет вас со словами: «Чувствуйте себя как дома. Здесь вы найдете с кем поговорить». Это точно не для меня. Я всегда стараюсь потеряться и что-то почитать в уголке.
Так в чем же проблема? Ничего экстраординарного здесь нет. Просто особая природа компьютера может поднять все обычные проблемы на новый, более высокий уровень. Если вы намерены сделать что-то трудным в применении, нет ничего проще, чем последовать примеру разработчиков современных компьютерных систем.
Вы хотите сделать все неправильно? Вот несколько ценных советов.
• Откажитесь от принципа наглядности действий. Максимально затрудните выполнение: не давайте намеков на возможные действия. Сделайте невозможной оценку: исключите обратную связь и обеспечьте несоответствие действий результатам. Используйте тиранию пустого экрана.
• Побольше случайностей. Компьютер позволяет это. Используйте произвольные названия команд и действий. Делайте случайными соответствия между намеченными действиями и их результатом.
• Будьте непостоянны: меняйте правила. Сделайте так, чтобы одно действие выполнялось в одном режиме, а другое – в другом. Это особенно эффективно, если для выполнения задачи приходится использовать оба режима.
• Сделайте действия непонятными. Используйте бессмысленный язык и аббревиатуры. Сделайте сообщения об ошибках неинформативными.
• Будьте грубы. Относитесь к ошибкам пользователей как к нарушению условий контракта. Огрызайтесь. Наносите оскорбления. Говорите много и непонятно.
• Сделайте действия опасными. Позвольте одной ошибке уничтожить бесценный труд. Облегчите возможность катастрофы. Но не забудьте сделать предупреждение в инструкции. В этом случае в ответ на жалобу вы сможете смело спросить: «Вы что, не читали инструкцию?»
Этот список приводит в уныние, поэтому давайте посмотрим на положительные стороны. Компьютер обладает потенциалом, более чем достаточным для решения любой задачи. Благодаря неограниченным возможностям, сочетаемости со многими средствами управления и способности имитировать любые образы и звуки компьютер может облегчить нашу жизнь. Систему можно подогнать под пользователя, но для этого мы должны настаивать на том, чтобы разработчики работали не во имя технологий, а во имя нашего с вами блага. Уже есть программы и системы, разработанные с учетом интересов пользователя. С ними намного легче (и приятнее) работать. Так и должно быть. Компьютеры могут не только облегчить нашу жизнь, но и сделать ее веселее.
Компьютерные технологии молоды, и весь их потенциал еще не раскрыт. Некоторые люди до сих пор сохранили веру в то, что если вы не прошли тайный обряд посвящения в навыки программирования, вас нельзя допускать в общество пользователей компьютеров. Так было и в первые дни развития автомобилестроения: только смелые, жаждущие приключений и хорошо знакомые с техникой садились за руль.
Ученые-компьютерщики так далеко зашли в разработке языков программирования, что с их помощью могут решить любые технические проблемы вычисления. Однако развитие языков взаимодействия компьютера и пользователя было сильно обделено вниманием. Каждый студент-программист знакомится с вычислительным аспектом работы компьютера. Дисциплины же, которые освещают проблемы пользователей, можно пересчитать по пальцам, да и то их часто игнорируют, потому что учебный график неоперившихся программистов и без них забит до отказа. В результате многие специалисты без труда пишут чудесные программы, единственный недостаток которых заключается в том, что ими могут пользоваться только профессионалы. Многие программисты даже не задумываются о пользователях. Они очень удивляются, когда узнают, что их творения портят нервы потребителям. Этому нет прощения. Не так уж и трудно создать программу, которая делала бы операции видимыми, показывала бы возможные будущие действия и отражала бы текущее состояние системы.
Позвольте привести примеры отличных систем, разработанных с учетом интересов пользователей. Первый пример – электронные таблицы, вычислительная программа, которая изменила «лицо» бухгалтерского учета. Первой такой программой стала Visicalc. Она была такой удачной, что ради нее некоторые пользователи покупали компьютеры. А это веский аргумент в пользу практичности. Конечно, у электронных таблиц тоже есть свои недостатки, но в целом они делают работу с числами удобной и наглядной.
Что же понравилось пользователям в электронных таблицах? То, как они выглядели. Люди забывали, что пользовались компьютером, потому что могли работать непосредственно над решением проблемы. Они могли подойти к проблеме так же, как и раньше, только теперь результаты работы были видны сразу же. Изменение одной цифры приводило к изменению всех связанных с нею данных. Это чрезвычайно помогало в составлении бюджетных планов. Одни лишь преимущества и никаких технических преград. Самые лучшие программы – те, которые отвлекают внимание пользователя от компьютера и всецело направляют его на решение проблемы.
На самом деле программа Visicalc обладала рядом недостатков. Замысел был великолепен, но его воплощение оказалось не на высоте. Я не осуждаю разработчиков, так как они были ограничены возможностями раннего поколения персональных компьютеров. Современная техника мощнее, а электронные таблицы – проще. Visicalc заложила основу для пользовательских (в полном смысле этого слова) программ.
Разработать эффективную и практичную компьютерную систему непросто. С одной стороны, это дорого. Рассмотрим описанные в книге принципы дизайна: наглядность, ограничители, назначение, естественные соответствия и обратную связь. В отношении компьютерных систем это значит, что помимо всего прочего дизайнер должен сделать операции видимыми (или слышимыми), а это требует использования большого и высококачественного монитора, дополнительных входных устройств и компьютерной памяти. Для этого нужны более быстрые и мощные компьютерные системы. А все это приводит к росту стоимости производства и, естественно, увеличению потребительской цены системы. Тот факт, что обычные пользователи стремятся приобрести самую мощную систему с самой большой памятью и самым лучшим монитором, может не иметь значения. А требования программистов-профессионалов не так высоки, потому что они умеют работать с более простыми системами и менее эффективными мониторами.
Первая попытка создания эффективной системы не имела коммерческого успеха. Это была система Xerox Star, результат работы исследовательского центра компании Xerox Corporation в Пало-Альто. Разработчики осознали важность большого монитора с высоким разрешением. Они сделали так, что машина могла одновременно выдавать на экран несколько разных документов, и снабдили его ручным манипулятором (в данном случае «мышью»), чтобы пользователь мог выбрать рабочее окно. Компьютер Xerox Star стал прорывом в развитии практичности дизайна. Но он был слишком дорогим и слишком медлительным. Пользователям понравилась мощь и простота операций, но низкая скорость работы перечеркивала эти преимущества. Машина иногда не успевала отображать печатаемые знаки на экране, а на выполнение запроса пояснения (меню «справка») уходило столько времени, что в ожидании ответа даже на самый простой вопрос пользователь мог спокойно выпить чашку кофе. Xerox показал путь и повторил трагическую судьбу многих первопроходцев: реализация идей не успевала за полетом мысли.
К счастью для потребителей, идеи, лежавшие в основе компьютера Xerox, взяла на вооружение компания Apple Computer. Эта компания сначала выпустила машину Apple Lisa (тоже слишком медленную и дорогую), а затем компьютер Macintosh, который добился настоящего успеха.
Подход, использованный при разработке Xerox, был тщательно задокументирован. Основной целью разработчиков стала последовательность операций, которая достигалась через наглядность дизайна и постоянный диалог с пользователями на стадии разработки. Все это признаки хорошего дизайна.
В компьютерах Macintosh компании Apple экран используется всесторонне. В результате отпадает проблема пустого экрана. Теперь пользователь видит все доступные действия. Компьютерная система упрощает выполнение операций и стандартизирует алгоритм работы с программным обеспечением. Она предоставляет удобную обратную связь. Многие действия можно выполнить с помощью мыши – небольшого ручного манипулятора, который управляет курсором на экране. Мышь обеспечивает соответствие действия и его результата, а использование меню облегчает выполнение операций. Разработчикам удалось обеспечить понятное выполнение и его оценку.
В компьютере Macintosh тоже есть свои недочеты, особенно это касается использования комбинаций клавиш. Некоторые проблемы являются результатом использования мыши. У нее есть только одна кнопка, что упрощает эксплуатацию, но приводит к тому, что выполнение некоторых действий требует нескольких щелчков подряд или одновременного удержания комбинации клавиш на клавиатуре и щелчка кнопки мыши. Это противоречит философии дизайна, потому что такие действия трудно выучить, трудно вспомнить и трудно выполнить.
Ох уж эта проблема кнопок на мыши. Сколько их должно быть? В разных моделях их число колеблется от одной до трех (три – самый предпочтительный вариант). В некоторых разработках еще больше кнопок, и даже есть мыши с аккордовой клавиатурой. Вокруг этого вопроса разгораются жаркие споры. Ответ, естественно, один: правильного ответа нет. Все зависит от соотношения преимуществ и потерь. При увеличении количества кнопок упрощаются некоторые операции, но возрастает проблема соответствия. Даже наличие двух кнопок приводит к непостоянности соответствия кнопок и их функций. Наличие одной кнопки устраняет проблему соответствия, но при этом значительно уменьшает функциональные возможности мыши.
Macintosh – пример того, какими должны быть компьютерные системы. Разработчики сделали акцент на наглядности и обратной связи. Его «нормы пользовательского интерфейса» и «панель инструментов» стали точкой опоры для многих программистов. Компания поставила на первое место требования пользователя. Конечно, и в этом компьютере есть серьезные недостатки: он далеко не идеален. Как, кстати, и не уникален. И все же за относительный успех в достижении практичности и понятности дизайна я бы наградил компанию Apple и ее детище. Если бы только я больше думал о наградах.
Для компьютера характерно то, что его очертания, форму и внешний вид дизайнер может сделать какими пожелает. Компьютер может быть хамелеоном, меняющим форму и цвет в зависимости от ситуации. Компьютерные операции можно сделать гибкими и поверхностными, то есть не меняющими сути. Это способно привести к изменению мышления пользователя. Тогда мы сможем создать систему, которую можно будет изучать, экспериментируя и не боясь ошибок. Более того, мы сможем сделать так, чтобы компьютер принимал внешний вид задачи и исчезал за фасадом (своим системным образом).
Исследуемые системы: призыв к экспериментам
Если вы хотите упростить систему, сделайте ее такой, чтобы пользователь не боялся экспериментировать и смог исследовать ее возможности методом проб и ошибок. Так многие из нас учатся пользоваться бытовыми электроприборами, новыми стереосистемами, телевизорами или видеоиграми. Мы нажимаем на кнопки и смотрим или слушаем, что происходит. Тот же подход можно применить и к компьютерным системам. Чтобы система была исследуемой, она должна отвечать трем требованиям.
1. В любой момент времени пользователь должен видеть доступные действия и иметь возможность выполнить их. Наглядность играет роль напоминания о наличии действия и призыва к исследованию новых концепций и приемов.
2. Результат каждого действия должен быть очевидным и легко интерпретируемым. Это позволяет изучить последствия каждого действия, создать хорошую концептуальную модель системы и понять причинно-следственную связь между действиями и их результатом. Возможность такого обучения зависит в основном от образа системы.
3. Действия не должны наносить вред. Должна существовать возможность отменить действие, которое приводит к нежелательным последствиям. Это особенно важно для компьютерных систем. Если действие необратимо, система должна предупредить пользователя о том, к чему оно может привести. Так у него будет достаточно времени, чтобы отказаться от задуманного. Или же это действие следует сделать невозможным. Большинство же действий должны быть безопасными, наглядными и обратимыми.
Два режима использования компьютера
Сравните два разных способа выполнения задачи. Первый способ – с помощью команд. Назовем его «командным режимом», или взаимодействием «от третьего лица». Второй способ – самостоятельная работа. Назовем его «режимом прямого управления», или взаимодействием «от первого лица». Разница между ними такая же, как и между ездой с водителем и самостоятельным вождением автомобиля. Эти два режима существуют и в компьютерных системах.
В большинстве систем задействован командный режим. Чтобы выполнить действие, вам требуется набрать команду, используя специальный «командный язык», который, кстати, еще нужно выучить. Некоторые компьютерные системы позволяют управлять от первого лица.
Хороший пример такого взаимодействия – компьютерные игры, неотъемлемой частью которых является чувство контроля. Режим прямого управления можно применить и к таким задачам, как набор текста или бухгалтерия. Многие электронные таблицы и текстовые редакторы работают в этом режиме.
Обе формы взаимодействия необходимы. Командный режим подходит для трудоемких и повторяющихся задач и для ситуаций, в которых вы можете положиться на систему (или другого человека). Иногда очень даже неплохо прокатиться с водителем. Но если работа важна, нова или неопределенна, тогда нужен режим прямого управления. В таких случаях посредник только мешает.
Однако у систем, позволяющих взаимодействие от первого лица, есть свои недостатки. Хотя такие системы просты и приятны в применении, с их помощью довольно трудно сделать по-настоящему хорошую работу. Они требуют от пользователя самостоятельного выполнения задачи, а ведь он может и не быть для этого достаточно компетентным.
Цветные карандаши и музыкальные инструменты – отличные примеры системы прямого управления. Но я, например, не умею ни рисовать, ни играть. Если я захочу посмотреть на картину или послушать музыку, мне придется обратиться за помощью к профессионалам. Так же и со многими компьютерными системами. Я заметил, что мне часто нужна система прямого управления с сопровождающим ее посредником, к которому в случае необходимости можно было бы обратиться за помощью.
Когда я работаю в режиме взаимодействия от первого лица (набираю текст, рисую картинку, создаю игру или играю в нее), я отношусь к своим действиям не как к эксплуатации компьютера, а как к выполнению определенной задачи. Компьютер становится «невидимым». Этот принцип нельзя переоценить: сделайте компьютерную систему невидимой. Данное утверждение можно применить как к прямой, так и непрямой форме взаимодействия.
Компьютер-невидимка из будущего
Давайте подумаем, на что может быть похож компьютер будущего. Предположим, что он будет невидим и вы даже не будете осознавать, что пользуетесь им. Что я имею в виду? То, что и так уже вошло в нашу жизнь. Вы пользуетесь компьютером, когда едете в современном автомобиле, включаете микроволновую печь, слушаете музыку из CD-плеера или производите расчеты на калькуляторе. Вы не замечаете компьютер, потому что ваше внимание нацелено на выполнение задачи.
Вы же не идете на кухню, чтобы воспользоваться электромотором. Вы пользуетесь холодильником, или миксером, или посудомоечной машиной. Наличие мотора не воспринимается сознанием, хотя, например, в миксерах и соковыжималках он служит основной деталью.
Компьютер будущего можно проиллюстрировать на примере выдуманного мной идеального ежедневника. Предположим, я сижу на диване и думаю, принять ли мне приглашение посетить конференцию в мае. Я беру свой ежедневник и открываю его на соответствующей странице. Я допускаю, что смогу поехать, и делаю необходимую пометку. Передо мной вспыхивает календарь и высвечивается запись, что в это время в университете еще будут идти занятия, да и поездка совпадает по времени с днем рождения моей жены. Я все-таки решаю, что конференция важна, поэтому делаю пометку найти кого-нибудь, кто смог бы временно меня подменить, и узнать, успею ли я на день рождения, если уеду с конференции раньше. Я закрываю ежедневник и возвращаюсь к другим делам. На следующий день, приехав в университет, я нахожу на экране два сообщения: первое – найти себе замену на май и второе – узнать у организаторов конференции, смогу ли я уехать пораньше.
Этот воображаемый ежедневник выглядит как обычный. По размеру он не отличается от стандартного блокнота. Он открывается и показывает даты. Но внутри него находится компьютер, поэтому он позволяет делать то, чего не могут обычные ежедневники. Он, например, может подавать информацию в разных форматах: от 30-минутной раскладки одного рабочего дня до полного годового графика.
Так как я часто путешествую, в нем должны быть адресная книга и блокнот для заметок и записи расходов. Что самое главное, он должен подключаться к другим моим компьютерам (с помощью инфракрасного порта или беспроводного адаптера). Поэтому какую бы информацию я ни вводил в календарь, она сразу же будет поступать на мой рабочий и домашний компьютеры. Если я делаю заметку о встрече или вношу изменения в адресную книгу на одном терминале, все это передается и на другие. После окончания поездки записи о расходах будут автоматически переноситься на соответствующий бланк. Компьютер спрятан, зато видна поставленная задача. По сути, пользуясь компьютером, я чувствую, что работаю с календарем-ежедневником.