Интерфейсы, спроектированные инженерами, следуют модели реализации
Пользовательские интерфейсы и схемы взаимодействия, спроектиро' ванные инженерами (которые досконально знают принципы работы программы), имеют модель представления, очень точно следующую модели реализации. С точки зрения инженера такая модель логична, достоверна и точна; к сожалению, она малопонятна и неэффективна для пользователя. Большинству пользователей не особенно интересно, как именно реализована функциональность программы.
Хороший пример пользовательского интерфейса, соответствующего модели реализации, – обычный компонентный домашний кинотеатр: пользователю необходимо знать, как соединены внутренние компо' ненты, чтобы перейти, скажем, от проигрывания DVD к просмотру ка' нала кабельного телевидения. В большинстве систем пользователю приходится переключать источники видео, а иногда даже менять ис'
Большинство программных продуктов следуют модели реализации65
пользуемые пульты, чтобы просто получить доступ к функциям про' смотра телепередачи. В более современных продуктах встречается альтернативный подход, в большей степени ориентированный на мен' тальные модели пользователей: система следит за конфигурационны' ми настройками на пульте. Пользователю достаточно нажать кнопку
«Смотреть ТВ» – и пульт отправляет нужные команды телевизору, тю' неру, DVD'проигрывателю и музыкальному центру, избавляя пользо' вателя от необходимости знать о происходящем за кулисами.
Даже интерфейс Windows временами соскальзывает к модели реали' зации. Если перетащить мышью файл из одной папки в другую в пре' делах одного жесткого диска1, система интерпретирует это как коман' ду «Переместить», то есть файл удаляется из первой папки и попадает во вторую, что хорошо соответствует ментальной модели. Однако пере' таскивание файла с диска C на диск D будет воспринято как команда
«Копировать», то есть файл будет добавлен во вторую папку, но не бу' дет удален из первой. Истоки этого поведения находятся в модели реа' лизации – в том, каким образом работает файловая система. При пере' мещении файла из одной папки в другую в пределах одного диска опе' рационная система всего лишь переносит запись имени файла в табли' це размещения файлов. Стирания и повторной записи файла при этом не происходит. Однако перенос файла на другой диск требует физиче' ского копирования данных на целевой диск. Чтобы соответствовать ментальной модели пользователя, система должна после копирования удалить оригинал, хотя это и противоречит модели реализации.
Такая непоследовательность поведения компьютера при выполнении двух, казалось бы, похожих действий способна порождать у пользова' телей значительный когнитивный диссонанс (путаницу, возникаю' щую в результате столкновения двух противоречащих друг другу кар' тин реальности), что, в свою очередь, затрудняет освоение этого про' стого взаимодействия. Чтобы добиться желаемого результата, пользо' ватель должен понимать, что поведение компьютера зависит от физической природы конкретных видов устройств хранения данных.
При определенных условиях трактовка перетаскивания файла с диска на диск как команды «Копировать» может быть желательным поведе' нием системы, особенно при копировании файлов с жесткого диска на сменные носители вроде USB'накопителей типа flash, поэтому многие люди не осознают, что это лишь побочный эффект модели реализации. Однако по мере развития компьютерной техники логические тома пе' рестают представлять собой только физические диски, и этот побоч' ный эффект все реже оказывается полезным, а напротив, начинает раздражать, поскольку нам приходится держать в голове особенности поведения каждого вида накопителей.
1 Более точно – в пределах одного логического раздела жесткого диска. –
Примеч. ред.