Центр Практичных Программ

Окна диалогов с закладками

Окна диалогов с закладками: семантические минные поля

Окна диалогов с закладками можно встретить повсюду - от Windows95 до OS/2 Warp. Кажется, что они стали стандартом "де-факто" для представления настроек пользователю. Раз они так популярны, должно быть они легки в обучении и работе?  Не все так просто. Наши наблюдения за окнами диалогов с закладками показывают, что они, возможно, создают больше проблем, чем решают. И вот почему.

Они нравятся разработчикам, но не пользователям

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

Окна диалогов с закладками создаются исходя их следующих предположений:

Все это хорошо в теории. На практике же получается, что старые проблемы заменяются на новые. В большинстве случаев проблемы практичности заключаются в следующем: пользователи теряются и не могут понять почему...

Когда срабатывают изменения?

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

Поведение пользователей показывает, что они ожидают, что изменения вступят в силу когда они переключаются с одной закладки на другую (хотя на самом деле они срабатывают после нажатия на Ok). Например, мы видели как пользователи электронной таблицы (привыкшие работать с Excel 4) открывают диалоговое окно "Формат ячейки" в Excel 5 и меняют настройки на разных страницах. Затем они переходят на другую закладку, на которой нет нужных им настроек,   нажимают на кнопку Отмена, и с удивлением и смятением видят, что ничего не изменилось.

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

Закладки отвлекают пользователя от работы

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

Нечеткая ментальная модель

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

Нечеткая ментальная модель приводит к двум последствиям: либо пользователь строит недостающие правила сам, либо перестает работать с этими функциями, потому что ментальная модель показывает, что они ненадежны.

Не-модальные диалоги: по-другому, но не лучше

Окно InfoBox  в программе Lotus Approach   показанное ниже избегает проблемым "когда-срабатывают-изменения". Это окно не имеет кнопок OK или Отмена  - как только пользователь что-то меняет, это сразу же отражается на выделенном объекте. Набор закладок зависит от текущего выделенного объекта. Но здесь возникает другая проблема.

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

Некоторые пользователи так и не поняли, почему набор закладок меняется, даже после нескольких объяснений. Они говорили, что это окно ведет себя непредсказуемо.

InfoBox with "when do changes happen" problem

Потенциальное решение

Windows 95 pасполагает  кнопки OK и Отмена в визуально другой области, чтобы показать, что кнопки воздействуют на все закладки. Риск: это различие довольно слабое. Мы еще не опробовали это решение на пользователях.

Windows '95 tabbed dialog

В итоге

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

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

Вернуться к списку статей


Оригинал находится на http://world.std.com/~uieweb/tabbed.htm