Программисты, безумно увлеченные всяческими гаджетами и склонностью все контролировать, обожают начинять продукты многочисленными «примочками» и опциями, однако подобное стремление идет вразрез с фундаментальными представлениями о качественном проектировании. Как говорится, меньше значит больше.
Чем меньше подозревает пользователь об участии проектировщика в разработке продукта, тем больше это сигнализирует о том, что проектировщик справился со своей задачей на высочайшем уровне. Качественный интерфейс, как и обслуживание в ресторане высшего класса, должен быть ненавязчивым. Если какой-то аспект взаимодействия удался проектировщику особенно хорошо, пользователи даже не должны обратить на это внимания. В индустрии программного обеспечения, где целью проектирования провозглашаются «крутые» интерфейсы, бывает весьма трудно продираться сквозь тьму артефактов взаимодействия, на которые какой-нибудь несчастный программист, очевидно, потратил целую уйму времени. Как жаль, что он не потратил свои усилия на создание чего-либо более эффективного. Многим графическим дизайнерам свойственно полагать, что качественное проектирование означает «крутой дизайн». Отчасти это действительно бывает так, однако вне зависимости от того, насколько «крут» ваш интерфейс, чем он меньше заметен, тем лучше. Еще раз: суть подхода заключается в том, что чем менее навязчив интерфейс для пользователя, тем качественнее справился проектировщик со своей работой. Представьте, что вы смотрите фильм, на границах кадра заметны яркие софиты, а после каждой сцены слышно, как режиссер кричит «Снято!». Только представьте, как навязчиво будут выглядеть подобные «спецэффекты» и как все волшебство кинофильма для зрителя враз будет разрушено.
Величайший программист и проектировщик программного обеспечения Кай Краузе (Kai Krause) известен своими неповторимыми интерфейсами. Кай разработал ряд программ для работы с графикой, которые считаются одними из самых мощных и интересных продуктов. Интерфейсам его продуктов свойственна необычайная ошеломительная красота и одновременно некая загадка, будто играешь в игру. В дополнение к своей специализации программиста Кай является также графическим дизайнером, поэтому его продукты отражают дизайнерское стремление добавлять своим творениям элемент неясности – словно в современном искусстве – с целью произвести впечатление. В отношении Кая такой подход работает «на ура», поскольку пользователями его продуктов являются такие же дизайнеры – как профессионалы, так и люди, увлеченные дизайном в качестве хобби. А вот за пределами этого мира продуктам Кая найти понимание нелегко.
Программирование характеризуется тем, что для решения любой поставленной задачи в нем можно найти бесконечное количество способов. Опытные программисты в своих поисках оптимального варианта решения периодически наталкиваются на такой вариант, который позволяет избавиться от сотен и даже тысяч строк кода. Но это происходит лишь тогда, когда программист способен мысленно совершить качественный скачок и заглянуть вперед. Стоит ему избавиться от множества строк кода, как его программа станет на порядок лучше. Чем меньше кода, тем меньше ошибок, запутанных моментов, возможностей для возникновения некорректного поведения, и такую программу легче сопровождать.
Проектировщики пользовательского взаимодействия такой подход разделяют. В поисках оптимальных вариантов проектирования они выявляют участки взаимодействия, в которых можно избавиться от целых экранов или больших и сложных диалогов. Проектировщику хорошо известно, что каждый дополнительный элемент интерфейса – дополнительная нагрузка на пользователя. Каждая лишняя кнопка или значок – это еще один элемент, с которым пользователь должен ознакомиться и попытаться освоить, чтобы достичь своих истинных целей. Добиться большего эффекта при меньших усилиях – это всегда более выигрышный вариант.
Проектировщик, который мыслит в правильном направлении, будто бы вовсе исключает интерфейс из продукта. Он не станет проектировать экран за экраном, испещренный многочисленными кнопками и «примочками». Как-то к нам обратился менеджер по продукту одной из крупных компаний, допытываясь, можем ли мы перепроектировать его продукт. Далее мы выяснили, что в интерфейсе должно быть около десятка диалоговых окон. Тогда мы рассказали ему, как происходит наш рабочий процесс, а затем огласили предварительную стоимость работ. Если я правильно помню, цифра составляла приблизительно 60 000 долларов. Услышав это, менеджер пришел в ярость. «Возмутительно! – воскликнул он. – Пять тысяч долларов за один экран!» У меня тогда просто духу не хватило сказать, что когда мы урежем количество диалоговых окон, оставив всего одно или два, то цена даже возрастет, если использовать для ее вычисления подобный метод. Он бы просто не понял, о чем речь. Рассчитывать стоимость проектирования, исходя из стоимости каждого экрана, – это то же, что оплачивать счет в ресторане, прибавляя цену за каждый подход официанта к столику. Чем лучше работает официант, тем меньше он перемещается по залу, а чем лучше работает проектировщик, тем «меньше» интерфейса он создает.
Бывают в жизни проектировщиков взаимодействия и в некотором роде обидные моменты. Например, если вы в рабочем процессе нашли, как можно сделать что-то невероятно правильно, обстоятельно и до невозможности верно, то все, завидев это, восклицают: «Ну конечно! А разве это можно было сделать как-то по-другому?» Такое случается даже в тех ситуациях, когда клиент многие месяцы или годы безуспешно пытается найти решение проблемы, бездумно глядя на нее без малейшей идеи в голове. Такое бывает даже тогда, когда наше решение приносит компании миллионы долларов дохода.
Реализацию значительной части по-настоящему прорывных инновационных идей поначалу очень сложно даже вообразить, зато стоит ей появиться на свет, как всем сразу становится очевидно, что это нужно было делать именно так. Совершить такой прорыв в проектировании невероятно сложно. Можно потратить долгие часы на подготовку, обучение и исследование проблемной области и все равно не найти подходящего решения. А потом вдруг кто-то другой укажет на ключевой момент, и все сразу встает на свои места, столь же естественным образом, как и с изобретением колеса. Вы можете бить во все колокола, возвещая о своей находке, но найдутся те, кто ответит: «Конечно же, колесо круглое! А разве оно может быть каким-то другим?» Так что, как ни обидно это признавать, но похвастать оригинальной находкой в отношении проектирования бывает весьма затруднительно.
Алан Карп, ученый в области компьютерных наук, как-то поведал: «Почти все заявки на патент, которые я направлял, были отвергнуты по причине „очевидности“».
Когда я говорю, что интерфейс должен быть ненавязчивым, я не имею в виду, что в нем должно быть мало функционала, хотя иногда справедлив и такой вариант. Я имею в виду, что не следует вынуждать пользователя взаимодействовать с программой много дольше, чем это необходимо для решения его конкретных задач.
В этой и двух предыдущих главах я кратко описал наши самые широко используемые инструменты проектирования. Они доказали свою эффективность в проектировании продуктов и сервисов, начиная от систем промышленного контроля до корпоративного планирования и продуктов для массового рынка. В следующей главе я расскажу о некоторых других доступных проектировщику инструментах, призванных помочь создавать продукты с более качественным пользовательским взаимодействием.