Взаимодействие человека и компа
Категория реферата: Рефераты по информатике, программированию
Теги реферата: банк курсовых, скачать контрольные работы
Добавил(а) на сайт: Фока.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата
. Хороший интерфейс может стать преимуществом против конкурентов, плохой
- послужить причиной неудачи всего проекта.
Разработчики программ могут последовать простому прагматическому методу, кратко описанному
Пользовательский интерфейс.
Во-первых, в понятие пользовательского интерфейса (ПИ) входит не только, и
даже не столько, картинка на экране - трехмерная, анимированная, просто
выполненная в модном дизайне, - а способы взаимодействия пользователя с
системой. В этом контексте очень интересно сравнить материалы по ПИ в
российской компьютерной прессе (напоминающие рецензии искусствоведов на
художественные выставки) и классическую книгу Дональда Нормана "Психология
повседневных вещей" ("The Psychology of Everyday Things"), где основным
примером книги оказался дизайн дверных ручек.
Этот взгляд кардинально отличается от широко распространенного мнения, что
пользовательский интерфейс - это набор "интерфейсных элементов" и их
расположение на экране. Сама номенклатура принятых в среде Windows
интерфейсных элементов вызывает большие сомнения в том, что на ее базе
можно создать действительно удобные интерфейсы. Например, такой
интерфейсный элемент как линейка прокрутки находится в противоречии с одним
из основных принципов психологии восприятия: у человека может быть только
одна точка активного внимания. При использовании же линейки прокрутки
приходится смотреть в две совершенно различные точки - на прокручиваемое
изображение (не пора ли остановиться) и на линейку. Всем знакомые
неприятности с непопаданием мышью в нужную точку при прокрутке или с
"соскакиванием" мыши с линейки - очевидное следствие вышеуказанного
противоречия.
Давайте предположим, что ни оконного, ни какого-то другого интерфейса еще
не существует и нам нужно придумать способ общения человека с компьютером
Отправной точкой всякого хорошего интерфейса является метафора. Обстановка
на экране и способы взаимодействия с системой должны апеллировать к
ситуации, хорошо знакомой пользователю. Так, оконный интерфейс задумывался
как метафора рабочего стола с документами. Использованием метафоры
убивается сразу несколько зайцев. Во-первых, пользователю легче понимать и
интерпретировать изображение на экране. Во-вторых, ему не нужно каждый раз
заглядывать в руководство, чтобы узнать, как выполняется то или иное
действие. По крайней мере некоторые действия должны "естественно" следовать
из метафоры. В-третьих, у пользователя возникает чувство психологического
комфорта, характерного для встречи с чем-то хорошо знакомым. (В этом, кстати, секрет популярности старых мелодий. Все гастролеры знают, что
публика им не простит, если они не исполнят что-нибудь давно и хорошо
известное.)
Однако в использовании метафоры есть несколько подводных камней. Все-таки
процесс взаимодействия с пользователем проходит не в реальном мире, а с
помощью таких искусственных приспособлений, как экран, мышь и клавиатура.
Поэтому где-то приходится метафору "подправлять". Кроме того, возможности
мира внутри компьютера обычно шире возможностей физического мира, и это
может с успехом использоваться для более мощного интерфейса. Наконец, существует сложившаяся практика пользования компьютером у профессионалов, и
эта практика кажется естественной создателям новых интерфейсов.
В качестве примера удачной метафоры в интерфейсе можно привести Lotus
Organizer, внешний вид которого напоминает привычный еженедельник, функции
которого и выполняет этот продукт. Примером неудачной метафоры, точнее ее
полного отсутствия там, где она необходима, может служить Explorer Windows
95.
Итак, придумана замечательная метафора для нашего интерфейса. Сохраним ее в
секрете как коммерческую тайну и пойдем дальше. Теперь нужно сделать
концептуальный дизайн интерфейса. Что это такое? В рамках нашей метафоры мы
должны разработать систему интерфейсных элементов, своего рода алфавит
взаимодействия, изучив который пользователь сможет легко делать то, что ему
нужно. Еще мы должны найти изящный способ изображения как отдельных
элементов так и их групп. И, наконец, мы должны выбрать общий
изобразительный стиль, который был бы легко узнаваем и приятен для глаз.
Наш (не)удачный предшественник - оконный интерфейс решил только первую
задачу концептуального дизайна. В нем есть понятие "контролей" -
интерфейсных элементов, с которыми в основном и происходит взаимодействие.
В Windows 95 сделана попытка выработки общего изобразительного стиля для
контролей. Об общем стиле экранного изображения речи вообще не идет, если
только не считать за таковой набор "тем", входящий в состав Microsoft Plus.
Примером хорошего концептуального дизайна интерфейса (помимо некоторых
компьютерных игр) может служить система дорожных знаков. Ее разработка не
так проста как может показаться на первый взгляд. Обратите внимание на
сочетание "реалистических" пиктограмм с "абстрактными", на комбинирование
многих знаков, висящих вместе, на "словарь фонов". Кроме того, удалось
решить поистине титаническую задачу - знаки заметны и не портят красоту
окружающей природы там, где эта красота есть. И, главное, эта система
хорошо работает и не требует от своих пользователей высшего образования. Во
многих интерфейсных раздумьях дорожные знаки занимают значительное место.
Концептуальный дизайн интерфейса должен базироваться на идее интерфейсной
среды. В сущности, на время работы с системой пользователь погружается в
среду интерфейса подобно тому, как приехав на сафари, турист погружается в
среду дикой природы. Здесь слово "среда" применяется не для красоты, а как
обозначение типичной для поведения человека в различных средах связки
"сигнал-действие".
Эта идея принадлежит психологу Гибсону (не путайте с популярным фантастом)
и извлечена из его книги "Экологический подход к психологии восприятия". Он
утверждает, что наше восприятие основано на мотивации в том смысле, что
если мы хотим есть, то видим только съедобные вещи, а если устали - то
только предметы мебели, предназначенные для отдыха. То есть человек не
просто видит, а опрашивает среду, руководствуясь различными мотивами. В
свою очередь, среда подает человеку разные сигналы. Наряду с ответами на
его запросы, есть сигналы первоочередные (или всегда запрашиваемые), связанные с физической опасностью. Опираясь на полученные сигналы, человек
осуществляет различные действия.
Для искусственных сред (например, системы автомобильных дорог) такая модель
с очевидностью верна. Гибсон, впрочем, считает, что она верна и для
естественных сред. Во всяком случае, как отправная точка для дизайна
интерфейса, она очень продуктивна. Так, кнопки различных диалогов в
стандартном оконном интерфейсе можно трактовать как сигналы к их нажатию.
Но эти сигналы крайне слабы, поскольку все кнопки выглядят одинаково, отличаясь только текстами в них, а функции у них совершенно различны. То
есть из всего разнообразия изобразительных средств - формы, размера, цвета, текста - в кнопках диалогов используется только текст. Считается хорошим
тоном иметь кнопки одного размера и аккуратно расположенные, чтобы вынудить
пользователя каждый раз прочитывать текст. Исключением, подтверждающим
правило, является кнопка OK, которая смотрится не как текст, а как
изображение (иероглиф). Не случайно ни в одной из известных мне локализаций
надпись на этой кнопке не переводится на другой язык.
Чтобы понять, что разнообразие не означает эстетического нарушения, посмотрим на пульты дистанционного управления телевизора или
видеомагнитофона. В них кнопки разбросаны в кажущемся беспорядке, имеют
разный размер, большинство обозначено пиктограммами, а текст остальных
очень короток (например, Play) и тоже скорее играет роль пиктограммы.
Пульты дистанционного управления тем не менее приятно смотрятся и вполне
легки в пользовании. При этом пользователи этого интерфейса как раз те
самые, для кого мы задумываем наш новый интерфейс с компьютером.
Понятия среды и понятие метафоры близко связаны. Если среда по виду и
некоторым опорным элементам будет напоминать пользователю что-то уже
знакомое, он сможет быстрее приспособиться к ней. Вместе с тем выбранная
метафора может продиктовать все изобразительные решения дизайна интерфейса.
Однако следует остерегаться фотографической похожести среды в компьютере с
выбранной метафорой. (Тут есть аналогия с живописью.) Все-таки компьютерная
среда - искусственна и полностью повторить все элементы взаимодействия из
физического мира не удастся. А фотографическая похожесть может
спровоцировать пользователя на то, чтобы пользоваться этой искусственной
средой в точности как той, которую она напоминает. В первый же раз, когда
пользователь натолкнется на различие, он испытает тяжелый психологический
шок, который может привести к полному отторжению системы.
В этом секрет непопулярности многих компьютерных игр с прекрасным
изобразительным рядом. А вот другие игры, скажем Тетрис и столь же
популярные сегодня Color Lines (шарики), имеют очень простую и условную
среду, обеспечивающую психологический комфорт пользователя.
Тут мы подходим к еще одному важному принципу построения дизайна интерфейса
- балансу между интерактивными возможностями программы и сложностью ее
изобразительного ряда. Так же как при создании игр главным является баланс
между сложностью игры и ее увлекательностью, выработка которого занимает
основное время, так и в интерфейсе должен обеспечиваться баланс между
функциональными возможностями программы, возможностями манипуляции ею и ее
изобразительным рядом. Простая программа не имеет права сложно управляться, это очевидно, но она и не имеет права на слишком изощренную графику - грех, типичный для сегодняшних продуктов.
Сложная картинка психологически готовит к сложной жизни с программой. Из
этого, кстати, не следует, что у сложной программы должна быть изощренная
графика и сложные пути взаимодействия. (Важное напоминание - мы
разговариваем не о программах, предназначенных для профессиональной
деятельности!) Лучше эту сложность "вытаскивать" постепенно, подобно
кролику из шляпы или подобно наращиванию уровней в компьютерных играх.
Пользователь простит вам обман, заключающийся в том, что простая на первый
взгляд программа постепенно приоткрывает свои новые (в том числе и
интерфейсные) возможности. Это может получиться случайно, когда
пользователь по привычке попробует прием, освоенный в общении с другой
программой, и с радостным удивлением обнаружит, что ваша программа
правильно разобралась в том, чего он хотел. Похожий эффект может стать и
естественным развитием среды, когда из освоенных простых действий
пользователь сделает заключение, что должно существовать и некое сложное, и
программа снова обрадует его взаимопониманием. Важно, чтобы эти сложности
не лезли в глаза при первом знакомстве с программой, отпугивая новичка.
Таким образом, картинка на экране остается прежней, а возможности
пользователя расширяются.
На самом деле, с этой позиции хорошо видна основная проблема оконного
интерфейса. Все интерфейсные элементы заявляются с самого начала, они
всегда присутствуют на экране. Чтобы пользователю легко было с ними
взаимодействовать, они должны занимать на экране заметное место (а то
трудно будет попасть в них мышью). В итоге места для содержательной
информации о среде и функциональности остается совсем мало, а экран
производит впечатление рабочего стола, который давно не разбирали. Правда, и в стандартном оконном интерфейсе есть пара спрятанных интерфейсных
элементов, например элементы изменения размеров окон. Но дизайнеры этого
интерфейса сочли эти элементы исключением из правил, хотя на их базе можно
строить очень неплохие среды, конечно оставляя главные элементы "видимыми".
Прошу заметить, что оконный интерфейс мы не ругаем , а используем его как
всем известный источник аналогий и примеров. Оконный интерфейс был в начале
80-х столь же революционным и сыграл столь же положительную роль, что и
текстовый интерфейс 70-х. Просто всему свое время. Сегодня вычислительные
возможности машин позволяют разработчику интерфейсов пользоваться
средствами, о которых полтора десятка лет назад страшно было подумать.
Во всех центрах, известных разработкой новых интерфейсов (XEROX PARC, MIT
Media Lab, Apple Computer, Carnegie Mellon University), идут разработки
разных концепций дизайна интерфейсов, опирающихся на возможности анимации.
Прежде чем описывать их надо изложить точку зрения на "физику интерфейса".
Основной проблемой в интерфейсе с пользователем является синхронизация
точки внимания пользователя и точки активности системы. Эта проблема должна
решаться в обе стороны. С одной стороны, пользователь должен уметь сказать
системе, где и что он хочет изменить (обычно это делается щелчком мыши в
нужном месте). С другой стороны, система должна уметь привлечь внимание
пользователя к месту наиболее актуальных изменений.
При переходе от алфавитно-цифровых дисплеев к графическим поле дисплея
казалось непомерно большим и проблема синхронизации точки взаимодействия
была самой сложной. Ее решение было выполнено по принципу "разделяй и
властвуй". Поле экрана разбивалось на прямоугольники-окна и вся работа
велась только в одном из них - так называемом активном окне. Одновременно
сменилась форма текстового курсора, и, что очень важно, он начал
подмигивать. Это требовалось для облегчения проблемы поиска текстового
курсора в окне. Поиск же курсора мыши при его потере из поля внимания
пользователь (до сих пор) выполняет подергиванием мыши.
На самом деле, и тот, и другой способ используют тот очевидный факт, что
движущийся предмет легче привлекает внимание. Но главным способом
локализации внимания пользователя было геометрическое разбиение экрана, в
частности потому, что более активное использование анимации в то время
казалось фантастикой. Сегодня же не видно никакой причины не привлекать
внимание пользователя движением в нужной точке экрана. В конце концов, во
многих приложениях используются разные формы динамики изображения, которые
называются модным словом мультимедиа.
Эта возможность не только теоретически осознана, но и уже около пяти лет
находится в стадии экспериментального исследования. Две анимированные среды
интерфейса разработаны в той самой фирме XEROX PARC, которой мы обязаны
появлением идеи оконного интерфейса (и даже в группе того самого Стюарда
Карда, которому принадлежит авторство этой идеи). Одна - "Конические
деревья" - является визуализацией файловой системы компьютера и похожа на
систему детских пирамидок, каждый уровень которой соответствует уровню
файлового каталога. Сами файлы из каталога отображаются в виде 3-мерной
карусели под своим каталогом. Соль модели в том, что нужный файл можно
"приблизить" поворотом карусели (может быть, не одной), идущим в режиме
анимации.
Вторая модель - "Стена в перспективе" - также отображает файловую систему, но вне ее иерархии, согласно двум каким-то параметрам, например частоте
обращения к файлу и его размеру. Это нормальная стена, только очень
длинная, разбитая на три отрезка. Средний из них отображается на экране
плоско, а два крайних уходят в перспективу. Пользователь может сделать
средним любой отрезок стены, причем это тоже происходит в режиме анимации.
Для Карда анимация - принципиальный момент, так как "анимация сохраняет в
восприятии пользователя идентичность объекта", то есть пользователь легко
соотносит объекты в конечной точке движения с объектами в начальной.
На это свойство анимационного интерфейса следует обратить особое внимание.
В графическом интерфейсе пользователь имеет дело с последовательностью
картинок. Программисты, хвастаясь скоростью своих программ, замеряют время,
"теряемое" между картинками. Однако психологи, занимающиеся интерфейсом, говорят о совсем другом времени, - времени, когда пользователь может начать
взаимодействие с новой картинкой на экране. В этот интервал входит не
только время вывода новой картинки на экран, но и время осознания ее
пользователем, ведь определенное время и усилия тратятся пользователем на
то, чтобы понять, как каждая следующая картинка соотносится с предыдущей.
Анимация за счет увеличения времени перехода от одной картинки к другой (а
именно времени анимированного преобразования картинок) существенно
сокращает время осознания новой картинки. В психологическом смысле новой
картинки и не существует, существует преобразованная старая, а так как все
преобразования шли "на глазах у изумленных зрителей", то пользователь
практически немедленно готов к взаимодействию.
Существует еще одно свойство анимационного пользовательского интерфейса, которое существенно улучшает его полезность по сравнению с графическим
интерфейсом, а именно динамически визуальные сигналы.
Динамические визуальные сигналы - это изменение изображения на экране с
целью дать пользователю дополнительную информацию. Уже в стандартном
оконном интерфейсе мы можем видеть примеры таких сигналов. При выполнении
программой длительных действий курсор мыши приобретает форму песочных
часов. Это - сигнал о том, что на действия пользователя система временно
реагировать не будет. Второй пример - изменение изображения кнопки при
нажатии на нее мышью. Это - сигнал о том, что система считает, что
пользователь взаимодействует именно с этой кнопкой.
Беда в том, что в оконном интерфейсе динамические визуальные сигналы носят
характер гениальных находок и не образуют полную логичную систему. В
качестве аналогии отмечу разницу между алфавитом и иероглифами. Выучив
алфавит, можно читать любой текст. Выучив иероглифы, нельзя гарантировать, что не появится новый.
Создавая анимационный интерфейс, надо закладывать систему динамических
визуальных сигналов с самого начала, поскольку они являются столь же
естественной, сколь и необходимой частью анимационного интерфейса.
Кроме того, информационная емкость (т. е. количество разных различимых
вариаций) динамических сигналов огромна. Современные дисплеи отображают
миллионы цветов, но это - вещь в себе, поскольку, даже если человеческий
глаз и в состоянии отличить столько оттенков, человеческий мозг не в
состоянии придавать им смысл. С другой стороны, и такой простой сигнал, как
мигание, имеет действительно миллионы хорошо осознаваемых оттенков, связанных с изменением яркости объекта во времени. Здесь уместна аналогия с
музыкой, где из небольшого количества нот составляется неисчислимое
множество мелодий.
Однако, решая многие проблемы для пользователя, анимационный интерфейс, как
это часто бывает, ставит тяжелые проблемы перед программистом и дизайнером.
Многие программисты еще помнят о трудностях перехода к созданию программ, управляемых событиями, как того требует оконная среда. Для использования
анимационного интерфейса придется переходить к программам, управляемым
временем. Вне зависимости от активности пользователя программе, построенной
на анимационном интерфейсе, всегда есть что делать (например, менять фазу
мигания). При этом, естественно, она должна постоянно быть доступной для
взаимодействия, но, в отличие от многих сегодняшних мультимедиа-программ, не прерывать отображаемый поток, а плавно изменять его в соответствии с
воздействием пользователя.
Такие требования легче всего реализуются в специфической архитектуре
программ, управляемых временем. На каждом такте работы такой программы
заново строится изображение на экране, а события, инициированные
пользователем, например ввод с клавиатуры, отрабатываются всего лишь
изменением состояния программы. Соответствующее изменение на экране
происходит (быть может, не сразу) на очередном временном такте. Таким
образом, к двум привычным уровням программы - функциональному и
интерфейсному - добавляется визуальный.
Для дизайнеров интерфейсов конкретных продуктов работа тоже существенно
усложнится. Анимационный интерфейс - орудие очень мощное и поэтому требует
особой осторожности. Попытки потрясти мир могут привести к быстрой
утомляемости пользователя и, как следствие, отторжению системы. Основной
задачей дизайнера становится организация не неподвижного пространства, а
целой серии пространств, неразрывно связанных между собой. Для дизайна
конкретной программы требуется разработка собственной среды взаимодействия
(направленной на реализацию конкретной функциональности) на базе
общепринятой системы динамических визуальных сигналов. Предпочтительно
иметь сквозное визуальное решение. Практически единственный положительный
пример можно взять из телевидения, а именно серию заставок Левина к
программам НТВ. Все компьютерные программы в корне меняют дизайн при
переходе от одного окна к другому.
После выработки сквозного визуального решения необходимо прорисовать
картинки, называемые у аниматоров "фонами". Точнее называть их неподвижной
составляющей подвижного изображения. На каждом фоне надо расположить
анимированные элементы взаимодействия. И, наконец, самое трудное - надо
спроектировать визуальные переходы между существенно отличающимися
состояниями. И все это, сохраняя выбранный стиль!
Кому это нужно? Пользователю, который ничего этого не заметит, но зато
будет гораздо проще и быстрее взаимодействовать с системой. Хороший
интерфейс похож на удобную обувь - никто его не замечает, а, если обратить
на него внимание, в ответ получишь равнодушное "Ну и что такого?". Зато
плохой интерфейс у всех на виду и на устах.
На самом деле, хороший интерфейс пользователями замечается подсознательно, и, когда он нравится, симпатии переносятся на функциональную часть
программы.
Цитата из обзора интерфейсов - "Интерфейс этой программы неестественен, потому что клавиша Alt+F4 не закрывает приложения. Многие интерфейсные
проблемы являются естественным продолжением маркетинговых достижений.
Предположим, что ваша фирма выходит на рынок с новой моделью
аудиомагнитофона, отличающейся от всех остальных некой возможностью А. Для
успешной продажи этой модели та кнопка на панели управления, которая
реализует А, должна быть как можно заметнее. Тогда потенциальный покупатель
сам спросит "А что это?" - и продать ваше изделие будет гораздо легче.
Однако, купив его и включив дома, этот покупатель будет, скорее всего, пользоваться стандартными кнопками для стандартных действий, показывая
возможность А только гостям.
Таким образом, налицо противоречие, следующее из двух разных функций одного
и того же товара. Первая функция - продавать самого себя за счет
привлекательности и/или необычности внешнего вида, а вторая -
использоваться по назначению. С точки зрения продавца (а часто, и
производителя), первая функция гораздо важнее. Поэтому навязывается
"стандарт", направленный именно на успешность первой функции. Замените
аудиомагнитофон интерфейсными средами, и станет понятным, что имеется в
виду.
Ряд интерфейсных проблем связан с конкурентной борьбой на рынке программ.
Пожалуй, главная из них - какие формы должно принимать авторское право на
интерфейсные решения. С одной стороны, ясно, что придумать и реализовать
хороший интерфейс - очень сложная задача, и авторы такого интерфейса должны
получить не только моральное вознаграждение. С другой стороны, если
"защитить" такое решение патентом с последующими лицензионными выплатами, это может спровоцировать авторов новых продуктов искать свои, нехоженые и, зачастую, худшие пути в интерфейсе. В качестве яркого примера можно
попробовать представить себе последствия патентования использования клавиши
"F1" для вызова справки.
С проблемой защиты авторского права в области пользовательского интерфейса
связаны два громких судебных процесса - Apple Computer против той же
Microsoft, где предметом был сам оконный интерфейс, и Lotus против Borland, где c правовой точки зрения оспаривалось включение в Qattro Pro (наравне с
несколькими другими) интерфейса Lotus 1-2-3. Нельзя сказать, что решения по
этим делам могут использоваться как прецеденты, так как интересы
пользователей в них почти не учитывались, а результат, как это часто
бывает, соответствовал финансовым затратам сторон.
К сожалению, сегодняшнее состояние рынка программного обеспечения таково, что дорогу себе прокладывают не лучшие решения, а решения, имеющие "большую
пробивную силу", в основном связанную с финансовой мощью предлагающих их
компаний. Это особенно верно для пользовательского интерфейса. Если
взглянуть на программы просмотра WWW, то вообще трудно говорить о дизайне
интерфейса - получилось как получилось. Терпимо, но не более. А ведь этими
программами пользуется большее число людей, чем какими-либо другими. Теперь
такой интерфейс становится фактическим стандартом, а это значит, что
последующий переход к более естественному интерфейсу (который, безусловно, рано или поздно произойдет) будет связан с тяжелой психологической ломкой.
Будем надеяться, что такую ломку пользователям придется испытать только
один раз, а не несколько, как это вполне может случиться при замене одного
плохого интерфейса другим.
Заметим обычные ошибки.
1. Лишний выбор.
Программы тоже имеют свои хронологические записи – они называются окнами
настроек. Откройте Tools | Options и вы увидите историю аргументов
разработчиков по поводу дизайна программы. Должна ли программа
автоматически открывать последний файл, над которым работал пользователь?
Да! Нет! После двухнедельных дебатов, чтобы никого не обидеть, прнимается
решение сделать это настройкой.
Необязательно даже, чтобы это была дискуссия между двумя людьми, это может
быть внутренняя дилемма. Например я не могу решить, должны ли база данных
быть оптимизированной по размеру или по скорости доступа. В результате мы
получаем самый идиотский «мастер» во всей истории Windows. Это окно
настолько абсурдно, что заслуживает специальной награды. Целой новой
категории наград. Это окно, которое возникает при попытке в первый раз
найти что-то в файле справки:
[pic]
Первая проблема этого окна в том, что он отрывает вас от ваших мыслей. Вы
обращаетесь за помощью к файлу справки, и вам нет никакого дела, по крайней
мере в этот момент, до того, будет ли база данных маленькой, большой, или
покрытой шоколадом. Тем временем эта наглая программа читает вам лекцию о
том что она должно создать список (или базу данных). Наконец это окно даже
не диалог, а «мастер» (вторая страница которого, если перефразировать, говорит что-то типа «спасибо за то что вы бесполезно потратили свое
время»). Очевидно, что у разработчиков была какая-то идея, какой из
способов лучше, но они так и не смогли порекомендовать пользователю ни один
из вариантов. Это приводит нас ко второму главному правилу дизайна
интерфейсов:
|Каждый раз, предоставляя пользователю выбор, |
|вы просите его принять решение |
Просить пользователя принять решение само по себе не так плохо. Свобода
выбора - это замечательно. Проблема возникает, когда этот выбор им не
нужен. В случае файла справки люди обращаются к нему, когда им нужно что-то
сделать, но они не знают как. Например, создать приглашение на день
рождения. Это занятие может быть прервано тем, что они не знают, как
перевернуть картинку с воздушным шариком вверх ногами, или что-то еще, поэтому они обращаются за помощью к файлу справки. И вот теперь какой то
программист-системы-индексного-поиска в Microsoft с идеей собственной
значимости имеет наглось еще раз прерывать пользователя и начинать учить
его, как создаются списки (или базы данных).
И уж поверьте мне, пользователи заботятся о гораздо большем количестве
вещей, чем вы можете думать. Они используют вашу программу для выполнения
какой-то задачи. Они заботятся об этой задаче. Если это графическая
программа, они наверняка хотят контроллировать каждый пиксел для получения
лучшего результата. Если это программа для создания web-сайтов, вы можете
быть уверены, что они жаждут сделать свой сайт именно таким, каким они
хотят его видеть. Но они не заботятся о том, где находится тулбар
программы – сверху или снизу, они не заботятся, индексирован ли файл
справки или нет. Они не заботятся о многом другом, и в этом и состоит
ответственность дизайнера сделать этот выбор за них.
Когда в 1990 г. был выпущен Microsoft Excel 3.0, это была первая программа
с новым интерфейсным решением – панелью инструментов (toolbar). Это было
интересное решение, которое нравилось людям, и каждый стал его копировать –
до такой степени, что сейчас уже непривычно видеть программу без панели
инструментов. Успех панели инструментов вдохновил разработчиков Excel на
исследование с использованием специальной версии программы, котороую они
распространили среди узкого круга людей. Эта версия отслеживала наиболее
часто используемые команды и передавала эту информацию в Microsoft. Поэтому
в следующюю версию Excel был добавлен еще один ряд кнопок на панели
инструментов, на этот раз содержащий большинство часто используемых команд.
Великолепно.
Но проблема заключается в том, что создатели панели инструментов не знали, когда следует остановиться. Они хотели позволить пользователям настраивать
панель инструментов. Они хотели дать пользователям возможность перемещать
панель инструментов по экрану. Затем они подумали о том, что меню – это не
что иное как панель инструментов, с надписями вместо иконок, поэтому они
дали пользователям возможность перемещать меню по экрану. Проблема: кому
это надо? Я ни разу не встречал человека, который бы хотел расположить меню
в каком либо другом месте, кроме как сверху. Но вот каковы последствия:
если вы случайно чуть-чуть промахнетесь мимо пункта меню Файл и двинете
мышкой, вы вытащите панель с меню туда, где бы вы меньше всего хотели её
видеть – блокируя документ, над которым работаете.
[pic]
Сколько раз вы видели это? И если это произошло по ошибке, не так то
просто догадаться что вы сделали не так, и как это исправить. В итоге
существует возможность (двигать меню), которая никому не нужна (хорошо, пускай она нужна 0.1% всех людей), но которая мешает практически каждому.
Однажды мне позвонила моя знакомая и попросила помочь ей с проблемой
отправки e-mail. Она сказала «Половина моего экрана - серая».
Половина экрана серая?
За пять минут выяснения, что же все-таки произошло : она случайно
перетащила панель задач Windows к правому краю экрана, а затем случайно
расширила её.
[pic]
Такие вещи никто не делает специально. И множество пользователей просто не
могут с этим справиться. По определению, если вы случайно перенастроили
какую-нибудь опцию в программе, вы не знаете, как вернуть ее обратно. Это
просто кошмар, как много людей деинсталлируют а затем заново устанавливают
программу, когда что-то идет не так, потомучто по крайней мере это они
умеют.
Каждый раз, предоставляя пользователю выбор, вы просите его принять
решение. Это не обязательно плохо, но все же вы должны всегда пытаться
минимизировать количество решений, которые должен принять пользователь.
Это не значит, что надо избавиться от всех случаев выбора. Для пользователя
есть достаточно решений, которые он должен принять в любом случае: как
будет выглядеть документ, как будет работать веб-сайт, и т.д. В этих
случаях, сходите с ума: это здорово давать людям выбор, любыми способами, чем больше, тем веселее. И есть еще одна категория, когда людям нравится
выбирать – возможность изменить внешний облик программы, не меняя ее
поведения. Все нравятся «скины» в WinAmp, каждый устанавливает себе
картинку на рабочий стол. Так как этот выбор оказывает влияние только на
внешний вид программы, не меняя ее функциональность, это хорошой способ
дать людям выбор.
2.Отрицательная обратная связь.
Когда пользователь видит на экране сообщение об ошибке, он чувствует себя
так же, как будто кто-то громким голосом и в снисходительном тоне сказал
ему "Это серьезная ошибка, приятель. Что за ерунду ты ввел?". Пользователям
это очень не нравится! Программы, работающие таким образом, имеют
чрезвычайно плохой интерфейс. Однако, большинство программистов на это
просто пожимают плечами, продолжая создавать окна сообщений об ошибках. Они
просто не знают, как создавать надежные программы.
Первые компьютеры были маломощными и дорогими. Операторами этих машин были
ученые в белых халатах, которые понимали, что нужно процессору, и не
обижались, увидев сообщение об ошибке. Они знали, насколько сложна работа
компьютера. Они не имели ничего против появления сообщения типа " Abort,
Retry, Fail?" или др. Так зародилась традиция отношения программы к
человеку, как к процессору. С самого начала развития компьютерной техники
программисты уяснили, что самый верный способ взаимодействия программы с
пользователем - это требование от него ввода данных и выражение
недовольства, когда пользователь не смог достичь уровня совершенства
процессора.
Примеры такого силиконового ханжества встречаются везде, где программа
вынуждает пользователя действовать так, как это нужно ей, вместо того, чтобы адаптироваться к нуждам человека. Силиконовое ханжество - это цикл
отрицательной обратной связи, в котором программа игнорирует пользователя, когда он делает то, что она хочет, и кричит на него при малейшем
отклонении.
Силиконовое ханжество необходимо для взаимодействия внутри программы.
Каждый хороший программист знает, что если модуль А передал ошибочные
данные модулю В, то последний должен сразу же отбросить эти данные, сгенерировав подходящее сообщение об ошибке. Отсутствие такого
взаимодействия указывает на серьезную ошибку в проектировании модулей. Но
люди - не модули программы. У людей есть эмоции и чувства - у компьютеров
их нет. Когда один кусок кода отклоняет ввод другого, последний не хмурится
и не страдает. Процессору все равно, даже если вы выключите компьютер. Но у
людей-то эмоции есть, и они могут легко выйти из под контроля. Когда вы
предлагаете что-то коллеге по работе и он говорит вам "Заткнись, это
глупо!", это задевает ваши чувства. Вы начинаете думать, что вас не так
поняли. Вы смотритесь в зеркало - все ли у вас в порядке с зубами и т.д.
Все эти действия - часть человеческой натуры.
Однако на позитивную обратную связь люди реагируют очень хорошо.
Представьте себе, что всякий раз, когда программа смогла понять информацию, введенную пользователем, она показывает некий индикатор успешного
завершения процесса. Если программа не может найти смысл во введенной
информации, она никак не реагирует, что указывает на ошибку. "Если не
можешь сказать ничего хорошего, лучше молчи".
Одна из причин того, почему программы так трудны в обучении - отсутствие
позитивной обратной связи. С позитивной обратной связью люди учатся лучше.
Люди хотят эффективно использовать свои программы. Они не хотят, чтобы
программа била им по рукам в случае ошибки. Человеку нужно вознаграждение, или по крайней мере, уведомление в случае успеха.
Сторонники негативной обратной связи могут привести множество примеров ее
эффективности для руководства людьми. Эти примеры верны, но почти всегда
негативная обратная связь нужна, чтобы удержать людей от того, что они
хотят сделать, но не должны. Но когда дело касается того, что люди хотят
сделать, лучше всего связь позитивная. Представьте себе лыжного
инструктора, который кричит на вас или официанта в ресторане, который
громко объявляет, что ваша кредитная карточка недействительна.
Помните, что мы говорим о недостатках негативной обратной связи от
компьютера. Негативная обратная связь от другого человека, хотя и
неприятна, может быть оправдана в определенных обстоятельствах. Слышать от
программы, что вы сделали ошибку - унизительно. Пользователям не нравится
быть униженными. Ничто из того, что происходит в компьютере, не может быть
достаточной причиной для оправдания унижения человека. Ничто. Не имеет
значения то, насколько важна для вас целостность базы данных, она не стоит
того, чтобы оскорблять пользователя. Если целостность данных такая важная
вещь для вас, вы должны позаботиться о методах ее поддержания без унижения
пользователя.
Вот три основных способа избежать сообщений об ошибках:
1. Делайте ошибки невозможными
2. Закладывайте позитивную обратную связь
3. Проверяйте, не редактируйте
Наилучший способ избежать сообщений об ошибках это сделать так, чтобы
пользователь не смог их совершить. Вместо требования ввести данные с
клавиатуры, предоставьте пользователю список возможных вариантов выбора.
Еще один прекрасный способ избежать сообщений об ошибках - это сделать
программу достаточно умной для того, чтобы избежать вопросов к
пользователю. Многие сообщения об ошибках говорят что-то вроде "Неверные
данные. Пользователь должен ввести ХХХХ". Почему же программа не может, зная, что должен ввести пользователь, ввести ХХХХ сама? Вместо запроса у
пользователя имени файла на диске, давая возможность выбрать несуществующий
файл, программа может запомнить, с какими файлами велась работа последний
раз, и предоставить их список.
Позитивная обратная связь - хороший способ вознаградить пользователя за
правильное пользование программой. Наилучший способ позитивной обратной
связи это звук. К несчастью, долгие годы окна с сообщениями об ошибках
сопровождались громким и пронзительным гудком, и звук стал ассоциироваться
с ошибкой. Этот звук - публичное клеймо ошибки пользователя. Он громко
объявляет всем в пределах слышимости, что вы только что сделали нечто
глупое. Все то же силиконовое ханжество создало неоспоримую веру в голове
большинства разработчиков программ, что звук является плохим признаком, и
никогда более не должен считаться частью дизайна интерфейса. На самом деле
это не так.
В реальной жизни любой объект или система, за исключением компьютерных
программ, используют звук для позитивной обратной связи. Закрывая дверь, мы
определяем, что она защелкнулась, услышав щелчок, тишина означает, что
дверь еще не закрыта. Когда мы говорим с кем-либо и они отвечают "Ага" или
"Да-да" мы знаем, что наши слова до них доходят. Когда они молчат, значит
мы говорим неубедительно. Наши программы должны давать нам постоянные
небольшие звуковые подсказки, похожие на тихие щелчки кнопок клавиатуры.
Наши программы были бы более дружественными и простыми в использовании, если бы они издавали едва заметные, но легко узнаваемые звуки, когда
действия пользователя верны. Программа может выдавать мягкий звук каждый
раз, когда пользователь ввел верное значение. Если программа не понимает
введенную информацию, она молчит. В этом случае пользователь может сразу
скорректировать данные безо всякого смущения. Когда пользователь начинает
перетаскивать иконку, программа может коротко щелкнуть, а во время движения
объекта производить тихое шипение. Когда объект находится над областями, где его нельзя оставить, звук меняется на что-нибудь более неблагозвучное.
Когда наконец пользователь отпустит кнопку мыши, он будет вознагражден
тихим "Да!", если действие завершено успешно, и тишиной из динамиков, если
действие не имеет смысла.
Некоторые люди часто оспаривают этот аргумент, говоря, что пользователи не
любят звуковую обратную связь, что они обижены звуками, издаваемыми
компьютером, и что они им не нравится, когда компьютер гудит и пикает на
них. На это я скажу, что поведение людей обусловлено следующими
установками:
1. Компьютеры всегда производят звуки, когда программа выдает сообщение об ошибке
2. Компьютерные звуки обычно громкие, монотонные и неприятные
Если дать людям выбор между звуком и его отсутствием в качестве негативной
обратной связи, они выберут первое. Если им дать выбор между отсутствием
звука и неприятными звуками для позитивной обратной связи, они сделают
выбор, основываясь на личных пристрастиях и вкусе. Если же дать людям выбор
между отсутствием звука и мягким и приятным звуком для позитивной обратной
связи, почти все выберут звук. Мы никогда не давали нашим пользователям
шанса попробовать высококачественную звуковую положительную обратную связь
в наших программах, так что неудивительно, почему люди ассоциируют звук с
плохим интерфейсом.
Звуковая обратная связь должна быть очень тихой, не громче чем звук нажатий
клавиш на переносном компьютере. Программа должна производить звук каждый
раз, когда пользователь работает с программой правильно или каждый раз, когда пользователь вводит информацию, которую программа понимает.
Пользователи быстро начнут зависеть от этих звуков, и начнут работать более
быстро и эффективно.
Без сомнения, все эти решения потребуют от программистов большей работы.
Это нисколько меня не волнует. Я не хочу, чтобы программисты больше
работали, но, выбирая из сложности работы программистов и сложности работы
пользователей, я немедленно заставляю программистов работать. Работа
программиста - удовлетворить пользователя, а не наоборот.
Еще один метод избежать сообщений об ошибках для программы, когда
пользователь вводит неправильные данные, состоит в том, чтобы принять, что
они неправильные, потому что программа, а не пользователь, плохо
информирована.
Если, например, пользователь вводит счет-фактуру для несуществующего номера
клиента, программа может принять эти данные, и сделать себе специальную
заметку, которая показывает, что пользователь должен исправить ее. Затем
она будет наблюдать, чтобы удостовериться, что пользователь ввел
необходимую информацию до конца отчетного периода. Так в действительности
работают большинство людей. Они не вводят "неверных" номеров. Просто люди
обычно вводят информацию в такой последовательности, которую программа
принять не может.
Но если вы настаиваете, я признаю единственную ситуацию, когда сообщение об
ошибке допустимо: Когда ваш принтер горит.
Выясняем, чего ожидают пользователи.
Когда новый пользователь садится за программу, он не начинает работать с
ней "с пустого листа". У него уже есть определенные представления о том, как будет работать программа. Если он уже работал с подобной программой, он
будет думать что и эта программа будет работать точно также. Если они
вообще хоть раз работали с компьютерными программами, они будут ожидать, что и эта программа будет следовать определенным принципам. Они могут
догадываться о том, как работает инфтерфейс. Это называется моделью
пользователя: это его собственное понимание того что делает программа.
У программы тоже есть своя "модель", только что она закодирована битами и
предназначения для исполнения процессором. Она называется "программной
моделью". Как мы уже знаем их первой главы, если программная модель
соответствует модели пользователя, то интерфейс программы можно считать
удачным.
Вот один из примеров. В Microsoft Word (как и в большинстве других
текстовых редакторах) когда вы вставляете картинку в документ, она
встраивается в файл документа. Вы можете создать картинку, перетащить ее в
документ, затем удалить первоначальный файл с картинкой, но она все равно
останется в документе.
Однако язык HTML такого делать не позволяет. В HTML-документе изображения
хранятся в отдельных файлах. Если посадить пользователя, до этого
работавшего только с текстовыми редакторами, и ничего не знающего об HTML, за современный визуальный HTML-редактор типа FrontPage, то он наверняка
решит, что все изображения будут храниться в этом же файле. Назовите это
инерцией модели пользователя, если хотите.
В итоге мы приходим к конфликту между моделью пользователя (изображение
будет встроено) и программной моделью (изображение должно находиться в
отдельном файле), а источником проблем является пользовательский интерфейс.
Если вы разрабатываете такую программу, как FrontPage, вы только что нашли
свою первую интерфейсную проблему. Вы не в силах изменить сам формат HTML.
Тем не менее что-то должно состыковать программную модель с моделью
пользователя.
У вас есть два варианта. Можно попытаться изменить модель пользователя. Но, оказывается, что это очень трудно сделать. Можно поместить объяснение в
файл справки, но все знают, что пользователи его не читают. Можно вывести
маленькое окошко с сообщением поясняющее, что изображение не будет встроено
в документ, но здесь тоже есть проблемы: сообщение будет раздражать опытных
пользователей, а кроме того пользователи не читают то что написано в окнах
сообщений (мы поговорим об этом позже, в шестой главе).
Итак, если гора не идет к Магомету, то придется изменить программную
модель. Например, при вставке изображения в документ можно помещать его
копию в папку с документом, так что это будет по крайней мере
соответствовать копированию (а оригинал можно спокойно удалить).
Как выяснить, какова пользовательская модель программы?
Оказывается это довольно легко сделать. Просто спросите у самих
пользователей! Выберите пять разных сотрудников вашей фирмы или друзей и
расскажите им в общих чертах, что делает ваша программа
Вам даже не нужна специальная usability-лаборатория - можно просто взять
первого попавшегося человека и провести с ним небольщой usability-тест.
Только не расказывайте им раньше времени как все работает. Попросите их
"думать вслух" и задавайте открытые вопросы, пытаясь выяснить, какова их
пользовательская модель.
Если модель вашей программы нетривиальна, то она наверняка не соответствует
модели пользователя. Большинство моделей пользователя не очень сложны.
Когда люди пытаются догадаться, как работает программа, они чаще
предсавляют себе простые вещи, чем сложные.
На картинке ниже показан экран компьютера Макинтош, изображающий две
открытых "книги" Excel (Spreadsheet1 и Spreadsheet2), и один документ Word
(Document 1). Любой пользователь, не знакомый с этой программой, подумает, что все окна независимы, ведь они выглядят независимыми:
[pic]
Согласно модели пользователя, щелчок на окне Spreadsheet1 должен сделать
его активным. Но на самом деле активным становится окно Spreadsheet2:
[pic]
Оказывается, что программная модель MS Excel предполагает наличие
"невидимых" листов, к которым как бы прикреплены окна документов. Когда вы
делаете Excel активным приложением, все его окна тоже появляются сверху
остальных.
Невидимые листы? Какова вероятность того, что модель пользователя включает
в себя концепцию "невидимых листов"? Наверное около нуля. Таким образом
пользователи ранее не работавшие с этой программй будут удивлены таким
поведением.
Довольно трудно привести в соответствие программную и пользовательскую
модели, даже когда они просты. Когда же они становятся сложными, это еще
сложнее. Так что используйте самую простую модель.
Будьте последовательны
Представьте себе, что каждый компьютер производители будут снабжать клавиатурой с оригинальной раскладкой клавиш. За ними невозможно будет работать - пользователи привыкли к QWERTY и ЙЦУКЕН. То же касается и программ. Для похожих функций нужно использовать и похожие формы. Иначе программа будет для пользователя одним большим сюрпризом...
Заимствуйте
Что именно? Да все! Если пользователь привык к чему-либо, он быстрее
научится работать и будет получать больше удовольствия от работы с вашей
программой, так как сможет использовать приобретенные навыки. Базовое
заимствование - это использование стандартных элементов, общих для всех
программ Windows - меню, списки, кнопки и т. п. Более тонкое -
заимствование популярной метафоры. Только делать это надо осторожно.
Взгляните на интерфейсы коммуникационной программы Trio Communication и
записной книжки Lotus Organizer. Trio выглядит как настоящий телефон, а
Organizer - как настоящая записная книжка. Только почему-то первой
пользоваться можно с большим трудом, а вторая программа легка и понятна.
Почему? Авторы Trio переделали все элементы управления на свой лад.
Программа разукрашена до такой степени, что на обучение работе с ее
оригинальным интерфейсом уходит масса усилий. Organizer же для стандартных
функций использует стандартные средства.
Не возбраняется заимствовать внешний вид, команды, удачные интерфейсные
решения и т. п. Хотите встроить в свою программу табличный редактор? Лучше
всего, если он будет похож на Excel. Вы убьете этим сразу двух зайцев:
а) пользователю не надо будет тратить время на обучение работе с редактором;
Рекомендуем скачать другие рефераты по теме: предмет культурологии, скачать реферат бесплатно на тему.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата