Пользовательские ментальные модели
Кинозрителю, пришедшему на захватывающую драму, легко забыть про тонкости, связанные с перфорацией кинопленки и работой обтю' ратора. В действительности многие посетители кинотеатров очень сла' бо представляют себе, как работает проектор и чем он отличается от те' левизора. В представлении зрителя проектор просто выдает движу' щуюся картинку на большой экран. Это и называется пользователь' ской ментальной моделью, или концептуальной моделью.
Чтобы пользоваться сложным устройством, человеку вовсе не нужно знать в деталях, как оно функционирует на самом деле, а потому он создает упрощенную мысленную схему, достаточно мощную для опи' сания взаимодействия с устройством, но не всегда отражающую его реальную внутреннюю механику. К примеру, многие люди считают, что, когда они включают пылесос или блендер в розетку на стене, электричество начинает течь из стены в прибор, словно вода, по ма' ленькой черной трубке электрошнура. Эта ментальная модель абсо' лютно адекватна с точки зрения использования бытовой электротехни' ки. Тот факт, что модель реализации электрической сети не содержит ничего похожего на жидкость, путешествующую по проводам, и что электрический потенциал меняет знак 100 раз в секунду, для пользо' вателя значения не имеет, хотя энергокомпании приходится знать все эти тонкости.
В цифровом мире различия между пользовательской ментальной мо' делью и моделью реализации зачастую весьма ощутимы. Мы склонны игнорировать то обстоятельство, что сотовый телефон работает не так, как стационарный; он представляет собой приемопередатчик, способ' ный в ходе двухминутного разговора сменить с пяток базовых станций сотового оператора. Однако это знание не помогает нам понять, как пользоваться телефоном.
Расхождения между моделью реализации и ментальной моделью ста' новятся особенно сильными в случае с программными приложениями, где сложность реализации зачастую так высока, что пользователь поч' ти теряет возможность устанавливать простые механистические связи между своими действиями и реакциями программы. Занимаясь на компьютере цифровым монтажом звука или созданием визуальных спецэффектов вроде морфинга, мы лишены аналогий с механическим миром, так что наши ментальные модели неизбежно отличаются от модели реализации. Даже если связи будут видны, для большинства людей они останутся непонятными.
Модели представления
Лицом программного или цифрового продукта, как его видят люди, является его поведение, создаваемое программистом или проектиров' щиком. Это представление вовсе не должно быть точным описанием того, что происходит внутри компьютера, но, к несчастью, зачастую именно им и является. Возможность демонстрировать функциониро' вание компьютера в отрыве от производимых им в реальности дейст' вий проявляется в программном обеспечении сильнее, чем в любой другой среде. Она позволяет сообразительному проектировщику скры' вать некоторые из наиболее малопривлекательных особенностей того, как программа выполняет свою работу. Этот разрыв между реализаци' ей и предлагаемым объяснением служит источником третьей моде' ли, возникающей в цифровом мире, – модели представления. Модель представления – это избранный проектировщиком способ предъявле' ния пользователю функционирования программы. Дональд Норман (Norman, 1989) называет это просто моделью проектирования.
В мире программного обеспечения модель представления программы может (и часто должна) достаточно сильно отличаться от внутренней архитектуры программы. Например, операционная система может изображать сетевой файловый сервер так же, как простой локальный диск. Эта модель не отражает того, что физически диск может быть удален на многие километры. У понятия «модель представления» нет широко распространенного аналога в механическом мире. На рис. 2.1 представлены отношения, связывающие все три описанные модели.
Чем ближе к пользовательской ментальной модели окажется модель представления, тем легче будет пользователю работать с программой и понимать ее. Наоборот, модель представления, слишком сильно при' ближенная к модели реализации, обычно значительно затрудняет ос' воение и применение программы при условии, что ментальные моде' ли, которые пользователь строит для своих задач, отличаются от моде' ли реализации программы (а это условие практически всегда выпол' няется).
Все мы склонны создавать ментальные модели, упрощающие реаль' ность. Поэтому, конструируя модели представления, которые проще моделей реализации, мы помогаем пользователю лучше понять про' дукт. К примеру, нажатие на педаль тормоза в автомобиле может вызы' вать в мыслях образ рычага, который упирается в колесо и замедляет его за счет трения. В реальном же механизме присутствуют гидравли' ческие цилиндры и шланги, а также металлические колодки, сжимаю' щие перфорированный диск; однако мы выбрасываем все это из голо' вы, создавая более эффективную, хотя и менее точную ментальную мо' дель. В случае с программами мы, например, представляем себе, что лист электронной таблицы прокручивается и являет нам новые ячей' ки, когда мы нажимаем на полосу прокрутки. Ничего такого в дейст'
Модель реализации
отражает технологию
Ментальная модель
отражает видение программы пользователем
Рис. 2.1. Внутреннее устройство программного обеспечения часто оказыва- ется данностью и продиктовано различными ограничениями технического и делового характера. Модель того, как в действительности работает про-
грамма, называется моделью реализации. То, как пользователи воспринима- ют свои задачи и как программа помогает в решении этих задач, есть мен- тальная модель взаимодействия с программой. Она основана на представле- ниях пользователей о том, как они решают свои задачи, и о том, как может работать компьютер. То, как проектировщики преподносят работу програм- мы пользователю, называется моделью представления. В отличие от двух предшествующих моделей, она является тем аспектом программного обеспе- чения, который в значительной степени поддается контролю со стороны проектировщиков. Одна из важнейших целей проектировщика – максималь- но приблизить модель представления к ментальной модели пользователей. Таким образом, проектировщикам очень важно детально знать, как целевые пользователи видят работу, выполняемую с помощью программы
вительности не происходит: нет никакого листа с ячейками, вместо него – плотно упакованная структура данных со значениями, связан' ными друг с другом посредством указателей, на основе которых про' грамма синтезирует в реальном времени новое изображение на экране.
Понимание того, как в действительности работает программа, помога' ет ее использовать, однако это понимание обходится весьма дорого. Упрощение внешних проявлений процессов и ситуаций – один из наи' более эффективных способов, которыми компьютер может помочь че' ловеку. Как следствие, пользовательские интерфейсы, построенные на основе ментальных моделей пользователей, существенно выигры' вают по сравнению с интерфейсами, которые всего лишь отражают мо' дель реализации.
Пользовательский интерфейс должен следовать пользова- тельской ментальной модели, а не модели реализации.
В программе Adobe Photoshop пользователь имеет возможность регу' лировать цветовой баланс и яркость изображения при помощи функ' ции Варианты (Variations). В интерфейсе этой функции вместо полей ввода численных значений цветов (модель реализации) предлагается набор миниатюр, различающихся настройками цветового баланса (рис. 2.2). Пользователю достаточно щелкнуть по миниатюре, наиболее точно
Рис. 2.2. Adobe Photoshop дает замечательный пример интерфейса, основанного на пользовательской ментальной модели. Диалоговое окно Варианты (Variations) предлагает набор миниатюр, варьирующихся
по цветовому балансу и яркости с регулируемым шагом. Пользователю достаточно щелкнуть по миниатюре, наиболее точно представляющей желаемую коррекцию цвета. Выбранное изображение становится точкой отсчета для новых вариантов. Этот интерфейс следует ментальной модели художника, которому требуется получить определенный конечный вид изображения, а не набор абстрактных чисел
представляющей желаемую коррекцию цвета. Этот интерфейс при' ближен к ментальной модели действия, ибо пользователь – вероятно, художник или дизайнер – думает о том, как должно выглядеть изобра' жение, а не об абстрактных числах.
Когда модель представления программы приближена к пользователь' ской ментальной модели, из интерфейса уходит избыточная слож' ность, поскольку пользователь получает когнитивную инфраструкту' ру, которая ясно указывает, как могут быть достигнуты его цели и удовлетворены его потребности.
Целеориентированное взаимодействие отражает пользо- вательские ментальные модели.
Пользовательская ментальная модель не обязана быть правдивой или точной, но она непременно должна позволять пользователю эффектив' но работать. К примеру, в восприятии большинства пользователей, не являющихся технарями, экран – сердце компьютера. Это очень даже естественно, поскольку именно в экран они постоянно смотрят и имен' но на экране видят, что делает компьютер. Если такому пользователю сказать, что компьютер в действительности – лишь маленькая крем' ниевая микросхема вон в том ящике под столом, он, вероятно, пожмет плечами и проигнорирует эту бессмысленную (с его точки зрения) ин' формацию. Тот факт, что центральный процессор – совсем не то же, что дисплей, не помогает ему решать вопросы взаимодействия с ком' пьютером, хотя с технической точки зрения такое представление бо' лее точно.