
- •Эргономика
- •1. Производительность пользователя
- •1.2. Длительность интеллектуальной работы
- •1.2.1. Непосредственное манипулирование
- •1.2.2. Потеря фокуса внимания (прерывание)
- •1.2.3. Ограничение принятия решений
- •1.2.4. Закон Хика
- •1.3. Длительность физических действий пользователя
- •1.3.1. Закон Фитса
- •1.3.2. Методы повышения доступности кнопки
- •1.3.3. Уменьшение числа манипуляций
- •1.3.4. Уменьшение необходимости ввода данных
- •1.3.5. Память программы
- •1.4. Длительность реакции системы
- •1.4.1. Фоновый режим выполнения задач
- •Типы человеческих ошибок
- •3.1. Ошибки, вызванные недостаточным знанием предметной области.
- •3.2. Опечатки.
- •3.3. Не считывание показаний системы.
- •3.4. Моторные ошибки.
- •Методы предотвращения ошибок
- •4.3.Повышение разборчивости и заметности индикаторов
- •4.3.1. Качество/скорость восприятия элемента
- •Ошибочно выбранный визуальный сюжет элемента.
- •4.3.1.2. Нестандартно выбранный сюжет элемента или реализация сюжета.
- •4.3.1.3. Избыточная детализация сюжета.
- •4.3.2.Физическая реализация элемента
- •4.4. Блокировка потенциально опасных действий до получения подтверждения
- •4.4.1. Блокируйте системные файлы.
- •4.4.2. Не делайте опасные для пользователя кнопки кнопками по умолчанию.
- •4.5. Проверка действий пользователя перед их принятием
- •4.6. Самостоятельный выбор параметров
- •Обучение работе с системой
- •5.1. Почему пользователи учатся
- •5.2. Средства обучения
- •5.2.1. Понятность системы
- •5.2.1.1. Ментальная модель
- •5.2.1.2. Метафора
- •5.2.1.3. Идеома
- •5.2.1.4. Аффорданс
- •5.2.1.5. Стандарт
- •5.2.2. Обучающие материалы
- •5.2.2.1.Типы обучающих материалов
- •5.2.2.2. Среды передачи обучающих материалов
- •5.2.2.3. Спиральность
- •Субъективная удовлетворенность
- •5.1. Эстетика
- •5.2. Субъективное восприятие скорости работы
- •5.3. Приемы для уменьшения субъективного восприятия
- •5.4. Уменьшение вероятности стрессовых ситуаций
- •5.5. Пароли
- •5.6. Сообщение об ошибках
- •5.7. Как избежать сообщений об ошибках
- •5.7.2. Каким должно быть сообщение об ошибке
- •5.7.3. Пузырь как альтернатива сообщениям об ошибке
- •5.7.4. Сообщения о завершении операции
- •5.7.4.1. Необходимо предлагать пользователю обратную связь, не прерывая его.
- •5.7.4.2. Используйте само-срабатывающие диалоги.
- •6.1. Программа перегружена элементами управления
- •6.2. Терминология не адекватна знаниям пользователя о системе
- •6.3. От пользователя постоянно требуется дополнительная информация
- •6.4. Программа не готова к немедленной работе и требуют настройки
- •6.5. Программа имеет многодокументный интерфейс
- •6.6. Отсутствует единый стиль
- •6.7. Программа перегружена окнами сообщений
- •6.8. Интерфейс отражает внутреннюю структуру реализации и мышление программистов
- •6.9. Взаимное размещение объектов на экране не совпадает с их логической связью и/или с их важностью
- •6.10. Пиктограммы используются некорректно
- •Заголовки
- •Дизайн окна
- •Командные кнопки
- •Порядок табуляции фокуса ввода
- •Пиктограммы
- •Взаимодействие с пользователем
Эргономика и юзабилити пользовательского интерфейса программного обеспечения
[Методическое пособие]
Д. А. Королев. МИЭМ, каф. ЭВА. Москва, 2004.
Ключевые слова:
usability, HCI, UI, юзабилити, эргономика, пользовательский интерфейс, человеко-машинное взаимодействие, контрольные списки, оконный интерфейс, качество ПО, кнопки, списки, поля ввода, пиктограммы, окна, вкладки, курсоры.
Аннотация курса
Данный курс содержит информацию по таким темам, как: информационное взаимодействие, психологические аспекты человеко-машинного взаимодействия, инструментальные среды разработки пользовательских интерфейсов, эргономика и юзабилити пользовательского интерфейса программного обеспечения и web-сайтов, проектирование и разработка пользовательского интерфейса.
Цели и задачи курса
Курс предназначен для создания у слушателя целостного представления о существующих стандартах и правилах построения пользовательских интерфейсов ПО, о психологических основах восприятия информации и методах использования свойств человеческой психики в построении пользовательских интерфейсов. Изучив курс, слушатель сможет оценивать создаваемое ПО с точки зрения юзабилити и мотивировать свои решения или замечания в области пользовательских интерфейсов.
Введение
Определение пользовательского интерфейса
Интерфейс - система правил и средств, регламентирующая и обеспечивающая взаимодействие нескольких процессов или объектов. Пользовательский интерфейс (ПИ) - система правил и средств, регламентирующая и обеспечивающая взаимодействие программы с пользователем. Далее под программой, программным обеспечением или программным продуктом будет также подразумеваться и Интернет-сайт. Пользовательский интерфейс часто понимают только как внешний вид программы. Однако на деле пользователь воспринимает через ПИ всю программу в целом, а значит, такое понимание ПИ является слишком узким. В действительности ПИ объединяет в себе все элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением (ПО). Это не только экран, который видит пользователь. К этим элементам относятся:
набор задач пользователя, которые он решает при помощи системы;
используемая системой метафора (например, рабочий стол в MS Windows);
элементы управления системой;
навигация между блоками системы;
визуальный (и не только) дизайн экранов программы;
средства отображения информации, отображаемая информация и форматы;
устройства и технологии ввода данных;
диалоги, взаимодействие и транзакции между пользователем и компьютером;
обратная связь с пользователем;
поддержка принятия решений в конкретной предметной области;
порядок использования программы и документация на нее.
Определение эргономики
Эргономика (от греч. ergon работа и nomos закон) -- научно-прикладная дисциплина, занимающаяся изучением и созданием эффективных систем, управляемых человеком. Эргономика -- отрасль науки, изучающая человека (или группу людей) и его (их) деятельность в условиях производства с целью совершенствования орудий, условий и процесса труда. Основной объект исследования эргономики -- системы «человек-машина», в т. ч. и т. н. эргатические системы; метод исследования -- системный подход. ( Энциклопедия «Кирилл и Мефодий»)
Определение usability
юзабилити (usability ): степень, в которой продукт может быть использован определенными пользователями для достижения поставленных целей эффективно, экономично и с удовольствием в заданном контексте использования. (Пункт 3.1 стандарта ISO 9241-11)
Ситуация на мировом рынке ПО
Развитие информационных систем показывает, что конкуренция продуктов из области функциональности переходит в область удобства и их комфортности для пользователей. Перед разработчиками встает проблема проектирования ПИ, позволяющего обеспечить эффективное и экономичное использование ПО. В этих условиях, эргономические методы проектирования становятся технологиями, обеспечивающими рыночный успех проекту. Давно уже существуют технологии позволяющие существенным образом улучшить ПИ. Однако сами по себе они не производят эргономичных интерфейсов. Так, например, графический интерфейс сам по себе не является более эргономичным, чем текстовый интерфейс, и, как показывает опыт, может быть менее пригоден к использованию, если разработан не правильно. В большинстве случаев на разработку ПИ уходит значительная доля бюджета и усилий программистов. Проведенные исследования показывают, что:
ПИ составляет от 47 до 60 процентов кода программы;
на разработку ПИ уходит как минимум 29 процентов проектного бюджета и в среднем 40 процентов всех усилий разработчиков по созданию системы.
Ситуация на российском рынке ПО
Большинство российских предприятий лишь в последние годы стали решать задачи автоматизации своей деятельности, и рынок корпоративного ПО до сих пор отличают быстрые темпы роста и слабая конкуренция. В таких условиях эргономические методы проектирования ПИ, естественно, остаются в тени. Разработчики с неохотой тратят деньги на грамотное проектирование ПИ и последующее юзабилити-тестирование ПП. Но ситуация меняется на глазах. У развития эргономики ПО в России есть несколько предпосылок:
Конкуренция все же обостряется, что заставляет всё время повышать качество продукта.
Наступает фаза зрелости отечественных программных продуктов (ПП). Любой ПП в момент своего появления обладает сравнительно небольшой функциональностью и сравнительно простым интерфейсом. Со временем функционально возрастает, а интерфейс соответственно усложняется. Рано или поздно продукт взрослеет, на этом этапе добавление новой или изменение существующей функциональности требует параллельных шагов по оптимизации интерфейса, без которой эффект от этой функциональности не может быть получен.
Рост количества пользователей, не имеющих навыков работы с компьютером. Еще несколько лет назад доступ к компьютерам имели в основном достаточно искушенные пользователи, но в настоящий момент ситуация изменилась. Количество людей, не склонных разбираться с тонкостями настройки ПО многократно возросло и составляет на настоящий момент очень большой процент от общего числа пользователей. Тем не менее, использование компьютера в повседневной работе является для них необходимостью. Именно поэтому важным критерием при выборе ПП становится простота и удобство интерфейса.
Преимущества хорошего ПИ
Системы, разработанные с учет требований юзабилити, эргономичны. Они работают именно так, как пользователи ожидают, и позволяют пользователю сосредоточится на собственно задачах, а не на особенностях взаимодействия с системой. Эффективный интерфейс является результатом того, что разработчик уделяет внимание не только данным, с которыми работает пользователь, но и собственно пользователю, его задачам и деятельности. Сами по себе ориентированные на пользователей методы проектирования ПИ обладают определёнными преимуществами. Очевидно, что идентификация и устранение ошибок на ранних этапах проектирования системы ведет к ее значительному удешевлению. Например, такие методы, как бумажное макетирование ПИ совместно с конечными пользователями, ведет к установлению более полного понимания между разработчиком и заказчиком ПО, что, в свою очередь, снижает вероятность последующих переделок. Более полное и четкое определение задач и договоренность относительно принципов построения ПИ ведет к более адекватной оценки задачи как заказчиком, так и исполнителем, и позволяет заказчику убедится в том, что исполнитель действительно заботится об его потребностях. Вот несколько существенных преимуществ хорошего пользовательского интерфейса:
Повышение конкурентоспособности.
Разработчики, уделяющие внимание интерфейсу своего продукта могут оставить далеко позади своих конкурентов, сделав свой продукт простым и удобным в использовании. Есть примеры, когда разработка ПП, проведенная с соблюдением требований юзабилити, увеличивала доходы производителя на 80%. При этом пользователи всегда оценивают простоту использования ПП, как самую важную характеристику.
Снижение стоимости разработки.
Реальная себестоимость ПП, как правило, значительно выше стоимости их разработки. Себестоимость возрастает за счет внедрения и поддержки продукта, причем она может возрастать на 80% от стоимости разработки. Это объясняется не пониманием программистами целей и ожиданий конечных пользователей продукта, причем это не понимание обнаруживается сразу после сдачи продукта в эксплуатацию. За счет локализации проблем пользовательского интерфейса на ранних этапах разработки, можно почти всегда снизить затраты на 60-90%.
Увеличение аудитории продукта.
К примеру, Интернет переполнен сайтами, которые, не учитывая потребностей посетителей, отталкивают потенциальную аудиторию – они сложны в использовании, на них трудно найти нужную информацию, они не доносят до посетителя послание владельца. Используя ориентированный на цели пользователей подход, вы можете быть уверены в том, что ресурс будет отвечать нуждам посетителей, что поможет делать успешный бизнес. Другой пример. Армия пользователей постоянно пополняется людьми, не готовыми к использованию компьютера, например, людьми предпенсионного возраста, которые до внедрения компьютерной техники вполне успешно решали свои профессиональные задачи. С появлением компьютера на рабочих местах эти люди переживают огромный эмоциональный стресс. До внедрения компьютера они отчетливо представляли себе всю картину делопроизводства, но теперь они такую способность утратили. Более того, из-за возрастного снижения способности к обучению, они зачастую не могут обучиться пользоваться даже очень простыми системами. В то же время, проведение пользовательского тестирования и этнографического анализа будущей аудитории системы, позволяет значительно снизить требования к навыкам работы на компьютере, за счет чего удается сохранить в производственном процессе большое количество трудоспособного (и опытного) населения.
Уменьшение затрат на обучение и поддержку пользователей.
Использование юзабилити методов при проектировании ПО значительно снижает время, необходимое для обучения пользователей, равно как и ресурсы технической поддержки. В среднем использование таких методов при проектировании продукта снижает время обучения на 25%, а количество обращений в службу технической поддержки – на 60%.
Уменьшение потерь продуктивности работников при внедрении системы и более быстрое восстановление утраченной продуктивности.
Общеизвестно, что часто после внедрения новой системы на предприятие производительность работников значительно падала, а бывали случаи, когда работа и вовсе замирала. Чем удобнее и проще интерфейс, тем легче происходит обучение и привыкание к новой системе, и соответственно, быстрее эта система начинает окупаться и приносить прибыль.
Доступность функциональности системы для максимального количества пользователей.
Поскольку с точки зрения пользователя ПИ является ключевым фактором для понимания функциональности программы, плохо разработанный интерфейс резко ограничивает функциональность системы в целом.
Снижение риска катастроф.
По отчетам различных правительственных и независимых комиссий по расследованию катастроф, одной из наиболее распространенных причин аварий является т.н. «человеческий фактор». Под этим термином понимается ситуация, при которой человек в некоторой ситуации принял неправильное или не принял правильного решения. На самом деле, значительной части аварийных ситуаций, причиной которых стал человеческий фактор, можно было бы избежать, если бы интерфейс систем, вызвавших катастрофу, препятствовал операторам совершать действия неправильные и помогал бы совершать действия правильные. Учитывая количество человеческих жизней, которые с удручающей регулярностью уносят катастрофы, создание таких интерфейсов является нравственным долгом разработчиков. Таким образом, программы с хорошим ПИ повышают производительность пользователей, минимизируют количество человеческих ошибок и увеличивают субъективную удовлетворенность пользователей.
Подготовка специалистов по разработке ПИ
На настоящий момент (2003 г.) подготовкой специалистов с области проектирования ПИ, эргономики и юзабилити ПО у нас в стране никто не занимается. По мнению некоторых компетентных источников сейчас насчитывается порядка 20 профессионалов в этой области. Большинство из них занималось вопросами эргономики еще с «советских» времен, остальная часть либо обучалась у первых, либо самообучалась в течении многих лет. Кроме этой группы профессионалов, есть прослойка достаточно квалифицированных разработчиков, которые, по крайней мере, осознают необходимость двигаться в направлении разработки ПП с учетом требований юзабилити и пытаются что-то делать в этой области. Однако опыта у них не достаточно. Такая ситуация обусловлена прежде всего тем, что до настоящего времени потребности в таких услугах не было. Сейчас, когда ситуация изменилась, предлагается два варианта: либо ехать за границу и обучатся там, либо самообучаться здесь, в России. Если отбросить первый вариант как дорогостоящий, то схема второго варианта достаточно проста: человек изучает соответствующую литературу, главным образом англоязычную. По сути, такой вариант возможен только в том случае, если компания-разработчик понимает необходимость в таком специалисте и решает вырастить его из уже работающего сотрудника. В этом случает, у человека появляется возможность закреплять свои знания в реальных проектах, что является необходимым условием для становления сотрудника как профессионала.
Эргономика
Существует четыре основных (все остальные – производные) критерия эргономичности (качества) любого интерфейса, а именно:
1. Скорость работы пользователей
2. Количество человеческих ошибок
3. Скорость обучения
4. Субъективная удовлетворенность пользователей
Подразумевается, что соответствие интерфейса задачам пользователя является неотъемлемым свойством интерфейса.
1. Производительность пользователя
Существует две разных производительности - производительность компьютера и производительность человека. Производительность компьютера – широко известное техническое понятие и для ее увеличения существует множество методов. Увеличение производительности компьютера ускоряет все процессы, повышает эффективность их выполнения и уменьшает стоимость одной операции. Увеличение производительности компьютера обычно приводит к увеличению производительности человека, но есть и исключения. Во-первых, для этого нужно увеличить производительность всего компьютера, а не только одной его части. За последние 20 лет сложилась странная ситуация - в то время как мощность компьютеров увеличилась в несколько тысяч раз, скорость работы пользователя в некоторых случаях даже замедлилась из-за непомерно раздутых операционных систем и программ. К счастью, существует много способов повысить производительность человека, не затрагивая аппаратную часть компьютера. Производительность находится в прямой зависимости от длительности выполнения работы пользователем. Длительность выполнения работы пользователем состоит из
1.1. Длительности восприятия исходной информации
1.2. Длительности интеллектуальной работы
1.3. Длительности физических действий пользователя
1.4. Длительности реакции системы
Как правило, длительность реакции системы является наименее значимым фактором.
1.2. Длительность интеллектуальной работы
Взаимодействие пользователя с системой (не только компьютерной) состоит из семи шагов:
формирование цели действий;
определение общей направленности действий;
определение конкретных действий;
выполнение действий;
восприятие нового состояния системы;
интерпретация состояния системы;
оценка результата.
Из этого списка становится видно, что процесс размышления занимает почти все время, в течение которого пользователь работает с компьютером, во всяком случае, шесть из семи этапов полностью заняты умственной деятельностью. Соответственно, повышение скорости этих размышлений приводит к существенному улучшению скорости работы. К сожалению, существенно повысить скорость собственно мышления пользователей невозможно. Тем не менее, можно уменьшить влияние факторов, усложняющих (и, соответственно, замедляющих) процесс мышления. Далее рассматриваются эти самые факторы и методики по уменьшению их влияния:
1.2.1. Непосредственное манипулирование
1.2.2. Потеря фокуса внимания (прерывание)
1.2.3. Ограничение принятия решений
1.2.4. Закон Хика
Как правило, длительность реакции системы является наименее значимым фактором.