Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Глава 2. Модели реализации и ментальные модели




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

Большинство программных продуктов следуют модели реализации

Программу, которая отражает собственную модель реализации, спроектировать существенно легче: по кнопке на каждую функцию, по полю на каждую порцию входных данных, по странице на каждый шаг транзакции, по диалоговому окну на каждый модуль кода... совершенно логично с точки зрения разработчика. Адекватно отражая инфраструктуру инженерной деятельности, такой подход, однако, слабо помогает создавать целостные механизмы для достижения пользователями своих целей. Результатом становится интерфейс, отталкивающий и запутывающий пользователя, - примерно как вездесущая паутина труб из фильма-антиутопии Терри Гиллиама (Terry Gilliam) «Бразилия» (фильм, полный замечательных и остроумных примеров ужасных интерфейсов).

Интерфейсы, спроектированные инженерами, следуют модели реализации

Пользовательские интерфейсы и схемы взаимодействия, спроектированные инженерами (которые досконально знают принципы работы программы), имеют модель представления, очень точно следующую модели реализации. С точки зрения инженера такая модель логична достоверна и точна; к сожалению, она малопонятна и неэффективна для пользователя. Большинству пользователей не особенно интересно, как именно реализована функциональность программы. Хороший пример пользовательского интерфейса, соответствующего модели реализации, - обычный компонентный домашний кинотеатр: пользователю необходимо знать, как соединены внутренние компоненты, чтобы перейти, скажем, от проигрывания DVD к просмотру канала кабельного телевидения. В большинстве систем пользователю приходится переключать источники видео, а иногда даже менять ис-


Большинство программных продуктов следуют модели реализации 65

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

Даже интерфейс Windows временами соскальзывает к модели реализации. Если перетащить мышью файл из одной папки в другую в пределах одного жесткого диска1, система интерпретирует это как команду «Переместить», то есть файл удаляется из первой папки и попадает во вторую, что хорошо соответствует ментальной модели. Однако перетаскивание файла с диска С на диск D будет воспринято как команда «Копировать», то есть файл будет добавлен во вторую папку, но не будет удален из первой. Истоки этого поведения находятся в модели реализации - в том, каким образом работает файловая система. При перемещении файла из одной папки в другую в пределах одного диска операционная система всего лишь переносит запись имени файла в таблице размещения файлов. Стирания и повторной записи файла при этом не происходит. Однако перенос файла на другой диск требует физического копирования данных на целевой диск. Чтобы соответствовать ментальной модели пользователя, система должна после копирования удалить оригинал, хотя это и противоречит модели реализации.

Такая непоследовательность поведения компьютера при выполнении двух, казалось бы, похожих действий способна порождать у пользователей значительный когнитивный диссонанс (путаницу, возникающую в результате столкновения двух противоречащих друг другу картин реальности), что, в свою очередь, затрудняет освоение этого простого взаимодействия. Чтобы добиться желаемого результата, пользователь должен понимать, что поведение компьютера зависит от физической природы конкретных видов устройств хранения данных. При определенных условиях трактовка перетаскивания файла с диска на диск как команды «Копировать» может быть желательным поведением системы, особенно при копировании файлов с жесткого диска на сменные носители вроде USB-накопителей типа flash, поэтому многие люди не осознают, что это лишь побочный эффект модели реализации. Однако по мере развития компьютерной техники логические тома перестают представлять собой только физические диски, и этот побочный эффект все реже оказывается полезным, а напротив, начинает раздражать, поскольку нам приходится держать в голове особенности поведения каждого вида накопителей.

Более точно - в пределах одного логического раздела жесткого диска. - Примеч. ред.

ЗЗак. N94


56 Глава 2. Модели реализации и ментальные модели

Математическое мышление приводит к созданию интерфейсов, следующих модели реализации

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

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

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

принцип Пользователи не понимают булеву алгебру.

проектирования

Например, одним из наиболее надежных и полезных инструментов в арсенале программиста является булева алгебра. Это компактная математическая система, удобно описывающая поведение сугубо двоичной вселенной любого компьютера. В булевой алгебре есть лишь две основных операции: И (AND) и ИЛИ (OR). Сложность в том, что в естественном языке есть слова «и» и «или», которые людьми, не связанными с программированием, обычно трактуются ровно противоположным образом, нежели булевы И и ИЛИ. Если программа использует для общения булеву нотацию, следует ожидать, что пользователь проинтерпретирует ее неверно.

