Юзабилити в программном обеспечении

Крупные компании ПО тратят уйму денег на юзабилити. Про то, что это такое, и как сделать интерфейс программы удобным, я и попробую рассказать в этой статье.

Некоторые термины


Юзабилити. Определение юзабилити согласно стандарту ISO 9241-11 звучит так: "Юзабилити — это степень эффективности, продуктивности и удовлетворенности, с которыми продукт может быть использован определенными пользователями в определенном контексте использования для достижения определенных целей" (или в оригинале: "The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use").

HCI (human-computer interaction — человеко-компьютерное взаимодействие). Это научная и прикладная дисциплина, предметом которой является то, как люди используют компьютеры и как следует разрабатывать компьютерные системы для того, чтобы обеспечить более эффективное их использование конечными пользователями. Дисциплина включает элементы психологии, эргономики, информатики, графического дизайна, социологии и антропологии.

UCD (user-center design, проектирование, ориентированное на нужды пользователей). Подход к проектированию компьютерных систем (приложений, веб- сайтов), при котором во главу ставятся пользователи, их нужды и требования. При использовании данного подхода достигается высокий уровень юзабилити, что сказывается, например, на увеличении продаж (в электронном магазине).

IA (information architecture, информационная архитектура). Совокупность методов и приемов организации информации для облегчения выполнения людьми их информационных потребностей по поиску и просмотру информации.

Немного истории

Человеко-компьютерное взаимодействие начало развиваться как отрасль в начале 80-х годов, когда появилось осознание проблем, которые могут возникнуть у пользователей при использовании программ. В начале 70-х годов компьютеры впервые стали появляться на рабочих столах у людей. Сразу после того, как были изобретены персональные компьютеры, IBM удивила многих в индустрии ПО тем, что разделила "железо" и программное обеспечение и разрешила другим программам работать на своих ПК. Компании — производители ПО стали получать выгоду от софта. Небольшие фирмы осознали, что стоимость технической поддержки их собственных систем очень высока. В компаниях поняли, что решить эту проблему можно путем разработки продуктивных и эффективных интерфейсов, которые решали бы задачи пользователей без их обращения в службу технической поддержки. К середине 90-х Windows стала очень распространенной операционной системой. Этот факт требовал, чтобы разработчики придерживались стандартов. Рост парка домашних компьютеров создал огромный спрос на юзабилити-специалистов в командах разработчиков софта.

Принципы юзабилити

Заимствуйте. Если пользователь привык к чему-либо, он быстрее научится работать и будет получать больше удовольствия от работы с вашей программой, так как сможет использовать приобретенные навыки. Базовое заимствование — это использование стандартных элементов, общих для всех программ Windows: меню, списки, кнопки и т.п. Не стоит, например, вместо стандартных RadioButton использовать для тех же целей (одиночного выбора) CheckBox, которые применяются несколько для других целей (мультивыбора).

Не прерывайте пользователя. Представьте, что вы печатаете текст и одновременно скачиваете из Интернета десяток файлов. После каждого скачанного файла программа сообщает вам эту радостную новость, вам приходится передвигать указатель мыши к кнопке OK, щелкать на нее и вспоминать, что же вы писали. Мне кажется, что эта программа со временем будет выключена из-за ее чрезмерной радости. Это правило можно обойти: например, сообщить тихонько эту информацию пользователю на несколько секунд, но не отвлекая его от его работы. Очень хорошо решила эту проблему компания Microsoft (Windows XP), предложив программам, которые запускаются в системном трее, выдавать пользователю всплывающие подсказки на несколько секунд, после чего они исчезают.

