Основное правило проектирования – дайте пользователю контроль над системой.
Опытные проектировщики позволяют пользователям решать некоторые задачи по собственному усмотрению. Архитекторы по завершении строительства сложного комплекса зданий должны проложить между ними дорожки для пешеходов. Пока они не знают, в каком именно месте люди будут пересекать площадки. Поэтому дорожки никогда не прокладывают одновременно с возведением зданий. На площадках между домами помещаются таблички с надписью: «Пожалуйста, ходите по траве». Через некоторое время строители возвращаются и только теперь, согласно «волеизъявлению» населения, заливают протоптанные дорожки асфальтом.
Этот пример из реальной жизни, показывает, как проектировщик должен предоставить возможность пользователю контролировать ситуацию и делать интерфейс таким, чтобы он соответствовал потребностям и пожеланиям пользователя.
Принципы, которые дают пользователю контроль над системой:
· используйте режимы благоразумно (безрежимность);
|
|
· предоставьте пользователю возможность выбирать: работать либо мышью, либо клавиатурой, либо их комбинацией (гибкость);
· позвольте пользователю переключать внимание (прерываемость);
· демонстрируйте сообщения, которые помогут ему в работе (полезность);
· создайте условия для немедленных и обратимых действий, а также обратной связи (снисходительность);
· обеспечьте соответствующие пути и выходы (способность ориентировки);
· приспосабливайте систему к пользователям с различным уровнем подготовки (доступность);
· сделайте пользовательский интерфейс более понятным
(облегченность в использовании);
· дайте пользователю возможность настраивать интерфейс по своему вкусу (приспосабливаемость);
· разрешите пользователю напрямую манипулировать объектами интерфейса (интерактивность).
Краткая характеристика каждого из этих принципов.
1. Используйте режимы благоразумно
Существует множество интерфейсов, которые излишне часто переключаются между режимами. В какой-то момент на экране появляется модальное диалоговое окно, и пользователь становится ограниченным в действиях не только в программе, но и на экране. Есть два типа режимов интерфейса, которые во многих случаях необходимы, но надолго лишают пользователя самостоятельности.
Первый тип – режим приложения. Он позволяет работать только в определенном месте программы либо устанавливает конкретный режим работы. Например, когда пользователь работаете с базой данных, и выбирает режим ее просмотра, программа не «разрешает» ему добавлять, удалять или модифицировать записи. Он может менять данные лишь в определенном режиме. Подобный подход приемлем только для просмотра данных в базе. А если пользователю понадобится изменить данные, то он вынужден следить за тем, в каком режиме находится. Если пользователь модифицирует данные, то должна быть обеспечена возможность сохранения информации и обновления базы в обычном режиме. Кроме того, необходимо разрешить ему доступ к данным и выход из базы также без каких-либо переключений. Возможно, оптимальным вариантом является показ данных в формате, соответствующем уровню доступа пользователя. При ограниченном доступе демонстрируется статичный текст, при полном – предусматривается возможность ввода информации.
|
|
Второй тип режима – системный. Используется он достаточно редко. Пока пользователь находится в этом режиме, ему не разрешено работать нигде, кроме текущей программы. Например, принтер печатает документ, и всплывающее сообщение показывает, что в нем закончилась бумага, и тогда программы берут контроль над целой системой. Сообщение: «В принтере закончилась бумага» – не должно становиться системным модальным диалогом. Системный режим неудобен для пользователей.
При выборе режимов важно следовать принципу немедленной визуальной обратной связи. Пользователь должен быть постоянно уверен в том, что он находится в нужном режиме. Во многих программах о режиме информирует курсор мыши. Режимы – не всегда плохо. Человек должен сам выбирать нужные ему режимы. Интерфейс должен быть настолько естественным, чтобы пользователю было комфортно работать с ПС.
2. Позвольте пользователю использовать мышь и клавиатуру
Не всегда, если к компьютеру подсоединена мышь, пользователь работает с ней постоянно. Можно оптимизировать интерфейс для ее использования, однако у пользователя должна быть возможность работать и с клавиатурой. Один из ключевых принципов организации Common User Access (CUA) гласит: «Пользователь должен иметь возможность производить действия с программой, как с помощью мыши, так и с помощью клавиатуры».
Панели инструментов созданы, чтобы ускорить работу при использовании мыши. Но при работе с клавиатурой до них сложно добраться – для подобных случаев предусмотрены «выпадающие» меню.
Пользователи, которым необходимы специальные действия, обычно пользуются интерфейсом с клавиатурой. Некоторые новые программы также требуют поддержки ввода с клавиатуры для повышения эффективности работы.
3. Позвольте пользователю переключать внимание
Людей всегда прерывают и отвлекают – телефон, коллеги, начальник и т.д. Программные интерфейсы должны быть спроектированы так, чтобы пользователь мог в любую минуту прерваться или сохранить результаты работы в данной стадии.
Обеспечение контроля пользователя над программой и его поддержка – вот главные принципы разработки. Не нужно вынуждать пользователей заканчивать выполнение начатых последовательностей действий. Дайте им выбор – аннулировать или сохранить данные и вернуться туда, где они прервались.
4. Показывайте поясняющие сообщения и тексты
Данный принцип применим не только для сообщений, но и для всех текстов на экране, будь то приглашение, инструкция, заголовок или надпись на кнопке. Во всем интерфейсе нужно использовать понятные для пользователя термины.
Удачная надпись – это искусство, в том числе написание программной и системной документации, а также сообщений. Во многих известных проектах все тексты на экране, включая сообщения, приглашения, названия, заголовки, коды и справочную информацию, были результатом работы информационных проектировщиков или технических писателей.
|
|
Следует выбрать правильный тон в сообщениях и приглашениях. Неудачная терминология и неправильный тон приведут к тому, что пользователи будут винить себя в возникающих ошибках.
5. Обеспечьте немедленные обратимые действия и обратную связь
Недостаточность обратной связи в большинстве программных продуктов вынуждает пользователей тратить много сил на выполнение поставленной задачи. Каждый программный продукт должен включать в себя функции UNDO и REDO (отменить и повторить). Необходимо информировать пользователя о том, что данное действие не может быть отменено, и по возможности разрешить ему альтернативное действие. Необходимо держать пользователя в курсе происходящего.
6. Предоставляйте понятные пути и выходы
Дайте возможность пользователю свободно ориентироваться в интерфейсе. Определите пути доступа в любую его часть. Разрешите ему двигаться вперед и назад, по нисходящей и восходящей структурам интерфейса. Создайте удобные контекстные подсказки там, где они требуются. Основная функция данных элементов – показать, какие программы открыты, и разрешить пользователю доступ ко всем программам и данным.
Люди нуждаются в быстром доступе к файлам, папкам, программам.
Появление Internet показало, что навигация – основная интерактивная техника. Если пользователь понимает, как зайти на нужную страницу в WWW, то существует 80%-ная вероятность, что он разберется в интерфейсе. Люди осваивают методы работы с браузером очень быстро.
7. Приспосабливайтесь к пользователям с разными уровнями навыков
Пользователи имеют разный уровень навыков использования программ. Многие программы предлагают специальные интерфейсы, которые помогают выбрать уровень сложности взаимодействия. Например, панель меню и выпадающие меню программ могут быть стандартными или усложненными в зависимости от выбора пользователя и типа выполняемой задачи. Использование мыши и клавиатуры делает управление более гибким, облегчает работу и позволяет взаимодействовать с программой пользователям с различным уровнем подготовки.
|
|
Не «жертвуйте» опытными пользователями во благо обычных. Для них должен быть предусмотрен быстрый доступ к функциям программы. Не утомляйте их прохождением многочисленных шагов для выполнения какого-либо действия, если они привыкли пользоваться одной макрокомандой.
8. Сделайте пользовательский интерфейс понятным
Пользовательский интерфейс – «мифическая» часть программного продукта. При хорошем проекте пользователи даже не ощущают его «присутствия». Если он разработан неудачно, пользователям придется приложить немало усилий для эффективного использования ПС. Задача интерфейса – помочь людям почувствовать себя находящимися как бы «внутри» компьютера, свободно манипулировать и работать с объектами. Это называется «прозрачным» интерфейсом.
«Прозрачность» интерфейса обеспечивается тем, что человеку будет дана возможность пользоваться объектами, отличными от системных команд. Мусорные корзины, уничтожители бумаг и т.д. позволяют сосредоточиться на решении задач, а не на системных функциях, которые производят эти объекты. Нужно сделать работу этих объектов похожей на функционирование объектов реального, ане компьютерного мира.
9. Дайте пользователю возможность настроить интерфейс на свой вкус
Дайте человеку возможность настроить представление информации (цвета, шрифты, базирование, вид обзора, расположение элементов), поведение интерфейса (действия по умолчанию, макросы, кнопки) и интерфейсные функции (нажатие кнопок или клавиш, сочетание клавиш для быстрого выбора команд, мнемоника, расположение кнопок мыши для отдачи команд) так, как ему нравится.
Секрет «прозрачного» интерфейса – в прямой связи сментальной моделью. Пользователь должен быть сосредоточен непосредственно на выполнении задач, стоящих перед ним, а не разбираться в функциях программы.
Визуально богатые сенсорные графические и мультимедийные интерфейсы должны содержать функцию настройки пользователем. Работая, человек должен чувствовать себя комфортно, настраивая интерфейс по своему вкусу, пользуясь своими любимыми цветами, шрифтами, графикой и др.
10. Разрешите пользователю прямое манипулирование объектами интерфейса
Везде, где это, возможно, разрешите пользователю напрямую взаимодействовать с объектами на экране. Кроме прямой манипуляции с объектами, поработайте с метафорами интерфейса и пользовательскими моделями. В популярном информационном менеджере Lotus Organizer есть мусорная корзина. Попробуйте выбросить в нее какой-либо объект или документ – он словно сгорает в пламени! Ожидаете ли вы нечто подобное от мусорной корзины?
Пользователь начинает сомневаться в собственных силах, если прямые манипуляции с объектами не отвечают их ментальной модели и системе представлений о взаимодействии с реальным миром. Иногда система прямых манипуляций терпит не удачу, если пользователь не знает, что надо взять и куда это поместить. Объекты должны «подсказывать» человеку-пользователю как с ними обращаться: «Схвати меня, отпусти меня, обращайся со мной, как с предметом, который я представляю!». Иначе пользователь не поймет, как работать с этим объектом.
11. Позвольте пользователю контролировать ситуацию
Пользователю должна быть предоставлена некоторая степень контроля над интерфейсом. В отдельных случаях он должен иметь полный контроль над тем, что делает, даже в объеме операционной системы. Иногда ему нужно разрешить контроль только в пределах выполняемой задачи. Человеку свойственно огорчаться, если он сразу не получает желаемого или не имеет доступа к чему-то.
В некоторых ситуациях компьютерные системы или программы нуждаются в определенном времени для осуществления какого-либо действия. Разработчик проекта должен держать пользователя в курсе происходящего. Именно в этом заключается возможность поддерживать внимание пользователя и уверенность, что компьютер все делает правильно.
Многие разработчики программных продуктов (или, возможно, люди, ответственные за продажи) умеют привлечь и удержать внимание пользователей при установке программы. Существуют программы, которые при инсталляции рекламировали другие программные продукты, пока клиенты ожидали завершения процесса. Некоторые программы обучали людей пользованию данным продуктом.