Pull to refresh

Не отвлекайте пользователя зря

Interfaces *
Одной из идей, описанной Джефом Раскином в книге «Интерфейс: новые направления в проектировании компьютерных систем» является то, что разработчики программного обеспечения должны ценить всю информацию, вводимую пользователем и не отвлекать его по мелочам.

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

Другой аспект той же проблемы – формирование привычек. При любых повторяющихся действиях у людей формируются привычки. Это неотъемлемое свойство человеческой психики. Одной из привычек становится нажатие кнопки «Ok» на любых информационных сообщениях и сообщениях об ошибках, и, самое печальное, на окнах с запросом о подтверждении действия. Отчасти это вина разработчиков – слишком много таких сообщений пользователю не нужны и не интересны. По словам Раскина (подтвержденным статистикой и собственным опытом автора) «…любой запрос о подтверждении, требующий установленного ответа, вскоре становится бесполезным. Разработчики, которые используют такого рода подтверждения, и администраторы, которые думают, что запросы о подтверждении обеспечивают безопасность, на самом деле не учитывают силу свойства формирования привычек…».

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

Проблема


1. Пользователь отвлекается от выполнения своей основной работы.
2. Сообщение игнорируется – вы все знаете, что у большинства пользователей выработался рефлекс моментально закрывать все сообщения об ошибках, даже не читая их.
3. Для того, чтобы узнать, что же именно было написано в этом сообщении необходимо заново повторить действия, которые его вызвали (что не всегда возможно).

Решение


1. Сделать так, чтобы сообщение могло быть проигнорировано пользователем, без того, чтобы прервать его основную деятельность (не отвлекать от важной деятельности). Т.е. если пользователь продолжает работу «не замечая» сообщения, то оно через некоторое время пропадает.
2. В любой момент должна быть возможность просмотреть предыдущие сообщения. Вдруг они были важные?

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



Первой программой, в которой я заметил такой использование такого подхода, был почтовый клиент The Bat!

Для веб-приложений существуют JavaScript-библиотеки, которые реализуют подобный функционал, например Humanized Messages:
«Прозрачные сообщения — дети мозга Джефа раскина. Это большие просвечивающиеся сообщения, которые показываются поверх контента. Оно исчезает когда пользователь начинает что-нибудь делать (двигать мышкой или стучать по клавишам). Такое сообщение одновременно заметное и ненавязчивое. А так как оно полупрозрачное, то всегда можно видеть, что находится под ним»
С развернутым «логом» это выглядит так:



Онлайн-демо доступно по адресу: binarybonsai.com/misc/humanmsg
Сделаем интерфейсы более человечными!
Tags:
Hubs:
Total votes 62: ↑60 and ↓2 +58
Views 533
Comments Comments 21