Development

Предотвращайте ошибки

(В оригинале – Prevent Errors)

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

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

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

Ошибки форматирования – еще одна общая проблема. Например, если пользователю предоставлено текстовое поле для ввода даты, и он вводит туда «29 июля 2012 года», то не очень хорошо не принимать этот ввод только потому, что он не в формате «дд\мм\гггг». А еще хуже отвергать «29 \ 03 \ 2012» из-за лишних пробелов – пользователю будет сложно понять, в чем причина, ведь дата вводится в запрашиваемом формате.

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

Еще один способ избежать ошибок форматирования – подсказать пользователю, чего от него ждут. Например, указав ожидаемый формат «дд\мм\гггг». Еще одной подсказкой может быть разделение поля ввода на три отдельных поля длиной в два, два и четыре символа.

Подсказки отличаются от инструкций. Подсказки появляются в момент взаимодействия, инструкции – перед ним. Подсказки предоставляют контекст, инструкции диктуют поведение.

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

Еще один способ предотвращения ошибок – это предложить вариант по умолчанию. Например, пользователь чаще всего вводит даты «сегодня», «завтра», «день рождения», «дедлайн» или дату, вводимую в эту форму в прошлый раз. В зависимости от контекста можно с высокой вероятностью выбрать правильный вариант по умолчанию.

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

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

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

Автор оригинала – Giles Colborne