Уместное применение диалоговых окон
Диалоговые окна заслоняют собой главное окно приложения. Диалого' вое окно вовлекает пользователя в общение, отображая информацию и требуя от пользователя действий. Закончив просматривать или ре' дактировать представленную информацию, пользователь может сохра' нить изменения или отказаться от них. Затем окно исчезает – и пользо' ватель возвращается к главному окну приложения.
К сожалению, многие пользователи и программисты привыкли счи' тать диалоговые окна основной идиомой графического пользователь' ского интерфейса (в основном из'за того, что диалоговые окна очень легко создавать). Многие приложения используют диалоговые окна как основной метод взаимодействия с программой (здесь мы не имеем в виду простые приложения, состоящие из одного диалогового окна, ведь в таких случаях диалоговое окно просто становится основным). В большинстве приложений пользователям приходится многократно переключаться между главным окном и диалоговыми окнами, что не' избежно утомляет и раздражает их.
Уместное применение диалоговых окон567
Реализуйте основное взаимодействие в основном окне.
Когда приложение открывает диалоговое окно, оно временно прерыва' ет основной рабочий процесс, рассеивая фокус внимания пользователя ради решения второстепенных задач. Если вы попросите приглашен' ных на ужин гостей временно оторваться от супа и проследовать в кла' довку, течение беседы будет прервано, и этого определенно лучше из' бегать, если нет чертовски хорошей причины тащить их туда. Точно так же диалоговое окно нарушает гармоничное взаимодействие между пользователем и программой. Диалоговые окна, каково бы ни было их назначение, прерывают взаимодействие и заставляют пользователей реагировать на программу, а не управлять ею.
Иногда бывает полезно прервать поток пользователя и заставить его сосредоточить внимание на том или ином взаимодействии. Диалого' вые окна хорошо подходят для выполнения обособленных функций: все запутанное, опасное и редко используемое можно без проблем по' местить в отдельное окно. Это вдвойне полезно для преобразующих функций, которые вносят значительные и заметные изменения в со' стояние приложения. Такие изменения внешнего вида приложения следует отделять неким барьером от пользователей, не знакомых с ни' ми. К примеру, функция, позволяющая полностью переформатиро' вать документ, должна считаться преобразующим действием, изме' няющим внешний вид. Диалоговое окно предотвращает случайное вы' полнение этой функции, выставляя большую и дружелюбную кнопку Отмена на видное место, а также обеспечивая пространство для вывода пояснений и предупреждений, связанных с применением опасных элементов управления. Диалоговое окно способно наглядно показать пользователю потенциальные эффекты выполнения функции посред' ством специальной миниатюры, демонстрирующей результат (и, разу' меется, для подобных преобразований следует предоставлять надеж' ную функцию отмены действия).
Применение диалоговых окон оправдано для функций, не входящих в основной поток взаимодействия.
Диалоговые окна хорошо подходят также для представления нечасто применяемых функций и настроек. Они изолируют подобные опера' ции от других, необходимость в которых возникает чаще. Диалоговое окно обычно обеспечивает более широкий простор для элементов управления, чем другие варианты. В частности, здесь больше про' странства для поясняющего текста, чем на панели инструментов.
Диалоговые окна хороши также для сведения воедино информации по одной теме, к примеру, свойств объекта предметной области – счета
или клиента. Они способны собирать информацию, связанную с опре' деленной функцией, выполняемой программой, например с печатью отчетов. Очевидно, что пользователям удобно, когда вся информация и элементы управления, относящиеся к определенному предмету, со' браны в одном месте, – им не приходится искать нужную информацию по всему интерфейсу, и это приводит к сокращению налогов, связан' ных с навигацией.
Диалоговые окна подходят для объединения элементов управления и информации, связанных с одним объектом предметной области или с одной функцией приложения.
Как и меню, диалоговые окна могут становиться хорошим средством изучения команд для новых пользователей. Поскольку диалоговые окна можно делать более многословными и структурированными, они способны служить альтернативным обучающим вариантом доступа к функциям, напрямую доступным в основном окне приложения че' рез непосредственное манипулирование. Пример такого подхода мож' но найти в Microsoft Word. Пользователь, хорошо знакомый с идиома' ми этого приложения, умеет определять отступы, манипулируя не' большими бегунками на линейке документа. Эту идиому не так уж легко обнаружить, поэтому проектировщики Microsoft предусмотрели еще и команду Табуляция в меню Формат. Открывающееся по этой коман' де диалоговое окно предоставляет пользователям больше информации (однако следует отметить, что оно, к сожалению, не обучает пользова' телей применять идиому линейки).
Диалоговые окна служат двум хозяевам – постоянным пользователям, которые знакомы с программой и посредством таких окон получают доступ к более сложным и более опасным возможностям, и эпизодиче' ским пользователям, которые не знакомы с возможностями и способа' ми применения программы и используют диалоговые окна для изуче' ния основ. Двойственная природа диалоговых окон означает, что они должны быть компактными и мощными, быстрыми и простыми и при' том понятными и очевидными. Может показаться, что эти две цели вступают в противоречие, однако в действительности они способны до' полнять друг друга. Скорость работы и мощные функции диалогового окна могут работать и на очевидность.