СсылкиКолонка автораСтатьиОбзоры программ и сайтовПримеры удачных решенийПримеры неудачных решенийЦентр Практичных Программ

Миф о метафоре

Alan Cooper

Разработчики программ часто говорят о "нахождении правильной метафоры" в качестве основы для интерфейса. Они думают, что если наполнить интерфейс картинками хорошо узнаваемых объектов из реального мира, то пользователи очень быстро научатся работать с программой. Поэтому они создают интерфейсы, которые выглядят как офисы со столами, папками документов, телефонами и адресными книгами, в надежде создать программу с неслыханной легкостью обучения. Некоторые из лучших дизайнеров интерфейсов считают выбор метафоры одной из первых и самых важных задач.

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

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

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

Три парадигмы интерфейсов

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

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

Технологическая парадигма

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

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

Мы можем узнать, как работает технологическая программа, просто запустив ее. Проблема в том, что обратное тоже верно: мы должны понять, как она работает,  для того чтобы запустить ее.

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

Метафорическая парадигма

Современный графический интерфейс пользователя был изобретен в Исследовательском Центре Пало Альто фирмы Хerox (PARC) и был сразу же подхвачен промышленностью. Но что он из себя представляет на самом деле? Графический интерфейс пользователя, разработанный в PARC состоял из различных объектов: окна, кнопки, мыши, иконки, метафоры, меню. Некоторые были хороши, а некоторые не очень, но все они достигли статуса непреложных истин. В частности, идея того, что дизайн пользовательского интерфейса должен быть жестко основан на метафоре - заблуждение.  Это все равно, что поклоняться 5.25" дискетам, потому что на них было записано много хороших программ.

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

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

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

Идиоматическая парадигма

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

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

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

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

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

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

Проблемы

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

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

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

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

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

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

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

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

Вернуться к списку статей