В своём выступлении на ВДЮ2009 я, среди прочего, говорил о том, что с эвристиками Нильсена лучше дела не иметь. Тогда у меня не было времени сделать одно очень важное уточнение, поэтому делаю его только сейчас (лучше поздно, чем никогда):
Эвристики Якоба Нильсена исключительно хороши и глубоки.
Вот список его эвристик в моём (корявом) переводе:
Интерфейс защищает пользователя от совершения ошибок • Совпадение поведения/объектов с внекомпьютерным окружением: единые термины, концепции, конвенции • Читаемость/заметность текущего состояния системы • Совместимость со стандартами и единообразие • Эстетика и лапидарность дизайна и подачи важных для пользователя сведений • Интерфейс помогает пользователю опознать совершенные им ошибки и исправить их • Справка: быстрая, краткая, продуктивная • Отсутствие необходимости вспоминать • Свобода совершения ошибок пользователем • Дополнительная гибкость для опытных/профессиональных пользователей.
Не заметили ничего примечательного? Я вот замечаю — из десяти эвристик посвящены отработке ошибок целых три (на первый взгляд, непропорционально много):
Интерфейс защищает пользователя от совершения ошибок • Интерфейс помогает пользователю опознать совершенные им ошибки и исправить их • Свобода совершения ошибок пользователем.
При этом, что особенно примечательно, эти три эвристики противоречат друг другу: с одной стороны, от ошибок пользователя надо защищать, с другой — согласно тому же Нильсену их нужно чуть ли не поощрять. Лично мне это кажется примером исключительно глубокого понимания проблемы (достигнутого, между прочим, уже более десяти лет назад; тов. Нильсену троекратное ура!).
Фокус вот в чём. Люди (в т.ч. и пользователи) учатся через ошибки. Не знаешь, что делать? Нажимаешь не кнопку (или идешь по ссылке и т.п.), которая, скорее всего, сделает то, что нужно. Вполне возможно, что ошибешься, но в хорошем интерфейсе сможешь отменить своё действие и сделать ещё несколько попыток.
В этом смысле борьба с пользовательскими ошибками, взятая в отрыве, не так уж хороша. Просто блокируя возможность совершения ошибки порой блокируешь и надежный, прекрасно работающий метод обучения. Разумеется, вероятность появления случайной ошибки нужно и часто можно сократить — но ограничиваться этим никак нельзя.
Кроме того, последняя эвристика (дополнительная гибкость для опытных/профессиональных пользователей) тоже, по-моему, очень глубока и важна, поскольку мешает построить упрощенный (вместо простого) или маломощный продукт.
Соответственно, хочу подчеркнуть, что Нильсеновские эвристики очень хороши — но, прежде всего, как ментальная практика и/или средство целеполагания. А вот для анализа интерфейсов они подходят плохо — широки, черезчур общи, поощряют непомерный догматизм — что, впрочем, не отменяет их ценности.