Бритва Оккама. Есть такой классический принцип, который используется в юзабилити: "Не множить сущности без надобности". Американцы говорят "Keep it simple, stupid". На языке юзабилити это расшифровывается следующим образом. Любая задача должна решаться минимальным числом действий. Если вы хотите отправить письмо Васе, и только ему, то вовсе не обязательно предлагать пользователю выбрать других адресатов, копии писем, спрашивать, нужен ли отчет о доставке, подтверждение прочтения, в каком формате пересылать прикрепленные файлы... — ему нужно просто отправить письмо Васе. Или вот еще один всем хорошо знакомый пример. Окно, которое появляется при первом запуске справки. Я не могу решить, должна ли база данных быть оптимизированной по размеру или по скорости доступа. В результате мы получаем самый идиотский мастер во всей истории Windows. Это окно настолько абсурдно, что заслуживает специальной награды. Целой новой категории наград. Это окно, которое возникает при попытке в первый раз найти что-то в файле справки. Первая проблема этого окна в том, что оно отрывает вас от ваших мыслей. Вы обращаетесь за помощью к файлу справки, и вам нет никакого дела, по крайней мере, в этот момент, до того, будет ли база данных маленькой, большой или покрытой шоколадом. Тем временем эта наглая программа читает вам лекцию о том, что она должна создать список (или базу данных). Там же встречается совершенно неуклюжая фраза: "your help file(s)". То есть у вас может быть один или несколько файлов. Как будто для вас это имеет какое-то значение. Но программист, работавший над этим окном, очевидно, понимал, что файлов может быть много, поэтому просто сказать "help file" было бы неправдой. В данной ситуации даже "продвинутые" пользователи, программисты с научной степенью, которые знают все о полнотекстовых индексах, не способны понять, что у них спрашивают. Наконец, это окно даже не диалог, а "мастер" (вторая страница которого, если перефразировать, говорит что-то типа "спасибо за то, что вы бесполезно потратили свое время"). Очевидно, что у разработчиков была какая-то идея, какой из способов лучше, но они так и не смогли выбрать для пользователя ни один из вариантов.

Информативность. Пользователь всегда должен знать, что происходит с программой, и когда ему следует подождать некоторое время. Например, при копировании файлов будет полезно вывести окно, в котором "градусник" будет показывать, сколько процентов файла уже скопировано. Он, конечно, не уменьшит времени, которое пользователю придется потратить на копирование этого файла, однако скрасит его ожидание. Этот "градусник" также сообщит пользователю, успеет ли тот сварить себе чашку кофе. Еще один вариант сообщить пользователю о том, что ему нужно подождать, — песочные часы. Именно они говорят о том, что сейчас происходит какая-то обработка или загрузка данных и что через несколько секунд работа программы возобновится, иначе у него может возникнуть чувство, что программа просто-напросто зависла. В любой среде программирования существует возможность делать кнопку неактивной. Это можно делать, когда введенные пользователем данные ошибочны. Однако если пользователь не понимает, где он совершил ошибку, эта кнопка начинает исполнять роль этакого раздражителя с издевательским подтекстом: "нажми, если сможешь". Поэтому лучше оставлять эту кнопку активной, а при неправильном вводе каких-либо данных сообщать пользователю о сделанной ошибке и о том, как ее исправить.

Кошелек Миллера. Принцип назван в честь ученого-психолога Г.А. Миллера, который исследовал кратковременную память, проверяя выводы, сделанные ранее его коллегой Г. Эббингаузом. Эббингауз пытался выяснить, сколько информации может запомнить человек без каких-либо специальных мнемонических приемов. Оказалось, что обычно емкость памяти ограничена семью цифрами, буквами или названиями предметов. Это "магическое число" семь, служащее своего рода меркой памяти, и было проверено Миллером, который показал, что память действительно в среднем не может хранить более семи элементов. Поэтому рекомендуется разделять окно программы на отдельные блоки и в каждом блоке хранить как можно меньше элементов (не больше семи).

Память. Когда вы дарите девушке на день рождения ее любимые цветы, ей приятно. Ей приятно, что вам не нужно было опять говорить про то, какие цветы ей нравятся и когда у нее день рождения. Ей приятно, что вы помните это. Пользователь тоже девушка по отношению к программе. Программа не должна многократно спрашивать, куда необходимо сделать резервную копию базы данных, если в предыдущий раз пользователь выбирал директорию. Также программа не должна предлагать сделать резервную копию тогда, когда пользователю не нужна такая функция. Программа должна ухаживать за пользователем. На скриншоте можно увидеть реализацию этого правила в программе "Учет наличных": предлагается директория, в которой пользователь обычно создает резервную копию, и есть возможность не выводить это диалоговое окно.

