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