Вы когда-нибудь испытывали неприятные чувства, осознав через долю секунды, что не должны были отвечать «OK» на вопрос «Вы уверены, что хотите выйти из программы».

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

Почему? Потому что разработчики должны знать о привычках пользователей и понимать, что бесконечное количество раз отвечая «OK» на различные вопросы, мы привыкаем делать это, не задумываясь, а результатом может стать потеря нескольких часов работы.

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

Привычки очень полезны, они помогают нам быстро и без лишних размышлений реагировать на действия программ, уменьшают вероятность того, что вы забудете то, что изучали. В случае с вопросом: «Вы уверены, что хотите выйти из программы», привычки объединяют нажатие на кнопку «Закрыть» и «OK» в одно действие. Это хорошо, потому что в большинстве случаев мы уверены, что все делаем правильно и не хотим думать о вопросе. К несчастью, привычки иногда подводят нас, и мы понимаем, что ошиблись только тогда, когда ничего нельзя исправить.

Как дизайнеры мы должны сделать очень важный вывод, и, по сути, главное правило разработки интерфейсов: Хороший интерфейс должен учитывать привычки пользователей.

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

А что если сделать предупреждение трудно игнорируемым? Если ненавязчивые предупреждения недостаточно эффективны, давайте остановим программу, поморгаем экраном и подадим громкий и протяжный сигнал, чтобы наверняка обратить внимание пользователя. Можете попробовать, это тоже не работает, чем более навязчиво предупреждение, тем быстрее его закрывает раздраженный пользователь (кликом на кнопку «OK»), и тем больше ошибок будет допущено.

Тогда может быть сделать так, чтобы предупреждение нельзя было проигнорировать? Если привычки пользователей создают проблемы, давайте сделаем интерфейс так, чтобы нельзя было выработать привычку, тогда пользователю придется остановиться и подумать, прежде чем ответить на вопрос, что гарантирует сознательность ответа.

Мысль не новая, в духе, «Введите n-ное слово этого предложения, чтобы продолжить». В игре Guild Wars, например, при удалении персонажа нужно не просто нажать «OK», а ввести его имя. К несчастью это не всегда работает:

  1. Из-за необходимости думать над непривычными задачами, скорее всего решения станут обдуманными, и мы перестанем терять несохраненные документы (преодолеем первый по тяжести грех программного обеспечения).
  2. Это быстро начнет раздражать, потому что требует внимания и отвлекает от работы (получим второй по тяжести грех программного обеспечения).
  3. Это очень медленно и более трудоемко, чем стандартный подход (третий по тяжести грех программного обеспечения — требовать больше работы, чем необходимо).

Удаление персонажа в Guild War очень редкая задача, поэтому пункты 2 и 3 для нее не актуальны, но требовать ввести имя документа, чтобы выйти из программы, не сохраняя его, будет слишком обременительно.

Так что же мы решили? Хороший интерфейс должен учитывать привычки пользователей. Делая предупреждения большими, громкими и усложняя их игнорирование, едва ли можно добиться положительного результата, это только ухудшает положение. Может быть, стоит совсем убрать предупреждения?

Отмена действий, путь к решению проблемы

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

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

Это приводит нас к еще одному важному выводу: Никогда не используйте предупреждения, если есть возможность отмены действия.

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

Отмена действия в Gmail: This conversation has been moved to the trash. Undo link.

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

По неизвестным причинам Google Calendar не усвоил этот полезный урок, событие легко удалить по ошибке, а на предупреждение ответить по привычке, использование отмены действия в этом случае было бы очень удобным решением.

Предупреждение в Google calendar: Вы уверены, что хотите удалить 'Dinner with Asa Jasa'?

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

Предупреждение: Вы уверены что хотите удалить эту задачу?

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

Заключение

Предупреждения — это одна из причин потери документов, недоверия к компьютеру и самообвинений. Есть простой и надежный метод решения этих проблем — используйте отмену действий, вместо предупреждений.

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

Сделаем веб удобнее, объявим войну предупреждениям!

Translated with the permission of A List Apart Magazine and the author[s].