Золотое сечение. Принцип, согласно которому отношение высоты к ширине должно быть равно отношению ширины к сумме высоты и ширины. Т.е. если за y взять высоту окна, а за x — ширину, то y/x=x/(x+y). Это самая приятная для глаза пропорция. Золотое сечение успешно использовано в программе Chameleon Clock. По словам автора, ее дизайн очень понравился бета-тестерам.

Не трогайте чужое. Изменение системных файлов и настроек операционной системы — плохой поступок. Никогда не записывайте информацию в папку Windows. Исключение допустимо лишь в том случае, если вы создаете программу для управления или изменения настроек операционной системы. Не забудьте предупредить об этом пользователя. Если программа будет изменять все стандартные настройки без разрешения пользователя, ей гарантирован нокаут. Не нужно менять стандартные цвета. Предоставьте пользователю выбор цветовой гаммы, потому как "на вкус и цвет друга нет". Необходимо помнить о том, что интерфейс должен быть простой и не перенасыщенный.

Не спрашивать о непонятном. Если бы при установке электронного учебника по химии необходимо было пройти тест по химии, никто бы сей прекрасный учебник не оценил. Не стоит спрашивать пользователя о параметрах функции, которой он еще не пользовался. Также многие программы при установке предлагают выбрать тип установки: обычная или выборочная. Получается, что если выбрать выборочную, мы будем выбирать то, о чем не знаем, а если обычную — то окажемся лопухами. Лучше давать пользователю варианты: сделать это конкретное действие так, как предлагает программа установки, или по-другому.

Подводя итоги, можно сформулировать концепцию профессионального юзабилити: пользователю должно быть уютно (т.е. все знакомо); все действия пользователя должны быть логичны; все используемые функции должны быть под рукой.

Организации в сфере юзабилити

Существует несколько организаций, которые задают вектор движения для юзабилити-сообщества, содействуют распространению и популяризации в промышленности и бизнесе методов проектирования, ориентированных на пользователей.

Ассоциация по вычислительной технике (ACM — Association for Computing Machinery) занимается обучением специалистов и студентов информационным технологиям. В сферу деятельности ACM входит создание и организационная поддержка специальных групп по интересам (SIG — Special Interest Group), в которые объединяются специалисты, заинтересованные в какой-то сфере информационных технологий — например, языках программирования, графике, человеко-компьютерном взаимодействии. У членов SIG есть доступ к цифровой библиотеке, в которой можно найти свежие исследования и публикации. Кроме того, членство в SIG дает скидки при посещении различных практических семинаров и конференций. ( сайт )

Ассоциация юзабилити-профессионалов (UPA — Usability Professionals Association) — организация, объединяющая юзабилити-специалистов — тех, кто занимается популяризацией юзабилити, а также всех, кто заинтересован в изучении и практическом применении юзабилити.( сайт )

Общество "Человеческий фактор и эргономика" (HFES — Human Factors and Ergonomics Society). Эта организация помогает с образованием всем, кто хочет получить профессию, связанную с человеческим фактором, а также тем, чья работа связана с проектированием систем. Организация способствует расширению и обмену знаниями о человеко-компьютерном взаимодействии. ( сайт )

Ссылки:

В статье использована информация с указанных ниже сайтов. Перейдя по ссылкам, вы сможете получить много интересной информации по данной теме:
сайт — только что созданный сайт по юзабилити.
сайт — российский сайт, посвященный юзабилити.
сайт — проектирование интерфейсов.

Игорь Каждан, igor-k@softbusiness.biz


Компьютерная газета. Статья была опубликована в номере 12 за 2007 год в рубрике soft

©1997-2024 Компьютерная газета