Яркий пример того, как раздражает такой подход — процесс создания нового пароля. Сколько раз в своей жизни каждый человек сталкивался с ситуацией, когда после долгого размышления и набора пароля, получал сообщение о том, что он слишком короткий или там не хватает каких-то специальных символов и т.п.
То же самое с вводом телефонных номеров или дат, когда пользователю сообщают нужный формат, когда он уже вбил данные так, что их поймет кто угодно в мире, но не так, как хочется машине (или, если точнее, ее создателю, который хотел избежать лишней работы).
Итак, мы все согласны, что сообщения об ошибках — зло. Установив это, перейдем к практическому вопросу: а как от них избавиться?
Варианты есть:
1. Исключить возможность «ошибки», используя специальные элементы управления, не допускающие ввод неправильных данных.
Например, для числового значения с определенным минимумом и максимумом вместо обычного поля ввода можно использовать слайдер. Вместо поля ввода даты — наглядный календарь. Однако, это палка о двух концах. Может пострадать скорость работы пользователя: вместо того, чтобы быстро настучать всё с клавиатуры, приходится много двигать мышкой.
2. Расширить возможности интерпретации введенных данных. Многие «ошибки» не так уж сложно предугадать. Например, если дробные числа введены с неправильным разделителем (точка вместо запятой, или наоборот), это можно понять и простить. Дата может быть представлена по-разному: «15 мая», «15.05.2014», «ближайший четверг», или «завтра» — ошибочным не является ни один из этих вариантов, хотя компьютерные интерфейсы редко допускают такую гибкость. А зря.
3. Наконец, что же делать, если всё таки «ошибка» налицо? Я намеренно пишу «ошибка» в кавычках, потому что Дон Норман абсолютно прав в том, что такие случаи нельзя считать ошибкой пользователя. Но программистам удобнее называть это ошибкой, пусть так. Но это не повод глушить пользователя модальными сообщениями. Можно и нужно попробовать достучаться до его внимания менее грубыми способами.
довольно интересно, если вы уже сталкивались с подобными проблемами...