Окна подтверждения бывают хорошими

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

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

Принцип «Анду» Совет Ильи Бирмана

Хорошее решение не использовать окна подтверждения вообще. А использовать принцип «Анду». Но есть один момент, не всегда техническая реализация такого принципа проста и скорее всего требует дополнительного внимания и времени. Я сам столкнулся с такими проблемами и теперь хочу рассказать, как можно сделать окно хорошим без принципа «Анду».

Вот этот не очень хороший пример я нашёл в интернете. Попробую его улучшить.

Пример из интернета

Дайте больше полезной информации в сообщении окна

Расскажите что сейчас происходит, с чем именно будет происходить действие, что будет потом, как это можно исправить. Покажите объект с которым происходит действие.

Добавляем информацию. Показываем объект с которым происходит действие

Добавляйте окно подтверждения, если это необходимо

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

Папку можно переместить обратно. Окно подтверждения тут лишнее

Не используйте общие ответы в кнопках

«Да» и «Нет» — плохие варианты для ответа. Лучше использовать более конкретные действия «Удалить папку», «Оставить, как есть». А ещё лучше минимизировать конструкцию и оставить только одно действие. Ведь «крестик» — это и есть «Оставить, как есть».

Сделали основное действие более информативным

Добавьте действие из контекста

Например, пускай будет: «Укажите причину удаления». Это поможет пользователю лишний раз подумать, стоит ли удалять папку. Причины подберите разные, смотря какая ситуация.

Добавляем дополнительное действие из контекста

Не используйте горячие клавиши

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

Вот было и стало:

Кажется, что новое окно подтверждения будет работать лучше

Помните, что принцип «Анду» почти всегда лучше окна подтверждения. Про принцип почитайте советы Бюро и книгу «Пользовательский интерфейс» Ильи Бирмана.


Чтобы не пропустить новую заметку — подпишитесь на мой канал в Телеграме или RSS.

Поделиться
Отправить
Запинить
13 марта  
6 комментариев
Tim Chebunin

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

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

Ваня Звягин

Тима, реализовать можно всё) Я про другое. Иногда это занимает много времени, а хардкодить в большой системе — плохо. Я выше написал, что принцип «Анду» — лучшее решение. А окно подтверждения — хорошая альтернатива, если «Анду» реализовать сходу сложно.

«Мне сходу не удалось придумать важное действие, которое нельзя незаметно для пользователя „отложить“ на пять минут, чтобы он успел передумать.»
— Это зависит от контекста, конечно. Иногда это не проблема, а даже полезно. Вот например есть у тебя объявление о продаже авто. Ты его удаляешь, а система у тебя спрашивает: «Тима, скажи причину: продал тачку на нашем сайте, на чужом или не продал её вообще». Система заставила тебя подумать, а есть ли причина на самом деле. Плюс аналитики счастливы, у них теперь есть статистика :) А вот Цеплин заставляет написать название проекта, перед удалением. Тоже клёвый приём.

«Мне кажется, что твоё окошко не добавило пользы для пользователя. В реальности ведь будет надпись „15 файлов будут удалены. Восстановить их будет невозможно“ и пользователь, который хочет поскорее очистить рабочий стол. Как это поможет заметить, что один файл из 15 выделился случайно и удалять его не надо?»
— Перечисли название файлов, дай человеку пробежаться ещё разок. Но если он этого не сделал, увы.

Дима Караневский

«Не используйте горячие клавиши для подтверждения действия…»
Заставляет задуматься.
Если брать в вакууме, то есть пользователи которые управляют устройством только через клавиатуру. Для них будет жест нажатия на кнопку: Tab → Enter. Поэтому важно помнить о том, где должен находиться фокус-элемент, когда окно открыто.

Ваня Звягин

Важно не дать им это сделать на автомате. Чтобы избежать случайность.

Никита

Интересный пример у гитхаба: там опасные действия выделены в отдельное место в настройках, называется «Danger Zone». А чтобы подтвердить, например, удаление репозитория, надо ввести его имя: https://my.mixtape.moe/teivak.mp4

Ваня Звягин

Да, клёвый приём. Цеплин тоже так делает при удалении проекта.

Tim Chebunin

А вот Цеплин заставляет написать название проекта, перед удалением. Тоже клёвый приём.

Tim Chebunin

Тима, скажи причину
аналитики счастливы

А позователю-то с этого какая польза? Если это его единственное объявление, то он десять раз подумает, прежде чем нажимать кнопку «Удалить». А если ему сотню за пять минут надо удалить, то эти вопросы только мешают

Цеплин заставляет написать название проекта перед удалением

Мейлчимп тоже что-то такое делал, когда я с ним работал. Но когда надо удалить сразу много, начинаешь вставлять копированием или вообще автозаполнение полей в браузере включаешь. И в итоге всё равно удаляешь лишнее.

В общем, я думаю, что анду > удаление с задержкой > полезное для пользователя окошко > удаление без окошка > бесполезное окошко :)

Doe

Забавно, какое месиво получилось из понятного и удобного диалога:

  • Кнопка отмены случайного нажатия справа — это стандартный паттерн, я буду искать её там и материться, когда не найду.
  • Заставлять выцеливать курсором маленький крестик на диалоговом окне при случайном нажатии — издевательство над пользователем.
  • Отключить закрытие этого окна нажатием по Esc (и подтверждение по Enter)  — тоже.
  • Зачем эта бессмысленная шумящая иконка в верхнем правом углу?
  • Три раза слово «Важное» на таком маленьком окне.
  • Польза пользователю от тупых вопросов «зачем ты это делаешь» — отрицательная. Если не делать этот вопрос обязательным — никто не будет отвечать, если делать — адово фрустрировать и с матом жать первое попавшееся.

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

  • ставить фокус на отмену по дефолту,
  • инвертировать ОК и отмену,
  • заставлять вбивать дополнительное подтверждение для особо опасных операций (например написать название папки)
Популярное