Вежливый
интерфейс, или принципы создания диалогов
Дорогой Тог,
Хочу предложить новое правило
разработки интерфейсов, которое я не нашел среди
ваших. Оно о прграммах, состязающихся за внимание
пользователя. Бесчисленное количество раз во
время набора текста (щелчков мышью, и т.д.) меня
прерывала программа, выпрыгнувшая на первый план
только для того, чтобы сообщить, что она начала
или закончила какую-то работу. Конечно, иногда я
хотел бы, чтобы меня уведомляли, но не отрывая от
моей текущей работы.
Правило можно назвать "знай свое
место" или "не прерывай пользователя". Оно
связано с тем, что вы писали о фоновом выполнении
задач, но я думаю, что его нужно сделать отдельным
правилом.
Посоветуйте, как следовать 'этому
правилу наилучшим образом? Может быть, ждать
пока я не перестану печатать и двигать мышью?
С наилучшими пожеланиями, Par
--- Par Olsson, Icon Medialab
Действительно, как верно отметил Par,
нужно знать свое место.
Ошибки, смены состояний, и все
остальные сообщения могут быть более вежливыми,
чем их делают большинство из нас. Разрабатывая
очередную программу, учитывайте следующие
принципы:
- Не прерывайте пользователя модальным
диалогом до тех пор, пока он не будет в состоянии
продолжить работу, не предприняв некоторого
действия.
- Предлагайте пользователю обратную
связь, не прерывая его.
Например, представим , что вы произвели поиск по
запросу пользователя и теперь должны сообщить о
результате. Представим, что этот поиск необходим
для заполнения одного из полей на форме
пользователя, как например адрес человека, кому
вы должны послать ее, полученный из адресной
книги. Вместо того, чтобы трубить об успешном
результате, просто заполните это поле. Если
требуется дальнейшая обратная связь, сделайте
желтую иконку, мигающую во время поиска. В случае
успешного результата смените цвет на зеленый, в
случае неудачи - на красный. Если форма
достаточно большая, пользователь может в это
время находиться в другом разделе, поэтому
поместите где-нибудь индикатор состояния для
всей формы.Индикатор статуса в форме иконки
может обозначать следующее: "где-то на этой
форме поле помечено красным. Нажмите, чтобы найти
его". Когда пользователь закончит заполнять
форму и увидит зеленый индикатор, он поймет, что
можно идти дальше.
- Используйте само-срабатывающие
диалоги
Например, диалоги печати спрашивают
пользователя, сколько копий ему нужно, и т.д.
Затем они сидят на экране в течении следующих
трех дней в ожидании ответа. Пользователь ушел на
обед, забыв, что должен появиться этот глупый
диалог, и ждет что к его приходу 500-страничный
документ будет напечатан. Попробуйте изменить
это! Предположите, что пользователю нужна одна
копия. Когда пройдет пара минут, начните
печатать. Даже если будет один шанс из милиона,
что пользователю нужны две копии, он всегда может
отпечатать еще одну, или даже сделать копию на
копировальном аппарате. В любом случае, время не
будет потеряно.
Те из вас, кто видел мой фильм
"Starfire" наверное заметил диалоговое окно,
появившееся перед Джулией, с сообщением
"Словесная команда не распознана". Через
пару секунд окно исчезает. Как оно узнало о том,
что нужно исчезнуть? Система отслеживала
движение ее глаз, и увидев, что она прочитала
сообщение, закрыла окно.
Мы еще очень далеки от этого (хотя технология уже
достигла такого уровня). Тем не менее, думайте о
своих сообщениях, как о советах ценного
помошника. Делайте их вежливыми, полезными и
прерывающими пользователя только если это
необходимо.
Вернуться
к списку статей |