Например, эта проблема часто возникает при обращении к базам данных. Если из файла со списком сотрудников требуется извлечь тех, кто живет в Аризоне, вместе с теми, кто живет в Техасе, человеку мы скажем: «Найди всех моих сотрудников в Аризоне и Техасе». Чтобы правильно объяснить то же самое базе данных на языке булевой алгебры, мы должны сказать: «Найди сотрудников в Аризоне ИЛИ Техасе». Ни один сотрудник не живет сразу в двух штатах, поэтому фраза


Модели представления механической и информационной эры 67

«Найди сотрудников в Аризоне И Техасе» просто не имеет смысла. В булевой системе она практически всегда вернет пустое множество в качестве ответа.

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

Модели представления механической и информационной эры

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

Представления механической эры

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

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


53 ' Глава 2. Модели реализации и ментальные модели

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

Новая технология требует новых представлений

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

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

Представления механической эры ухудшают качество взаимодействия с пользователем

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


Модели представления механической и информационной эры 69

процедуры легче выполнять вручную, чем при помощи компьютера. Скажем, печать почтового адреса на конверте при помощи компьютера требует значительно больших усилий, чем подписывание конверта авторучкой (хотя результат в первом случае может выглядеть аккуратнее). Ситуация улучшается только в случае автоматизации процесса, требующего большого числа повторов (когда требуется, допустим, подписать пятьсот конвертов).

А вот другой пример - список контактов на компьютере. Если мы выведем его на экран в виде маленькой книжечки в переплете, ею будет гораздо сложнее и на порядок менее удобно пользоваться, чем реальной записной книжкой. В реальной записной книжке, к примеру, имена хранятся в алфавитном порядке, ключом служат фамилии. И что делать, если требуется найти человека по имени? Артефакт механической эры в данном случае не поможет - придется просмотреть все страницы вручную. Точная цифровая копия этой записной книжки тоже будет бессильна - она точно так же не умеет искать по именам. Разница состоит в том, что с переносом книжки на экран компьютера вы теряете многочисленные легкие визуальные подсказки, доступные вам в бумажной книжке (загнутые уголки страниц, карандашные пометки на полях). В то же время полосы прокрутки и диалоговые окна сложнее использовать, сложнее визуализировать, сложнее понять, чем простую операцию перелистывания страниц.


принцип

проектирования


Не копируйте артефакты механической эры в пользовательских интерфейсах без учета возможностей информационной эры.


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

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


70 Глава 2. Модели реализации и ментальные модели

Совершенствуем представления механической эры: пример

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

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

Программы, содержащие визуальное представление календаря, встречаются повсеместна и почти всегда отображают месяцы по одному. Даже если программа способна показать сразу несколько месяцев, как, скажем, Outlook, дни все равно выводятся в виде последовательностей длиной в один месяц. Почему?

Бумажные календари отображали месяцы по одному из-за ограничений, связанных с размерами бумаги, а конец месяца выглядел удобной точкой разрыва. Экраны компьютеров не столь ограничены, однако большинство проектировщиков настойчиво копируют этот артефакт механической эры (рис. 2.3). На компьютере календарь запросто может быть непрерывной прокручиваемой последовательностью из дней, недель или месяцев, как показано на рис. 2.4. Запланировать что-либо на период с 28 августа по 4 сентября просто, если недели следуют одна за другой непрерывно, а не разнесены волей проектировщика по месяцам.

К тому же сетка в электронных календарях практически всегда имеет фиксированный размер ячеек. Почему нельзя изменять ширину колонок с днями или высоту строк с неделями, как в электронной таблице? Вам, вероятно, хотелось бы увеличить размер клеток выходных дней, чтобы обозначить их важность в сравнении с буднями. Если вы - деловой человек, рабочая неделя в вашем календаре потребует больше пространства, чем неделя отпуска. Эти идиомы столь же хорошо известны, как и электронные таблицы, то есть их вполне можно считать универсальными; однако представления механической эры укоренились так глубоко, что мало кому из разработчиков программ удается отойти от них.

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


Модели представления механической и информационной эры



 


 


 


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

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


принцип

Проектирования


Существенные изменения должны приносить значительные улучшения.


Выполненные в «бумажном» стиле календари в личных информационных системах (PIM - personal information manager) и планировщиках - это немое свидетельство того, в какой степени наш язык влияет на проектирование. Находясь в плену слов механической эры, мы будем создавать программы механической эры. Улучшить программы позволит мышление, соответствующее информационной эре.



Глава 2. Модели реализации и ментальные модели


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


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...