Принципы дизайна приложений для Windows 8. Достигайте большего меньшими средствами
Продолжая серию статей про принципы дизайна для Windows 8, сегодня мы поговорим о том, как добиться большего, используя меньше.
Проектируя приложение для Windows 8, важно научиться отказываться от неважного, вторичного и попросту лишнего, всего того, что отвлекает пользователя от решения его основных задач. С одной стороны, это в чем-то похоже на работу скульптора, который отсекает от каменной глыбы куски материи до тех пор, пока уже будет нечего отнять без того, чтобы не нарушить функциональность или красоту объекта.
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away. -Antoine de Saint-Exupery
С другой стороны, это отлично пересекается с идеями ТРИЗ, в которой идеальное решение достигается само по себе путем использования имеющихся ресурсов и без добавления надстроек.
Контент
Во главе угла лежит контент (или, скажем, пользовательский опыт), ради которого пользователи приходят к вам, работают с вашим приложением и, например, платят вам свои золотые монетки или (о, ужас) соглашаются смотреть рекламу.
«Контент прежде всего» — это ваша самая главная мантра, ваша надежная опора и ваша путеводная звезда.
Дополнением к контенту является оболочка — хром (Chrome). Оболочка — это как фантик для конфеты, ограничивающий, отделяющий, обезапасывающий и иногда украшающий (впрочем, навряд ли вы согласитесь, что если фантик ярче ощущений от конфеты, то это хорошая конфета). Это все может быть актуально в физическом мире, но в мире цифровом многие из этих задач можно и целесообразно решать иначе.
Обычно оболочка используется для решения следующих трех задач:
- композиция,
- навигация,
- взаимодействие.
Во многих случаях эти задачи можно решить более элегантно и изящно.
Композиция
О структурировании контента мы уже отчасти поговорили — вместо дополнительных рамок и любых других ограничивающих конструкций можно использовать сам контент и свободное пространство, привязанные к сетке. Контент должен дышать. Иерархию контента можно задать расположением, размером и шрифтом.
Важно только то, чтобы для пользователя было прозрачно, какая информация является ключевой — и ее можно было легко считать, а какая хотя и, возможно, важна, но все же вторична — к ней можно обратиться, если есть время и потребность в этом.
Навигация
В большинстве приложений основной задачей будет изучение контента: быстрое считывание текущего состояния, самой сути, и погружение в детали, подробности и исследование связанных блоков информации. Задача приложения — облегчить навигацию по контенту, сделав ее удобной и увлекательной (затягивающей) одновременно.
Если вы на минуту отвлечетесь и подумаете о вебе и ужасных сайтах, которые всем нам периодически встречаются, вы легко вспомните еще недавно повсеместно используемые приглашения продолжить чтение в виде призывов «читать далее», «подробнее» или других столь же ничего не говорящих выражений. Сегодня это уже всеми разумными людьми считается моветоном.
Если нужно предложить пользователю погрузиться в детали, это можно сделать напрямую через контент. Не нужно никаких дополнительных стрелочек или призывов. Во многих случая навигацию по контенту можно делать через сам контент. Нажал — погрузился.
Конечно, при этом контент должен подсказывать, что с ним можно что-то сделать: заголовок группы может подсказывать, что есть еще контент внутри, видео может иметь характерную иконку проигрывания, а отдельный элемент (плитка с картинкой) будет просто показывать небольшую рамку при наведении курсора мыши.
Если какие-то переходы нужны лишь время от времени, они должны быть спрятаны и появляться при необходимости. В Windows 8 для этого можно использовать панель навигации или выпадающее меню заголовка.
Взаимодействие
Наконец, задача взаимодействия с контентом никуда не деется. Нам по-прежнему необходимо применять те или иные действия, вызывать те или иные команды и т.п. Но так как приоритет отдан контенту, все это, скорее всего, является вторичным — и как все вторичное должно уходить на второй план.
Как вы, наверняка, догадываетесь, зачастую многие действия привязываются к конкретным элементам контента. Если вы вспомните какой-нибудь новостной сайт, вполне возможно, что к каждой статье на нем привязаны характерные сегодня кнопочки лайков, твитов и добавления в закладки (избранное), а в интерфейсе магазина это могут быть, к примеру, кнопки добавления в корзину и в список желаний.
Теперь я вам говорю, что все это должно быть убрано куда-то подальше (от контента). Что нам предлагает Windows 8 для реализации командного интерфейса?
Во-первых, есть несколько типовых команд для инициализации, которых используется специальное интерфейсное решение — панель чудо-кнопок, на которую вынесены задачи поиска, расшаривания (общий доступ), взаимодействия с подключенными устройствами и настроек. Этот интерфейс появляется только по запросу пользователя и позволяет единообразно решать типовые задачи во всех приложениях.
Во-вторых, для действий, которые по своей логике привязываются к отдельным элементами контента (или, к примеру, ко всему экрану — текущему состоянию приложения), есть панель приложения, которая также появляется по запросу пользователя — например, при выделении элемента, к которому нужно применить некоторые операции.
Если нужно увеличить размер шрифта на странице с новостью, команда для этого должно появляться по запросу пользователя и в остальное время не должна отвлекать его внимание от приятного чтения, занимая место на экране.
Для некоторых задач более подходящими могут оказаться контекстные меню, или, скажем, выпадающие списки и в целом всплывающие элементы, также появляющиеся по запросу, то есть в ответ на то или иное действие пользователя.
Для особо важных действий правильным решением может быть размещение соответствующих кнопок непосредственно на экране приложения, например, для отправки письма, запроса или сообщения.
В целом, команды должны быть контекстными и уместными.
Фокус
В приложении важно иметь фокус, выделять, какие сценарии являются основными, а какие лишь расширяют и дополняют, но вообще говоря не являются необходимыми и, скорее всего, представляют собой лишь приятное дополнение.
О роли приоритизации в проектировании приложения я отдельно писал в серии статей про проектирование. Отмечу лишь, что важно не только правильно расставлять приоритеты и акценты, но и думать о скорости решения ключевых задач. У пользователя скорее всего, нет времени разбираться, как работать с вашим приложением. Если вы его просите потратить немного своего времени на изучение, вы должны предложить ему что-то действительно стоящее.
Доверие
Старайтесь излагать информацию максимально четко, прямо и прозрачно. Если нужно подсказать пользователю (например, в случае ошибки), делайте это контекстно, чтобы он мог быстро разобраться, в чем проблема. Но лучше подумайте над предупреждением ошибок.
Про изложение информации отмечу еще один интересный нюанс. Сравнивая дизайн для Windows с дизайном для других популярных платформ, его иногда называют инфографичным в противовес иконографичности. Инфографика, как некоторый способ представления информации, должна всегда быть понятной и доступной. Такой инфографике можно доверять. Инфографика, созданная просто «для красоты», как совокупность схем, графиков, текста и картинок, навряд ли сильно вам поможет.
Контент должен вызывать доверие. Будьте честны и прямолинейны.
Ключевой ресурс по дизайну для Windows — design.windows.com