Принцип наименьшего удивления ( англ. Principle of least astonishment ) применяется к дизайну интерфейса, разработки программного обеспечения, и эргономики.
Принцип указывает, что, когда два элемента интерфейса конфликтуют, или неоднозначны, их поведение должно быть таким, что меньше удивит пользователя. Программист должен думать о поведении программы как о естественной для пользователя, а не как естественную для того кто знает внутреннее строение программы.
Эта практика также включает в себя установление адекватных параметров по умолчанию.
Примеры
- Пользователь собирается ввести логин и пароль для программы или веб-сайта, и вдруг получает мгновенное сообщение. Некоторые клиенты мгновенных сообщений сразу захватывают фокус клавиатуры и перемещают его в свое окно, поскольку предполагают что пользователь захочет ответить на сообщение. А в действительности, пользователь может сильно удивиться, обнаружив, что он только что ввел пароль в IM клиент и послал его друзьям. Этот конфликт возникает потому, что две программы не знают о существовании друг друга, и нельзя легко определить, когда они могут мешать друг другу. Для того чтобы избежать таких конфликтов, операционная система может ограничить взаимодействие различных программ, например, путем предотвращения перехвата фокуса.