Рольф Молич и Якоб Нильсен (1990) разработали набор эвристических правил, которые наиболее часто используются в области дизайна интерфейса. Позже (1994) Нильсен усовершенствовал набор правил.
Возможность видеть состояние системы - Система должна всегда информировать пользователей о том, что происходит, через соответствующую обратную связь в разумные сроки.
Соответствие системы реальному миру - Система должна «разговаривать» с пользователем на одном языке, используя слова, фразы и понятия, которые знакомы пользователям, а не системно-ориентированные термины. Следуйте условиям реального мира, предоставляя информацию в естественном и логичном порядке.
Управление пользователями и их свобода - Пользователи часто выбирают системные функции по ошибке, и необходим четко обозначенный "запасной выход" для того, чтобы выйти из ненужного состояния, не прибегая к помощи расширенного диалога. Обеспечьте возможность перехода на «шаг назад» и на «шаг вперёд».
Последовательность и стандарты - Пользователи не должны быть в замешательстве по поводу использования тех или иных функций (не должен возникать вопрос, значат ли слова или действия одно и то же). Следуйте общепринятым стандартам.
Предотвращение ошибок - Тщательная разработка, которая в первую очередь предотвращает возникновение проблем, даже лучше хороших сообщений об ошибках. Либо устраните элементы, предрасположенные к ошибкам, либо произведите их проверку и введите для пользователей опцию подтверждения перед совершением действия.
Не нагружайте память пользователя - Не заставляйте пользователя хранить много информации в памяти. Делайте так, чтобы информация была по возможности на виду, и пользователю не приходилось запоминать информацию из одной части диалога для работы с другой. Инструкция по использованию системы должна быть видна и легкодоступна всякий раз, когда она может понадобиться.
Гибкость и эффективность использования - Кнопки быстрого перехода, которые незаметны для начинающих пользователей, зачастую могут ускорить взаимодействие опытных пользователей системы. Таким образом, удовлетворяются требования как опытных, так и неопытных пользователей. Дайте возможность пользователям приспособиться к выполнению часто повторяемых действий.
Эстетичный и минималистский дизайн - Диалоги не должны содержать информацию, которая несущественна или редко требуется. Каждый дополнительный блок информации в диалоге отвлекает внимание от основной, значимой информации и делает её менее заметной.
Помощь пользователям в распознавании, диагностике и восстановлении после ошибок - Сообщения об ошибках должны быть написаны простым языком, точно указывать проблему и предлагать конструктивное решение.
Помощь и техническая документация - Хорошо, если систему можно использовать, не прибегая к технической документации, но даже в этом случае может возникнуть необходимость получить какую-либо помощь. Должна быть возможность легко найти информацию такого рода в соответствии с проблемой пользователя и получить список конкретных шагов для решения задачи; при этом информации должно быть не слишком много.