Влад В. Головач
Дизайн пользовательского интерфейса
Искусство мыть слона
Благодарности
Сердечно благодарю моих коллег, сотрудников Usethics, общение с которыми всегда служило мне неиссякаемым источником новой информации и вдохновения.
Также хочу выразить благодарность слушателям моих курсов, проводимых компанией Tekama. Книга родилась на этих курсах; без вопросов, которые мне задавали слушатели (и без недоумевающего выражения их лиц, появлявшегося в некоторых местах изложения), книга получилась бы менее связной, понятной и адекватной.
Отдельно благодарю сеть кофеен Кофе Хауз, в которых была написана большая часть этой книги, за (сравнительно) дешевые порции кофеина и пригодные для работы с ноутбуком столы.
Предуведомление
Чтобы эта книга могла избежать более суровой критики, чем та, которую она, несомненно, заслуживает, необходимо сказать несколько слов в качестве извинения и объяснения.[1] Как извинение, так и объяснение нужны потому, что в этой книге вовсе нет того, что есть во множестве других книг по теме — а именно описания процесса разработки интерфейса и эвристик проектирования.[2]
♦ Дизайн интерфейса можно рассматривать как процесс. Авторы, пишущие о процессе, негласно допускают, что если мы провели этот процесс правильно (в правильном порядке выполнили нужные шаги, на каждом этапе сделали всё, что нужно), мы получаем правильный интерфейс. На мой взгляд, это допущение неверно. Поваренные книги тоже являются фактически сборниками процессов в кулинарии, но следование поваренной книге обеспечивает пристойный результат, только если её читатель умеет готовить вообще. Соответственно, одного процесса недостаточно.
♦ Другие книги исповедуют иной подход, а именно трактуют дизайн интерфейсов как следование набору правил-эвристик («терминальные кнопки должны быть размещены справа внизу или справа сверху» и т. п.).[3] Авторы этих книг допускают, что если мы сделаем интерфейс по этим правилам, интерфейс получится хорошим. Этот вариант тоже не кажется мне плодотворным. Он напоминает мне изучение иностранного языка по словарю и грамматическому справочнику. Конечно, это приемлемо, но истинного знания языка так получить невозможно. Например, фразы «Коля пошел в школу» и «В школу Коля пошел» являются правильными как грамматически, так и орфографически. Только вот смысл у них чуточку разный…
Отрицать важность этих двух подходов глупо. Но одних их, на мой взгляд, недостаточно. Дизайн интерфейса — творческая деятельность, которую невозможно алгоритмизировать хотя бы так же полно, как грамматику или поваренную книгу. Не менее важно обладать пониманием дизайна, умением отделять значимые вопросы в проектной деятельности от незначимых, а главное — отвечать на них.
Кроме того, дизайнер интерфейса редко когда занят разработкой хорошего интерфейса. На самом деле он разрабатывает хороший интерфейс в имеющиеся у него сроки и бюджет. Такая задача девальвирует и процесс (нужно знать ещё и КПД каждого этапа, чтобы решать, какие этапы проводить и сколько ресурсов на них выделить), и эвристики (без знания того, насколько применение каждой из них улучшает интерфейс, работать тяжело).
В этом смысле дизайн интерфейса не только и не столько процесс работы или знание и применение правил построения интерфейсов, а живая проектная деятельность. В ней не только важно сделать правильно, но не менее важно не сделать неправильно — и даже важно не сделать чего-либо ненужного. В ней нет чётких этапов (где это видано, чтобы жизнь следовала интеллектуальным построениям), но зато важен коэффициент полезного действия дизайнера и, к примеру, отсутствие трения в проектной команде.
Соответственно, в этой книге я пытался научить этой проектной деятельности. О процессе я не писал вовсе, а об эвристиках писал, только если это эвристики поведения дизайнера, а не правила построения интерфейса.
Не читайте эту книгу!
Неотъемлемое право любого автора — писать о том, что он считает важным, и делать это так, как он считает правильным. Обратной стороной этого права является то, что если довести его до максимума, получится текст, который будет неприятно читать другим.
Я это право до максимума довел.
Соответственно, прежде чем начать, я хочу предупредить о том, что ждет вас, тов. читатель, дальше:
♦ На момент написания этой книги уже существовал небольшой, но неплохой массив текстов по теме на русском языке (см. раздел Рекомендуемая литература). О том, что уже написано в этих книгах, я предпочел не писать вовсе.
1
Первое предложение позаимствовано мной из замечательной книги Бертрана Рассела «История западной философии».
2
Здесь и далее под эвристиками я разумею эмпирические правила, упрощающие поиск решений или ограничивающие набор возможных решений. Например, эвристикой является правило «в группе радиокнопок должно быть значение по умолчанию». Это правило не всегда верно, но проще и дешевле вовсе об этом не думать, а просто следовать этой эвристике.
3
Терминальная кнопка заканчивает взаимодействие пользователя с фрагментом интерфейса. Например, кнопки ОК и Отмена в диалоговом окне закрывают это окно и поэтому называются терминальными.