Интерфейсы в парадигме реализации
Пользовательские интерфейсы, ориентированные на модель реализа' ции, широко распространены в компьютерной индустрии. Эти интер' фейсы выражены в терминах, отражающих конструкцию продукта. Чтобы успешно взаимодействовать с таким интерфейсом, пользова' тель должен понимать, как работает программа. Следование парадиг' ме реализации означает, что проектирование пользовательского ин' терфейса целиком основано на модели реализации.
Подавляющее большинство программ в настоящее время применяют интерфейс в парадигме реализации и без тени стыда демонстрируют нам свое устройство. Они имеют по кнопке на каждую функцию и по диалоговому окну на каждый модуль кода, а их команды и процессы являются точным отражением внутренних структур данных и алго' ритмов.
Мы видим, что интерфейс, созданный на основе модели реализации, может функционировать, только обладая знанием о том, как работает программа. К сожалению, справедливо и другое: чтобы пользоваться таким интерфейсом, мы должны разобраться в том, как программа ра' ботает.
Люди предпочитают добиваться успеха, а не всеведения.
Очевидно, что интерфейсы, ориентированные на реализацию, строить проще всего: всякий раз при создании функции программист просто добавляет фрагмент интерфейса, тестирующий эту функцию.
Такой интерфейс легко отлаживать, а когда что'то работает не так, легко выяснять, в чем причина. Инженерам нравится знать, как рабо' тает та или иная вещь, и реализационная парадигма их вполне устраи' вает. Инженеры предпочитают видеть рычаги и шестеренки, потому что это помогает им понять, что происходит внутри машины. Тот факт, что подобные элементы неоправданно усложняют жизнь пользовате' лей, кажется разработчикам несущественным побочным эффектом. Инженеры, возможно, и готовы разбираться в устройстве продукта, но большинство пользователей не имеют для этого ни времени, ни жела' ния. Успех интересует их больше, чем знания, и такое предпочтение непонятно большинству инженеров.
Стоит упомянуть и близкий к интерфейсу в парадигме реализации ва' риант «интерфейса, ориентированного на структуру организации». Часто возникает ситуация, когда организация продукта (как правило, веб'сайта) соответствует не тому, как пользователи представляют себе информацию, а тому, как структурирована компания, создающая сайт. На таком сайте обычно имеется по вкладке на каждое подразделение, и ощущается острая нехватка связи страниц друг с другом. Подобно продукту, интерфейс которого ориентирован на реализацию, веб'сайт, ориентированный на структуру организации, требует, чтобы пользо' ватели, желающие найти какую'либо информацию, до тонкостей по' нимали внутреннее устройство организации.
Метафорические интерфейсы
Метафорические интерфейсыполагаются на интуитивные связи, ко' торые пользователь устанавливает между визуальными элементами интерфейса и его функциональностью. От пользователя не требуется знания основ программирования – и это шаг вперед по сравнению с мо' делью интерфейса в парадигме реализации. Впрочем, эффективность и полезность такого подхода преувеличена до нереалистичных размеров.
Говоря о метафорах в контексте пользовательского интерфейса и про' ектирования взаимодействия, в действительности мы подразумеваем визуальные метафоры – картинки, которые служат представлением атрибутов или назначения объектов. Пользователи воспринимают пе' редаваемый метафорой образ и предположительно могут расширить его до понимания предназначения объекта. Метафоры могут охваты' вать широчайший диапазон: от крохотных пиктограмм на панели ин' струментов до полноэкранных изображений в некоторых программах и от изображения ножниц на кнопке, обозначающей операцию «Выре' зать», до огромной чековой книжки в интерфейсе Quicken. Мы воспри' нимаем метафоры интуитивно, однако что означает слово «интуитив' ный» на самом деле?
Толковый словарь русского языка С. И. Ожегова (1984) дает следую' щее определение интуиции:
ин· туиJ· цияж. 1.Чутье, тонкое понимание, проникновение в са' мую суть чего'н. <…>; 2.В философии: непосредственное пости' жение истины без предварительного логического рассуждения.
Это определение подчеркивает волшебные качества интуиции, но не объясняет, как мы ею пользуемся. Интуиция действует на основе предположений. Мы видим связь между разными объектами и обра' щаем внимание на их сходство, не отвлекаясь на различия. Мы схва' тываем значения метафорических элементов интерфейса, поскольку мысленно связываем их с понятиями, которые усвоили ранее. Это эф' фективный путь, позволяющий использовать поразительную способ' ность человека к умозаключениям. Однако этот метод также полагает' ся на особенности стиля мышления пользователей, которые могут не знать языка, не обладать знаниями или не иметь мыслительных спо' собностей, необходимых для установления связей между метафорой и обозначаемой сущностью.
Ограничения метафор
Ошибочно думать, что метафоры являются надежным фундаментом для проектирования пользовательского интерфейса. Это сродни по' пытке объявить дискеты лучшим носителем информации на том осно' вании, что множество хороших программ когда'то распространялось на дискетах. Метафоры имеют множество ограничений, когда речь идет о современных информационных системах.
Во'первых, метафоры плохо масштабируются. Метафора, уместная для обозначения простого процесса в маленькой программе, часто дает сбой, когда процесс усложняется. Крупные пиктограммы файлов бы' ли хорошей идеей во времена, когда в компьютерах использовались дискеты и 10'мегабайтные жесткие диски с парой сотен файлов. Сей' час, когда на дисках объемом 250 Гбайт хранятся десятки тысяч фай' лов, подобные пиктограммы стали слишком неуклюжими для эффек' тивной работы.
Кроме того, метафоры предполагают сходство ассоциативного мышле' ния у разработчика и пользователя. Если пользователь и проектиров' щик относятся к разным культурам, метафора может и не работать. Непонимание может возникнуть даже между представителями близ' ких культур или в рамках одной культуры. Что означает изображение самолета – «расписание вылетов и прибытий самолетов» или «заказ авиабилетов»?
Наконец, хотя метафора предлагает новичку способ быстрее освоиться с интерфейсом, она превращается в непомерную обузу, когда бывший новичок переходит в середняки. Отражая физический мир механиз' мов, большинство метафор концептуально пригвождают пользователей
к земле, навсегда ограничивая возможности программного продукта. Этот аспект применения метафор еще будет обсуждаться в этой главе.
Наше определение интуиции показывает, что рациональное мышле' ние не используется в процессе интуитивного постижения. В компью' терной индустрии и особенно среди проектировщиков пользователь' ских интерфейсов выражение «интуитивно понятный» часто означает
«простой в использовании» или «простой для понимания». Простота использования, очевидно, важна, но она не является поводом относить успех проектировщиков на счет неких метафизических явлений – рав' но как и сбрасывать со счетов точное значение слова «интуиция». Су' ществуют конкретные причины, почему люди понимают одни интер' фейсы и не понимают другие.