- PVSM.RU - https://www.pvsm.ru -
Некоторые наши специализированные [1] компании [2], предоставляющие услуги на рынке юзабилити, уже много лет укомплектованы дипломированными психологами (чаще всего, выпускниками кафедр инженерной или общей психологии). Действительно, уже более полувека русскоязычная психология исследует процесс взаимодействия человека и техники (первая наша книга по теме [3]) и, в частности, интерфейсы между оператором и техническим устройством. Конечно, терминология эта носит сугубо эргономический характер, однако это не затрудняет перенос знаний в IT-среду (например, Дмитрий Сатин [4], основатель UsabilityLab, является выпускником самой эргономической [5] кафедры факультета психологии МГУ).
Психологическое знание в России популяризируется слабо, хотя само по себе может быть очень полезным для разработки программных продуктов. Я попытаюсь коротко изложить некоторые базовые принципы проектирования — как их видно изнутри классических психологических (преимущественно, когнитивных) работ. Я уверен, что буфер, которым является юзабилити, IT-индустрии не нужен: психологические знания можно научиться применять напрямую.
Человеческие возможности обработки информации ограничены. Рабочая память [6], «область ясного сознания» не может вместить больше 5-9 элементов, если заниматься только припоминанием, и больше 3-5 – если параллельно заниматься чем-то ещё, например, конструировать модель системы, формулировать мысль, каждую секунду отнимать от сотни по три в уме [7] и так далее. Причём пропускная способность человека как системы переработки информации динамична и напрямую зависит от структуры данных [8], с которыми человек взаимодействует. То есть одна и та же задача может оказаться для абстрактного пользователя как лёгкой, так и сложной — в зависимости от того, как она представлена интерфейсом. Задачи, которые решает пользователь с помощью программного продукта, обладают внутренней сложностью, и для их решения необходимо некоторое умственное усилие [9]. Избежать внутренней сложности невозможно. Главная задача интерфейса — свести к минимуму сложность внешнюю, единственным источником которой он сам и является.
Основная цель гуманного проектирования – это забота о пользователе. Back-end-разработчик обеспечит потребителя необходимыми средствами решения его задач, в ответ на это дизайнер и юзабилити-инженер должны сделать средства доступными, а взаимодействие с программой – предсказуемым. С помощью этих средств хороший продукт контролирует эмоциональное состояние пользователя.
Общепсихологическое знание, которое поможет нам в этом, можно упаковать в несколько базовых принципов.
Основными показателями удобства интерфейса являются сложность выполнения необходимых пользователю задач и время, затрачиваемое на каждую из них. Именно эти показатели определяют объём усилий, которые, по ощущению пользователя, расходуются на выполнение действия. Показатели имеют разные приоритеты в зависимости от обслуживаемой интерфейсом деятельности.
Сложность. Любое действие имеет свою, внутреннюю, сложность, от которой невозможно избавиться, не сделав это действие бессмысленным. Например, если Вы хотите совершить покупку, Вам не избежать финансовых операций, как и принятия решения по поводу этих операций. Эти два действия обеспечат внутреннюю сложность Вашей деятельности. Вы примете решение, вероятнее всего, без внешних посредников. Однако на этапе произведения финансовых расчётов Вы будете применять различные средства, созданные внутри сообщества. Пусть это будут бумажные деньги. В этом случае процедура финансовых расчётов будет разложена на последовательность движений, простой арифметики и познавательных действий (позволяющих Вам отличать купюры и монеты друг от друга), поддержанную петлёй обратной связи [10], которая корректирует движения на основе опознания и арифметики. Все эти действия предъявляют к Вам требования и являются внешней сложностью задачи, созданной несовершенством интерфейса «деньги-покупатель».
Таким образом, внешняя сложность задачи всегда является разницей между актуальной сложностью задачи и минимальной возможной сложностью задачи. Минимальная сложность умственной задачи достигается в утопическом случае: любое действие осуществляется в один психологический квант, «одну мысль», без необходимости внешних действий и, тем более, коррекций. «Мысль» как единица измерения никуда не годится, но пафос прост: минимизируем количество действий, а особенно – действий, требовательных к характеристикам их исполнения. Так, попасть курсором в кнопку 10*10 требует гораздо более точных сенсомоторных координаций, чем в кнопку 100*100 – значит, требует большего усилия (пресловутый закон Фиттса учитывает время, но не усилия, и игнорирует контекст. Однако лучше, чем ничего). Оценка сложности каждого поведенческого действия опирается на психофизиологические и – широко – эргономические знания; оценка действий умственных гораздо сложнее и пока, в основном, происходит на базе экспериментальных данных о разнообразных ограничениях человека как системы переработки информации и результатов популяционных исследований.
Основной способ снизить нагрузку на пользователя – организовать информацию так, чтобы в фокусе внимания [11] располагались 1-5 элементов, которые:
Лучшее средство, как известно, незаметно. Работая с хорошим интерфейсом, Вы замечаете его, только если отвлекаетесь от решаемых задач. Когда же Вы работаете, есть только цель и Ваши действия по её достижению.
Временные затраты были более или менее удачно формализованы в GOMS-моделировании [12], (полноценно этот метод применим только к строго регламентированным деятельностям), которое частично можно использовать при разработке любых приложений. В целом, при разработке интерфейса не так важно, сколько именно времени в среднем тратит пользователь на выполнение какого-либо действия, главное – грамотно составить последовательности из этих действий, отвечающие основным запросам (сценарии важнее действий). Временные и умственные затраты часто находятся в противостоянии. Например, организуя многоуровневый список, часто приходится выбирать между его шириной и глубиной: глубокий список снизит умственные затраты на ориентацию в каждом уровне, но замедлит пользователя на пути к нужному ему элементу; в то время как широкий список ускорит выбор элемента, но значительно повысит нагрузку из-за увеличения количества одновременных альтернатив.
Пользователи моделируют приложение. Каким бы простым ни был Ваш сервис, у каждого потребителя будет уникальная модель, исходя из которой он будет проектировать последовательности действий для достижения своих целей. По сути, ментальная модель является метафорой происходящего между человеком и приложением, позволяющей быстро ориентироваться в законах, по которым приложение устроено, и правилах взаимодействия с ним. Эта метафора появляется всё по той же причине: возможности человека обрабатывать информацию ограничены, и все правила в «сыром» виде просто невозможно запомнить: они автоматически объединяются в экономичную (насколько это возможно) структуру. Многие разработчики сбрасывают задачу создания и поддержания ментальной модели приложения на пользователей, устраивая анархию и провоцируя ошибки. Качество ментальной модели легко оценить по объёму инструкции, необходимой для полноценной работы или, если всё не так плохо, по времени врабатывания в приложение (времени, необходимого для освоения всех функций программы, отвечающих запросам данного пользователя, и осознания степени соответствия спроса на функции в продукте его предложению). Ментальная модель придаёт поведению интерфейса предсказуемость. Если средний пользователь после первичного ознакомления с Вашим продуктом может правильно ответить на десять случайных интерфейсных вопросов из десяти, Вы создали удачную ментальную модель. (Вопросы при этом должны касаться поведения интерфейса, например: «Что произойдёт, если нажать эту кнопку?» — или: «Что нужно сделать, чтобы…?»)
Экономичная ментальная модель:
Только разрабатывая продукт, можно понимать его истинную структуру, поэтому разработчики ответственны за ментальную модель системы, передаваемую в интерфейсе. Модель не может сложиться сразу, но она ядро интерфейса, и уделить ей недостаточно внимания – неизбежно снизить понятность программы и удобство пользования.
Ментальная модель существует на нескольких уровнях. Требования к ним наследуются снизу вверх: необходимое свойство кнопки является необходимым свойством всего приложения и всех промежуточных уровней. Выделим четыре основных уровня:
Каким образом передать пользователю всю эту информацию? Использовать для этого текст означает, на самом деле, писать инструкцию, то есть капитулировать перед задачей построения ментальной модели и сбрасывать эту задачу на пользователя = делать приложение непонятным. Передать модель текстом, научить пользователя, в принципе, возможно, однако требует большой подготовки за пределами юзабилити: естественные языки имеют низкую выразительную мощность, когда дело доходит до моделей. Поэтому передавать пользователю ментальную модель системы гораздо проще образами, скрытыми правилами и аналогиями.
Скрытые правила – законы организации приложения любого уровня, выраженные невербально. Часто они носят внешний относительно приложения характер, то есть наследуются из более широкого контекста. Прямоугольник высотой чуть больше строки с высветленным текстом, обращающимся к пользователю («Чем Вы заняты?», «Что нового?», «Введите описание задачи…»), считается полем ввода текста. Его функция никак не следует из формы или других характеристик, однако с развитием Интернет-технологий значение закрепилось в культуре, и теперь сделать, например, кнопку с таким внешним видом означает запутать подавляющее большинство пользователей. Это скрытое правило базируется на аналогии.
Аналогии – перенос некоторых свойств объекта на другой объект, используя совпадающие характеристики образов восприятия этих объектов или способов взаимодействия с ними. Поле текстового ввода на разнообразных стенах в соцсетях аналогично уже написанным сообщениям по пространственным характеристикам (размер и положение), а также аналогично полям ввода и вывода некоторых технических устройств (строке калькулятора и счётных приборов в автомобиле, телеграфной ленте, рукописной строке в тексте). Наиболее выгодные аналогии – со знакомыми пользователю в реальной жизни предметами. Типичные примеры – это инструмент «вырезать» (уничтожает содержание в одном месте, предоставляя возможность восстановить его в другом), предметные иконки (приоткрытая дверь – выход, шестерёнка – механическое устройство, настройки; динамик с волнами около него – звук), постраничный вид документа в текстовых редакторах, файловые системы всех популярных операционных систем (и само слово «файл»). Найти продукт с графическим интерфейсом, не использующий аналогии, практически невозможно. Именно аналогии Д.Норман [13] положил в основу принципа естественного соответствия [14], подчёркивая этим названием необходимую интуитивность аналогий, их понятность без размышлений.
Все пользователи совершают ошибки. Как и в случае сложности, задача идеального юзабилити-инженера – избавить пользователя от ошибок по вине программы и позволить ему исправить ошибки, допущенные по его собственной вине. В первом приближении что-то может идти не так на двух уровнях: моторном и смысловом. Типичные ошибки моторного уровня – неточное позиционирование курсора при клике, промах по клавише, неверное опознание буквы. Ошибки смыслового уровня – это неверное опознание слова, совершение ненамеренного действия, забывание намерения… В большинстве случаев уровень ошибки не имеет особого значения, однако есть ситуации, в которых защита именно от определённого типа ошибок в корне изменяет диалог человека с программой.
Возможные ошибки пользователя зачастую невозможно моделировать без учёта его состояния, а этот фактор определяет многое во взаимодействии потребителя с продуктом. Утомлённый, задумавшийся или взволнованный (тонизированный) пользователь вероятнее допускает ошибки обоих уровней, невозможные для пользователя в оптимальном рабочем состоянии [15].
Защита от моторных ошибок — ограничения на минимальный размер шрифта и кнопки, на минимальное расстояние между границами соседних кнопок.
Защита от смысловых ошибок — максимальная различимость функциональных элементов, их разумная группировка (экономизация ментальной модели) и самое главное – очевидные защиты от деструктивных действий, особенно если такие действия необратимы. Возможные способы защиты от фатальных ошибок:
Понятие нагрузки, или когнитивной нагрузки [16], сложно формализовать, однако в лабораторных условиях уже много лет проводятся исследования [17], моделирующие взаимодействие человека с различными системами. Эти исследования показывают несколько базовых факторов ментальной нагрузки, на основе которых можно получить простые правила снижения нагрузки, то есть уменьшения внешней сложности действия:
Конечно, ни с одним текстом наперевес нельзя сходу начать делать хорошие интерфейсы, как и что угодно другое. Но разнообразные правила юзабилити [19] чаще всего дают размытые указания к действиям, не объясняя причин (поэтому обречены на ошибочные применения), а с психологическими знаниями вообще ведут себя живодёрски. Я бы хотел, чтобы это изменилось.
Автор: 2cun
Источник [20]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/yuzabiliti/41086
Ссылки в тексте:
[1] специализированные: http://uidg.ru/
[2] компании: http://usabilitylab.ru/
[3] первая наша книга по теме: http://rutracker.org/forum/viewtopic.php?t=3960218
[4] Дмитрий Сатин: http://usabilitylab.ru/team/dmitrij-satin/
[5] самой эргономической: http://www.psy.msu.ru/about/kaf/industr.html
[6] Рабочая память: http://psych.wisc.edu/ugstudies/Psych733/Baddeley.pdf
[7] отнимать от сотни по три в уме: http://vocabulary.ru/dictionary/28/word/krepelina-proby
[8] зависит от структуры данных: http://slhs.univ-fcomte.fr/rech/psycho/filesMathy/MathyFeldmanChunking.pdf
[9] умственное усилие: http://www.princeton.edu/~kahneman/docs/attention_and_effort/Attention_lo_quality.pdf
[10] обратной связи: http://dic.academic.ru/dic.nsf/enc_medicine/20677
[11] фокусе внимания: http://dic.academic.ru/dic.nsf/psihologic/1207
[12] GOMS-моделировании: http://en.academic.ru/dic.nsf/enwiki/624644
[13] Д.Норман: http://en.wikipedia.org/wiki/Donald_Norman
[14] принципа естественного соответствия: http://rutracker.org/forum/viewtopic.php?t=2417300
[15] оптимальном рабочем состоянии: http://psychology.academic.ru/3622/%D0%99%D0%B5%D1%80%D0%BA%D1%81%D0%B0-%D0%94%D0%BE%D0%B4%D1%81%D0%BE%D0%BD%D0%B0_%D0%B7%D0%B0%D0%BA%D0%BE%D0%BD
[16] когнитивной нагрузки: http://www.instructionaldesign.org/theories/cognitive-load.html
[17] исследования: http://ceur-ws.org/Vol-696/paper4.pdf
[18] прерываний: http://psyjournals.ru/files/34484/exp_collection_VelichkovskyBB.pdf
[19] правила юзабилити: http://designformasters.info/posts/usability-rules-psychology-terms/
[20] Источник: http://habrahabr.ru/post/190286/
Нажмите здесь для печати.