Сегодня, благодаря совершенно неожиданным (по меркам 5-летней давности) применениям компьютеров, пользовательский интерфейс привлекает все больше внимания. К сожалению, как всякое модное слово (искусственный интеллект, мультимедиа, Internet) термин пользовательский интерфейс незамедлительно начали использовать в качестве рекламного аргумента в результате чего его смысл стал куда менее определенным. В этой ситуации было бы странно претендовать на истину, однако некоторыми соображениями автор этих строк хотел бы поделиться с читателями.
Во-первых, в понятие пользовательского интерфейса (ПИ) входит не только, и даже не столько, картинка на экране – трехмерная, анимированная, просто выполнена в модном дизайне, – а способы взаимодействия пользователя с системой. В этом контексте очень интересно сравнить материалы по ПИ в российской компьютерной прессе (напоминающие мне рецензии искусствоведов на художественные выставки) и классическую книгу Дональда Нормана "Психология повседневных вещей" ("The Psychology of Everyday Things"), где основным примером книги оказался дизайн дверных ручек.
Еще одна книга, очень популярная среди американских специалистов по ПИ, анализирует развитие столовых приборов в средние века. В обеих книгах дизайн имеет подчиненное положение. Его главная цель – облегчить пользование предметом.
Этот взгляд кардинально отличается от широко распространенного мнения, что пользовательский интерфейс – это набор "интерфейсных элементов" и их расположение на экране. Сама номенклатура принятых в среде Windows интерфейсных элементов вызывает большие сомнения в том, что на ее базе можно создать действительно удобные интерфейсы.
Например, такой интерфейсный элемент как линейка прокрутки находится в противоречии с одним из основных принципов психологии восприятия: у человека может быть только одна точка активного внимания. При использовании же линейки прокрутки приходится смотреть в две совершенно различные точки – на прокручиваемое изображение (не пора ли остановиться) и на линейку. Всем знакомые неприятности с непопаданием мышью в нужную точку при прокрутке или с "соскакиванием" мыши с линейки – очевидное следствие вышеуказанного противоречия.
Нам, конечно, не привыкать к тому, что неестественные вещи объявляются самыми правильными, но все-таки никакие уговоры и маркетинговые ходы не сделают правильным и удобным то, что противоречит человеческой природе.
Давайте предположим, что ни оконного, ни какого-то другого интерфейса еще не существует и нам нужно придумать способ общения человека с компьютером. Первое и важное замечание – необходимо отличать профессионального пользователя (т. е. пользователя, выполняющего на компьютере свою профессиональную работу и, грубо говоря, получающего за это деньги) от пользователя развлекающегося и уж, во всяком случае, не приговоренного к сидению за дисплеем. Хорошей аналогией может стать система управления автомобиля для профессионального шофера и шофера любителя.
Первому можно предложить практически любой интерфейс. У него есть время и мотивация для приспосабливания к сколь угодно сложному и противоестественному интерфейсу. Время, которое он проводит с компьютером, достаточно велико, чтобы даже большие затраты на обучение окупились. Более того, постоянное общение с компьютером предотвратит возможное забывание выученного. И, наконец, он не может просто плюнуть и перестать пользоваться неудобной системой, особенно если рядом нет удобной системы с аналогичными возможностями.
С пользователем-любителем все наоборот. Пока в уголовном кодексе не предусмотрено наказание типа "заключения в пользовательский интерфейс", он имеет право выбора (не между одной программой и другой, а между компьютером и телевизором или даже книгой). Он хочет за компьютером развлекаться, и тратить время и силы на овладение неудобным интерфейсом ему не с руки. Исключением являются фанаты, общающиеся с компьютером по принципу "охота пуще неволи".
Вы скажете, что люди все же учатся. Это неправда, поскольку сегодня практически нет пользователей-любителей. До последнего времени на компьютерах любители могли только играть в игры. (Кстати, у популярных игр интерфейс очень хороший и совершенно не оконный.) Сегодня Internet стал для обыкновенных людей мощной побудительной причиной покупать компьютеры. И уже раздаются критические голоса об интерфейсе, трудно понимаемом простыми пользователями. Можно с уверенностью предсказать, что дальше станет хуже. Прирастать пользователи будут только любителями.
Так что давайте оставим профессионалам тот интерфейс, к которому они привыкли (не выбрасывать же деньги, затраченные на их обучение), и подумаем, на каких принципах строить интерфейс для любителей.
Отправной точкой всякого хорошего интерфейса является метафора.
Обстановка на экране и способы взаимодействия с системой должны апеллировать к ситуации, хорошо знакомой пользователю. Так, оконный интерфейс задумывался как метафора рабочего стола с документами.
Использованием метафоры убивается сразу несколько зайцев. Во-первых, пользователю легче понимать и интерпретировать изображение на экране.
Во-вторых, ему не нужно каждый раз заглядывать в руководство, чтобы узнать, как выполняется то или иное действие. По крайней мере некоторые действия должны "естественно" следовать из метафоры. В-третьих, у пользователя возникает чувство психологического комфорта, характерного для встречи с чем-то хорошо знакомым. (В этом, кстати, секрет популярности старых мелодий. Все гастролеры знают, что публика им не простит, если они не исполнят что-нибудь давно и хорошо известное.) Однако в использовании метафоры есть несколько подводных камней. Все- таки процесс взаимодействия с пользователем проходит не в реальном мире, а с помощью таких искусственных приспособлений, как экран, мышь и клавиатура. Поэтому где-то приходится метафору "подправлять". Кроме того, возможности мира внутри компьютера обычно шире возможностей физического мира, и это может с успехом использоваться для более мощного интерфейса. Наконец, существует сложившаяся практика пользования компьютером у профессионалов, и эта практика кажется естественной создателям новых интерфейсов.
В качестве примера удачной метафоры в интерфейсе можно привести Lotus Organizer, внешний вид которого напоминает привычный еженедельник, функции которого и выполняет этот продукт. Примером неудачной метафоры, точнее ее полного отсутствия там, где она необходима, может служить Explorer Windows 95.
Итак, мы придумали замечательную метафору для нашего интерфейса.
Сохраним ее в секрете как коммерческую тайну и пойдем дальше. Теперь нам нужно сделать концептуальный дизайн интерфейса. Что это такое? В рамках нашей метафоры мы должны разработать систему интерфейсных элементов, своего рода алфавит взаимодействия, изучив который пользователь сможет легко делать то, что ему нужно. Еще мы должны найти изящный способ изображения как отдельных элементов так и их групп. И, наконец, мы должны выбрать общий изобразительный стиль, который был бы легко узнаваем и приятен для глаз.
Наш (не)удачный предшественник – оконный интерфейс решил только первую задачу концептуального дизайна. В нем есть понятие "контролей" – интерфейсных элементов, с которыми в основном и происходит взаимодействие. В Windows 95 сделана попытка выработки общего изобразительного стиля для контролей. Об общем стиле экранного изображения речи вообще не идет, если только не считать за таковой набор "тем", входящий в состав Microsoft Plus.
Примером хорошего концептуального дизайна интерфейса (помимо некоторых компьютерных игр) может служить система дорожных знаков.
Ее разработка не так проста как может показаться на первый взгляд.
Обратите внимание на сочетание "реалистических" пиктограмм с "абстрактными", на комбинирование многих знаков, висящих вместе, на "словарь фонов". Кроме того, удалось решить поистине титаническую задачу – знаки заметны и не портят красоту окружающей природы там, где эта красота есть. И, главное, эта система хорошо работает и не требует от своих пользователей высшего образования. Во многих моих интерфейсных раздумьях дорожные знаки занимают значительное место.
Концептуальный дизайн интерфейса должен базироваться на идее интерфейсной среды. В сущности, на время работы с системой пользователь погружается в среду интерфейса подобно тому, как приехав на сафари, турист погружается в среду дикой природы. Здесь слово "среда" применяется не для красоты, а как обозначение типичной для поведения человека в различных средах связки "сигнал-действие".
Эта идея принадлежит психологу Гибсону (не путайте с популярным фантастом) и извлечена мной из его книги "Экологический подход к психологии восприятия". Он утверждает, что наше восприятие основано на мотивации в том смысле, что если мы хотим есть, то видим только съедобные вещи, а если устали – то только предметы мебели, предназначенные для отдыха. То есть человек не просто видит, а опрашивает среду, руководствуясь различными мотивами. В свою очередь, среда подает человеку разные сигналы. Наряду с ответами на его запросы, есть сигналы первоочередные (или всегда запрашиваемые), связанные с физической опасностью. Опираясь на полученные сигналы, человек осуществляет различные действия.
Для искусственных сред (например, системы автомобильных дорог) такая модель с очевидностью верна. Гибсон, впрочем, считает, что она верна и для естественных сред. Во всяком случае, как отправная точка для дизайна интерфейса, она очень продуктивна. Так, кнопки различных диалогов в стандартном оконном интерфейсе можно трактовать как сигналы к их нажатию. Но эти сигналы крайне слабы, поскольку все кнопки выглядят одинаково, отличаясь только текстами в них, а функции у них совершенно различны. То есть из всего разнообразия изобразительных средств – формы, размера, цвета, текста – в кнопках диалогов используется только текст.