Не используйте предупреждения, если есть возможность отменить действие

Попадали ли вы в ситуацию, когда через секунду после того, как вы нажали «Да» в каком-нибудь окошке, вы понимали, что нужно было нажать «Нет». Да? Ну, тогда вы в хорошей компании – каждый хоть раз бывал в такой ситуации. На самом деле, это не ваша вина – это вина программного обеспечения. Почему? Да потому, что программы должны знать, что у нас есть привычки.

  Далее ›
 
Не используйте предупреждения, если есть возможность отменить действие
 
 

В чём заключалась проблема

Не используйте предупреждения, если есть возможность отменить действие

Программы должны знать, что после того, как человек десять раз подряд нажмет «Да», он, скорее всего, нажмет его и в одиннадцатый. Даже если и не собирался этого делать. Почему программы должны знать эти вещи? Потому что разработчики программного обеспечения должны знать, что у людей развиваются привычки, хотят они того или нет. Привычки иногда могут быть полезными: например, когда мы сталкиваемся с банальными интерфейсами, которые можно проходить на автомате.

 

Когда в очередной раз появляется диалог «Вы действительно хотите выйти?» ваши руки сами движутся от кнопки закрытия окна к кнопке «Да» в этом диалоге. И это хорошо, потому что мы хотели бы больше времени тратить на выполнение действий, чем на размышления над подобными вопросами. К сожалению, наши привычки также заставляют нас ошибаться: довольно часто мы осознаем, что ошиблись уже после того, как совершили действие. Итак, мы приходим к одному из основных принципов дизайна интерфейсов: хороший интерфейс должен учитывать привычки пользователей.

Вопрос на 3 миллиарда

Amazon позволяет делать лучшими как положительные, так и отрицательные отзывы и благодаря этому и те и другие легко находить.
Далее...

Удобные формы с помощью jQuery

Иногда легко определить, что пользователь вводит неправильные данные. В адресе электронной почты не может быть русских символов.
Далее...

Почему дизайнеры терпят неудачи

На прошлой неделе я анонсировал исследование вопроса о том, почему дизайнеры ошибаются...
Далее...

 

Возможные решения

Возможные решения

Как насчет того, чтобы сделать предупреждения, которые трудно игнорировать? Если на обычные сообщения пользователь не обращает внимания, то давайте мигать экраном и издавать громкие звуки, чтобы пользователь уделял нашим предупреждениям должное внимание. Можно попробовать, но это не будет работать. Чем больше в интерфейсе будет предупреждений, тем сильнее будет желание пользователя побыстрее проскочить его (нажав ОК) и, соответственно, совершаться больше ошибок. На самом деле, выводя предупреждение, мы не защищаем пользователя от ошибки – он может элементарно нажать не на ту кнопку.

 

Как насчет того, чтобы сделать предупреждения, которые нельзя игнорировать? Если у пользователя развивается привычка не читать сообщения и нажимать все время ОК, то почему нельзя сделать интерфейс таким образом, чтобы эта привычка не появлялась? Например, пусть пользователь будет вынужден остановиться и подумать перед ответом на следующий вопрос. И это будет решение проблемы, правда? Такой подход – введите-некоторое-слово-чтобы-пойти-дальше – не новый. Например, в игре Guild Wars для удаления персонажа нужно сначала нажать «Удалить», а потом ввести имя персонажа в качестве подтверждения. К сожалению, он не всегда работает.

В частности:

В Guild Wars удаление персонажа довольно редкое действие. Однако, если вам придется набирать имя документа каждый раз, когда вы просто захотите выйти без сохранения, то раздражаться вы будете намного больше. Каковы же выводы? Интерфейсы, которые не учитывают привычки, плохи. Подход делать предупреждения больше или громче, делать так, чтобы их нельзя было игнорировать, не работает. А если не обращать внимания на предупреждения, то легко попасть в сложное положение. Так давайте вообще избавимся от предупреждений.

Отмена в помощь

Просто исключив предупреждения из программы, мы не сделаем работу безопасной. Вместо предупреждений нужно добавить функцию «Отмена». Позвольте мне повториться: то, чего нельзя добиться предупреждениями, можно добиться отменой. Имея функцию отмены, мы можем работать с преступной беспечностью и быть уверенными, что когда придет время сказать «Упс!», мы сможем вернуть все назад. Поскольку мы работам на основе своих привычек, мы не можем быть уверены, что нам не придется говорить «Упс!». Вместо этого, дизайнеры должны признать, что такая ситуация возможна, и подготовиться к ней.

Отсюда следует одно из самых важных правил дизайна интерфейсов: не используйте предупреждения, если есть возможность отменить действие. Яркий пример использования этого правила – Google Mail. Как только вы удалили письмо, сражу же становится доступной возможность отменить это действие. Довольно гуманно! Когда мы допустим ошибку (случайно удалим не то письмо), не произойдет ничего страшного – мы просто отменим это действие. С функцией отмены меньше времени тратится на чтение предупреждений, и больше на совершение действий.

Разумеется, это только первый уровень. Удаленные письма отправляются в корзину, откуда их можно будет восстановить, если позднее вы решите, что все же не стоило удалять это письмо. Увы, Google Calendar этого еще не умеет. Я могу удалить события, которые вовсе не хотел удалять. И, что особенно плохо, если я промахнусь, то никак не смогу узнать, что же я удалил. И отменить нельзя.

На самом деле, Google Mail еще не до конца избавились от предупреждений. Например, предупреждение выскакивает при попытке удалить метку. Почему так получилось, что Google правильно делает в одном месте и так ошибается в другом? Наверно, потому что предупреждения так крепко укоренились, что нужны огромные усилия, чтобы вырваться из их объятий. Даже компании, считающиеся бастионами хорошего дизайна, например, 37Signals, совершают такие ошибки. Использование предупреждений вместо отмены – путь наименьшего сопротивления для программиста и отсутствие необходимости что-то придумывать для дизайнера. Но это не оправдание для компьютеров.

Заключение

Предупреждения заставляют нас терять результаты работы, не доверять компьютерам и винить самих себя. Для решения этой проблемы есть простое правило: не используйте предупреждения, если действие можно отменить. И если пользователь ошибется, он всегда сможет вернуться назад. В следующий раз, когда вы увидите предупреждение вместо отмены, отправьте письмо дизайнерам сайта (или программы), чтобы они добавили функцию отмены. Отправьте им ссылку на эту статью. Давайте объявим войну предупреждениям.