< Часть восьмая
Объекты пользовательского интерфейса
Объекты пользовательского интерфейса необязательно такие же, как в объектно-ориентированных системах. Наши объекты — папки, документы, мусорная корзина. Они появляются в среде пользователя и могут проецироваться на объектно-ориентированные объекты или нет. В действительности, многие ранние графические интерфейсы пользователя были построены отнюдь не в объектно-ориентированных окружениях.
• Объекты пользовательского интерфейса можно видеть, слышать, коснуться или воспринять иначе.
• Объекты интерфейса, которые можно увидеть, вполне узнаваемые в графических пользовательских интерфейсах. Объекты, обращённые к другим чувствам: слуху или прикосновениям — менее знакомы. Хорошая работа была проделана в разработке аудиальных иконок (Гейвер, Gaver).
• Объекты интерфейса пользователя имеют стандартный способ взаимодействия.
• Объекты интерфейса пользователя имеют стандартное поведение отклика.
• Объекты интерфейса пользователя должны быть понятными, согласованными между собой и неизменными.
Сокращение задержек
Используйте многопоточность везде, где возможно, чтобы вытеснить задержки в фон.
Задержка часто может быть скрыта от пользователей, благодаря многозадачности, позволяя им продолжить свою работу, пока передача данных и вычисления идут в фоне.
• Снижайте ощущение задержки
• Подтверждайте все нажатия на кнопки визуальной или звуковой обратной связью в течение 50 миллисекунд.
• Отображайте песочные часы, когда действия займут от 1/2 до 2 секунд.
• Анимируйте песочные часов, чтобы пользователи знали, что система жива.
• Сообщайте примерное время ожидания для любого действия, что займёт более 2 секунд.
• Давайте реальную длительность ожидания анимированным индикатором процесса.
• Предложите увлекающее текстовое сообщение, чтобы информировать и развлечь пользователей, пока они ждут завершения длительных процессов, таких как сохранение на сервер.
• Пусть клиентская система издаёт звуковой сигнал и даёт заметный визуальный индикатор по возвращении из длительного (более 10 секунд) процесса, чтобы пользователи знали, когда следует вернуться к её использованию.
• Отлавливайте множественное нажатие на ту же кнопку или объект. Интернет работает медленно, и люди стараются нажать те же кнопки несколько раз, вызывая ещё большие задержки.
Сделайте это быстрее
Уберите каждый бесполезный элемент приложения. Будьте безжалостны.
Обучаемость
В идеальном мире, у продуктов нет кривой обучения: пользователи, заглянувшие впервые, мгновенно достигают мастерства. На практике, все приложения и сервисы, вне зависимости от того насколько они просты, покажут кривую обучения.
Ограничение компромиссов
Удобство пользования и обучаемость не исключают взаимно друг друга. Для начала решите, какая из них наиболее важна, затем решительно набросьтесь на обе. Утверждение, что простота обучения автоматически достигается за счет работы над простотой использования — миф.
Метафоры и их использование
Выбирайте наилучшие метафоры, те, что помогут пользователям моментально уловить мельчайшие детали концептуальной модели
Хорошие метафоры — истории, создающие образы в голове пользователя.
Оживите метафору, обращаясь к человеческим ощущениям: зрению, слуху, осязанию, кинестетике, включению памяти.
Метафора обычно обращаются к знакомому, но часто добавляют и новый поворот. К примеру, в Виндоус 95 был объект, называемый «портфелем». Как и у портфеля в реальной мире, его целью было помочь сделать электронные документы более мобильными. Однако он делает это, выступая не транспортным механизмом, а синхронизатором: документы в портфеле на рабочем столе и портфеле, хранящемся на съёмном носителе, обновляются автоматически, когда последний вставлен в компьютер.
Защитите результаты работы
Убедитесь, что пользователи никогда не потеряют свои данные в результате ошибки с их стороны, причуды передачи информации через интернет, или любой другой причине, кроме совершенно неизбежных, таких как внезапное выключение питания у компьютера.
(Совершенно непростительно, что современные компьютеры и операционные системы не поддерживают и не поощряют непрерывную запись. Вместе с небольшим количеством памяти, защищённой от обесточивания, это помогло бы преодолеть затруднение машин, стоящих около 5000 $, но предлагающих надежность 10-ти центовой игрушки.)
Удобочитаемость
Обязательный к прочтению текст должен быть максимально контрастным. Предпочитайте черный текст на белом или светло-желтом фоне. Избегайте серые фоны.
Применяйте достаточно крупный шрифт для читаемости на стандартных мониторах. Предпочтите особенно большие символы для отображения текущих данных в отличие от подписей и инструкций. Например, подпись поля, «Фамилия», может позволить сделать несколько меньше. Привычные пользователи выучат, что двухсловное серое пятно означает «Фамилия». Даже новые пользователи на основе контекста, в котором появляется форма, получат довольно хорошую гипотезу, говорящую, что это «Фамилия». Однако, реальная фамилия только что введённая или отображаемая должны быть чётко читаемы. То же самое становится ещё более важным для чисел. Человеческие языки в высшей степени избыточны, что позволяет людям восстанавливать искаженные сообщения. Числа, однако, если только они не следуют очень строгому протоколу, не имеют никакого резервирования, поэтому людям нужна возможность изучить и осмыслить каждый отдельный символ.
Обратите особое внимание на потребности пожилых людей. Дальнозоркостью страдает большинство людей старше 45 лет. Это состояние затвердевших, ставших менее гибкими хрусталиков глаза, связанное со снижением пропускания света в глаза. Не доверяйте своим молодым глазам, выбирая решение по размеру и контрасту.
Слежение за состоянием
Так как многие из наших продуктов на основе браузера существуют в среде, не запоминающей состояний, мы ответственны следить за их состоянием по мере необходимости.
Нам может понадобиться знать:
• Первый ли раз пользователь в системе.
• Где он находится.
• Куда он намерен отправиться.
• Где он был за время сессии.
• Где пользователь находился, когда в последний раз оставил сервис.
• И множество других деталей.
В дополнение к простому знанию о том, где были пользователи, мы можем эффективно использовать то, что они делали.
Информацию о состоянии следует сложить в куки клиентской машины во время сеанса с сервисом транзакций, затем сохранить на сервере, когда пользователь выходит из системы
Пользователь должен иметь возможность разлогиниться на работе, прийти домой, и продолжить именно с того места, где закончил.
Частный сервис для врачей «Доктор на линии» прекрасно работает с этим. Доктора могут быть на 95% в конце пути сложной транзакции, выйти из системы, войти вновь через шесть недель в другой части света, и сервис поинтересуется хотят ли они быть переведены туда, где они остановились в прошлый раз.
Навигация
Избегайте невидимой навигации
Большинство пользователей не может и не будет строить основательные карты в голове. Они уйдут или устанут, если это ожидается от них.
Интернет со всеми этими симпатичными экранами и модными кнопками, в сущности, пространство c невидимой навигацией. Правда, вы можете всегда увидеть конкретную страницу, ту, где вы находитесь, но не видите ничего из огромного пространства между страницами. После того как пользователи нашли наши приложения, мы должны позаботиться о сокращении навигации к минимуму, а ту, что осталась сделать чёткой и естественной. Подарите иллюзию, что пользователи всегда в одном и том же месте вместе со принесённой им работой. Это не только устраняет потребность в картах и других навигационных средствах, это предаст пользователям больше ощущений овладения продуктом и самостоятельности.
Как и в случае с предопределённостью отсутствия запоминания состояний в вебе, наша задача не слепо соглашаться с тем, что нам дали разработчики, а добавить слои возможностей и защиты, необходимые и желанные для пользователей. То, что навигация в вебе, по сути, невидима — не неизбежность, а решаемая дизайнером проблема.
Написано в 2003 году. Авторское право на статью принадлежит Брюсу Тоньяцини. Разрешено копировать для персонального использования, оставив на копии это уведомление об авторском праве. Это уведомление должно идти вместе с любой версией статьи.
Автор: Брюс Тоньяцини. Перевел Андрей Шапиро.