
- •Isbn 978- 0-470-08411-3 (англ)
- •19. Указание, выделение, непосредственное
- •Глава 1. Проектирование, ориентированное на цели
- •Глава 1. Проектирование, ориентированное на цели
- •64 Глава 2. Модели реализации и ментальные модели
- •Глава 2. Модели реализации и ментальные модели
- •Глава 3. Новички,эксперты и середняки
- •Глава 5. Модели пользователей: персонажи и цели
- •Глава 5. Модели пользователей: персонажи и цели
- •Глава 5. Модели пользователей: персонажи и цели
- •Глава 5. Модели пользователей: персонажи и цели
- •Глава 5. Модели пользователей: персонажи и цели
- •Глава 5. Модели пользователей: персонажи и цели
- •168 Глава 7. От требований к пользовательскому интерфейсу
- •Глава 7. От требований к пользовательскому интерфейсу
- •Глава 7. От требований к пользовательскому интерфейсу
- •Глава 7. От требований к пользовательскому интерфейсу
- •Глава 7. От требований к пользовательскому интерфейсу
- •Глава 9. Техническая платформа и тип интерфейса
- •Глава 9. Техническая платформа и тип интерфейса
- •2 26 Глава 9. Техническая платформа и тип интерфейса
- •Глава 9. Техническая платформа и тип интерфейса
- •Глава 9. Техническая платформа и тип интерфейса
- •Глава 9. Техническая платформа и тип интерфейса
- •240 Глава 9. Техническая платформа и тип интерфейса
- •Глава 9. Техническая платформа и тип интерфейса
- •Глава 10. Оркестровка и состояние потока
- •246 Глава 10. Оркестровка и состояние потока
- •Глава 10. Оркестровка и состояние потока
- •Глава 11. Оптимизация налогообложения
- •Глава 11. Оптимизация налогообложения
- •Глава 11. Оптимизация налогообложения
- •Глава 11. Оптимизация налогообложения
- •Глава 11. Оптимизация налогообложения
- •Глава 12. Проектирование хорошего поведения
- •302 Глава 12. Проектирование хорошего поведения
- •Глава 12. Проектирование хорошего поведения
- •Глава 12. Проектирование хорошего поведения
- •318 Глава 13. Метафоры, идиомы, ожидаемое назначение
- •Глава 13. Метафоры, идиомы, ожидаемое назначение
- •330 Глава 13. Метафоры, идиомы, ожидаемое назначение
- •Глава 13. Метафоры, идиомы, ожидаемое назначение
- •Глава 14. Визуальный дизайн интерфейсов
- •346 Глава 14. Визуальный дизайн интерфейсов
- •Глава 14. Визуальный дизайн интерфейсов
- •360 Глава 14. Визуальный дизайн интерфейсов
- •Глава 14. Визуальный дизайн интерфейсов
- •Глава 14. Визуальный дизайн интерфейсов
Глава 11. Оптимизация налогообложения
С ообщения об ошибках, уведомления и запросы на подтверждение операций
Пожалуй, самой распространенной формой налогов являются сообщения об ошибках и диалоговые окна с требованием подтвердить операцию. Они вездесущи до такой степени, что их искоренение требует большого труда. В главе 25 мы подробно обсудим этот вопрос, а пока достаточно сказать, что эти элементы серьезно обременяют пользователя, и вы должны исключать их из своих приложений, где только возможно. Типичное диалоговое окно с сообщением об ошибке является абсолютно необязательным. Оно либо сообщает пользователю информацию, до которой ему нет дела, либо требует, чтобы он исправил ситуацию, которую программа обычно может и должна исправить самостоятельно. На рис. 11.2 показано сообщение об ошибке, выводимое приложением Adobe Illustrator 6, когда пользователь пытается сохранить документ. Не совсем понятно, что пытается сказать приложение, но звучит устрашающе.
При сохранении документа "test.ai" возникла следующая проблема.
Р
ис.
11.2. Отвратительное и бесполезное
сообщение об ошибке, прерывающее работу
из-за ерунды. Невозможно ни понять, ни
проверить то, о чем оно сообщает,
и не остается ничего, кроме как признать
вину нажатием на кнопку ОК.
Это
сообщение всплывает только при сохранении
документа приложением,
то есть именно тогда, когда вы доверили
программе сделать что-то очень простое
и бесхитростное. Это приложение без
помощи пользователя не может
даже сохранить файл, но не сообщает,
какая именно помощь требуется
Это сообщение прерывает и растягивает и без того длительную и непри-ятную процедуру. Пользователь не может позволить себе выпить чашечку кофе после того, как выдаст программе команду сохранить результат своего труда, потому что, вернувшись к компьютеру, рискует обнаружить, что операция не завершена, а программа бездумно приостановила процесс. В главе 25 мы покажем, как избегать подобных сообщений.
А вот еще один вариант раздражающего поведения - на этот раз от Microsoft Outlook.
Прекращение работы
273
Рис. 11.3. Еще один ужасный запрос на подтверждение, прекращающий работу из-за ерунды. Если приложение достаточно разумно, чтобы понять разницу, почему оно не может самостоятельно исправить проблему? Предлагаемые варианты действий пугают. Диалоговое окно сообщает, что можно взорвать одну из двух коробок. В одной мусор, а в другой ваша собака - только приложение не сообщает, что где. А если нажать кнопку Cancel (Отмена), что это будет означать? Вдруг приложение все же решит взорвать вашу собаку?
Это диалоговое окно предлагает нам решиться на необратимое и, возможно, дорогостоящее действие, не располагая при этом никакой информацией! Если оно появляется после того, как вы изменили какие-то правила, разве не разумно предположить, что вы хотите придерживаться новых правил? А если предполагается, что вы не хотите этого, то почему бы не сообщить вам дополнительную информацию о том, какие именно правила конфликтуют и какие были приняты последними? Не понимая, что происходит, пользователь щелкнет по кнопке Cancel... Он отменяет диалоговое окно и оставляет конфликт правил неразрешенным? Он отменяет последние изменения, которые привели к конфликту? Этот плохо продуманный интерфейс вызывает у пользователя страх и ощущение неопределенности, что абсолютно не нужно. В главе 24 мы обсудим, как улучшить ситуацию.
Пользователи, просящие разрешение
Во времена интерфейсов командной строки и текстовых меню интерфейсы часто выполняли команды пользователя не напрямую. Если пользователь хотел, например, изменить свой адрес, ему вначале приходилось просить на это разрешение. Программа выводила экран, где можно было изменить адрес. Такой подход - «наглый» налог на использование программы. К сожалению, сегодня ситуация не улучшилась: чтобы изменить один из своих сохраненных адресов на Amazon.com, нужно щелкнуть по кнопке и отправиться на отдельную страницу. Если нужно изменить отображаемое значение, должна быть возможность изменить его здесь и сейчас. Не следует заставлять пользователя просить разрешение или вести его в другую комнату.
П
РИНЦИП
проектирования
Не заставляйте пользователей просить разрешения.
274 Глава 11. Оптимизация налогообложения
П одобно ситуации из последнего примера многие приложения отделяют отображение значений (таких как имена файлов, числа и выбранные режимы) от редактирования этих значений. Это модель реализации, в которой ввод и вывод считаются различными процессами. Но в ментальной модели пользователей это различие отсутствует. Человек думает: «Вот число. Я щелкну по нему и наберу новое значение». Если приложению нечего ответить на такое желание пользователя, это означает, что интерфейс содержит налог. Если настройки могут изменяться пользователем, он должен иметь возможность изменить их там же, где они отображаются приложением.
принцип
Разрешайте
ввод
везде,
где
имеется
вывод.
проектирования
Д ействие, противоположное обращению за разрешением, может оказаться актуальным в определенных обстоятельствах. Пользователь не просит у программы разрешения на открытие диалогового окна, а, наоборот, сообщает ей, что некоторое диалоговое окно следует закрыть и больше никогда не открывать. Так он сможет избавить себя от домогательств со стороны бесполезного диалогового окна, которое программа ошибочно считает полезным. Компания Microsoft в последнее время активно пользуется этой идиомой. (Если новичок нечаянно откажется от диалогового окна и будет не в состоянии вернуть его, он сможет прибегнуть к другой идиоме - пункту меню Справка, где сказано что-то вроде «Вернуть назад все окна, от которых пользователь отказался».)
Распространенные налоговые ловушки
Вы должны неусыпно следить за появлением малейших признаков дополнительных налогов в интерфейсе и изничтожать их на корню. Мириады мелких необязательных операций заставляют пользователя выполнять гигантский объем лишней работы. Следующий список поможет вам выявлять налоги:
Не заставляйте пользователя переходить к другому окну ради вы полнения операции, влияющей на текущее окно.
Не заставляйте пользователя вспоминать, где в файловой иерархии расположены его файлы.
Не заставляйте пользователя изменять размер окна без необходи мости. Когда на экране появляется дочернее окно, программа должна установить его размер в соответствии с его содержимым. Не создавайте ни большое пустое окно, ни маленькое и требующее про крутки.
Не заставляйте пользователя передвигать окна. Если на рабочем столе есть свободное место, открывайте окно программы там, а не поверх других окон.
Навигация как налог 275
Н е заставляйте пользователя заново вводить предпочтения. Если он установил шрифт, цвет, отступ или громкость, сделайте так, чтобы ему не пришлось повторно выполнять настройку, пока он сам не захочет.
Не заставляйте пользователя вводить данные во все поля в соответст вии с неким произвольным критерием полноты. Если пользователь хочет опустить какие-то детали при вводе данных в форму, не вы нуждайте его вводить их. Исходите из предположения, что у поль зователя есть веские причины скрывать информацию. Полнота ба зы данных (в большинстве случаев) не стоит того, чтобы нервиро вать пользователя.
Не заставляйте пользователя просить разрешения. Как правило, это признак того, что ввод и вывод отделены друг от друга.
Не просите пользователя подтверждать свои действия (это правило подразумевает наличие развитой функции отмены).
Не позволяйте действиям пользователя приводить к ошибке.
Навигация как налог
Самый важный факт, который следует уяснить в отношении навигации, заключается в том, что навигация в основном является налогом. За исключением компьютерных игр, где успешное ориентирование в лабиринте препятствий является целью, навигация в программном продукте или на веб-сайте редко отвечает потребностям, целям и желаниям пользователя. (Хотя следует особо отметить ситуацию, когда качественно спроектированная навигация может быть эффективным способом рассказать пользователям о возможностях продукта, что определенно лучше соответствует их целям.)
Необязательная или затрудненная навигация становится серьезным источником раздражения для пользователей. Авторы этих строк считают, что плохо спроектированная навигация представляет собой проблему номер один при разработке любого интерактивного продукта -будь то приложение для работы на настольном компьютере, веб-приложение или что-то иное. Навигация - та составляющая программы, где лучше всего видна модель реализации, использованная программистом. Навигация в программах происходит на нескольких уровнях:
между различными окнами, представлениями или страницами;
между панелями или фреймами внутри окна, представления или страницы;
между инструментами, командами или меню;
по информации, отображаемой внутри панели или фрейма (про крутка, панорамирование, масштабирование, переход по ссылкам).
276 Глава 11. Оптимизация налогообложения
У
читателя может возникнуть недоумение
по поводу некоторых пунктов этого
списка. Мы сознательно придерживаемся
расширенного определения
навигации как любого
действия, которое переносит пользователя
в новую область интерфейса или требует
от него поиска объектов,
инструментов либо данных. Причина
этого проста: эти действия требуют,
чтобы люди понимали, где находятся в
рамках интерактивной
системы и как найти и активировать
нужную функцию. Когда мы задумываемся
об этих действиях как о навигации,
становится ясно, что
они являются налогом и, следовательно,
должны быть исключены или
минимизированы. Обсудим каждый из этих
типов навигации более
подробно.
Навигация между экранами, представлениями или страницами
Навигация между несколькими представлениями внутри приложения или веб-страницами является, пожалуй, самым дезориентирующим видом навигации. Навигация между окнами требует переключения внимания, разрушает состояние потока, в котором находится пользователь, и принуждает его перейти в новый контекст. Действие перехода к новому окну нередко приводит к тому, что содержимое исходного окна частично или полностью перекрывается. Пользователю приходится, как минимум, беспокоиться об управлении окнами, а это налог, еще больше разрушающий состояние потока. Если пользователям приходится постоянно переходить от одного окна к другому, продуктивность их работы падает, а степень дезориентации и раздражения повышается. Они отвлекаются от текущих задач. Когда количество окон достигает некоторого предела, пользователь становится настолько дезориентированным, что ему грозит навигационная травма: он чувствует себя заблудившимся внутри интерфейса. В монопольных приложениях возникновения этой проблемы можно избежать, поместив основные взаимодействия в одно главное представление, содержащее несколько независимых панелей.
Навигация между панелями
Окно может содержать некоторое количество панелей, соприкасающихся и разграниченных разделителями (см. главы 19 и 20) либо наложенных друг на друга и обозначенных вкладками. Смежные панели могут решить многие навигационные проблемы, поскольку содержат полезные вспомогательные функции, ссылки или данные, имеющие непосредственное отношение к основной рабочей области, что сводит навигацию практически к нулю. Если объекты могут быть перенесены с одной панели на другую, эти панели должны быть расположены по соседству.
Проблемы возникают, когда смежных панелей становится слишком много или когда их расположение на экране не соответствует логиче-
Навигация как налог
277
с кой последовательности работы пользователя. Большое количество смежных панелей приводит к визуальной засоренности интерфейса и путанице. Пользователь не знает, где искать необходимое. Кроме того, переполнение окна панелями вызывает необходимость в прокрутке - а это еще одна навигационная проблема. Тем самым затрудняется навигация в пределах одного окна. Некоторые веб-порталы, пытаясь угодить всем и каждому, создают подобные проблемы.
В ряде случаях, в зависимости от решаемых пользователем задач, уместны панели, организованные в виде вкладок. Такая организация создает определенную дополнительную нагрузку и способна дезориентировать пользователя, потому что вкладка, на которую он перешел, закрывает предыдущую. Впрочем, эта идиома уместна в рабочей области, где пользователь имеет дело с несколькими документами или разными внешними представлениями одного документа (как, например, в Microsoft Excel, рис. 11.4).
Р
ис.
11.4. Microsoft
Excel применяет
панели внутри вкладок (ярлычки которых
видны слева внизу экрана), чтобы дать
возможность пользователю
переключаться между электронными
таблицами. В Excel
применяются
также разделители, так что пользователь
может видеть различные
части одного документа без постоянной
прокрутки туда-обратно.
Обе эти идиомы снижают для пользователей
Excel
дополнительные
навигационные налоги
278