Стратегический дизайн интерфейсов

В этом посте я расскажу о своих наблюдениях за тем, как рождается и взрослеет интерфейс продукта в Скетче. Эти идеи можно применять к интерфейсному проекту любого масштаба, будь то лендинг или операционная система.

Мыслить стратегически — значит, смотреть на дизайн в перспективе. Значит, делать его оптимально, чтобы на длительной дистанции сэкономить рабочее время.

Уровни детализации в дизайне интерфейсов

Продуктовый дизайн интерфейсов никогда не заканчивается и постоянно развивается. Я выделяю четыре уровня:

  • логический
  • уровень проектирования
  • визуально-эмоциональный
  • уровень масштабирования

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

Дизайнеры используют Скетч не в полную силу

Дизайнеры, которых я встречал, пытаются использовать Скетч как Фотошоп или Иллюстратор. Но Скетч — не просто очередной модный векторный редактор. Это первый успешный инструмент, созданный специально для работы с интерфейсами. При помощи символов в умелых руках он позволяет создавать бесконечно масштабируемый дизайн-проект. Фотошоп и Иллюстратор нечестно сравнивать со Скетчем, поскольку они были созданы не для дизайна интерфейсов. Их величия никто не отменяет, однако глупо идти в бой, вооружившись микроскопом, если можно выбрать автомат Калашникова.

Дизайн крупного проекта плавно эволюционирует от серых схематичных блоков до проработанной системы, которая напоминает свёрстанный сайт. Скетч позволяет переходить из одного уровня детализации в другой.

Какой макет лучше организован?

Вот два внешне одинаковых макета:

Левый не использует символы, а правый только из них и состоит. Какой макет лучше организован? Напрашивается ответ, что правый. Но нет. Они заточены под разные цели.

Левый: легко менять, трудно масштабировать

Если этот дизайн станет основой для 100 других экранов, то с каждой новой копией в проекте будут появляться плохо управляемые дубликаты объектов. Они должны быть идентичными от экрана к экрану. Чем их больше, тем сложнее будет следить за порядком. Если поменяется единственная иконка или таббар, устареют все 100 макетов.

Правый: дорого создать, идеально масштабировать

Однако, не торопись всё подряд запихивать в символы. Если стиль только формируется и нужно кардинально переделать этот экран, то после отрисовки экрана заново все символы из правого варианта устареют. Время, потраченное на их создание, не окупится. Такой экран с его символами неудобно переставлять среди других экранов, он не лёгок на подъём.

Символы — клей интерфейса

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

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

В зависимости от того, создаю ли я новые символы, или отстреливаю старые, можно понять, в какую сторону я двигаюсь стратегически: детализирую или разрушаю структуру дизайна.

И то и другое направление движения имеет свои плюсы:

Если мы детализируем

структура становится более формальной и сложной. Появляется стройность и логика, она стремится описать свои мельчайшие частицы и следует принципу программирования DRY (don’t repeat yourself). Формализация приводит к порядку и экономит объекты, но неизбежно бюрократизирует систему. Камни фундамента дороже двигать, чем камни на крыше. Формализация дружит с сеткой, заботится о том, чтобы все отступы одинаковы. Так мы цементируем интерфейс, делаем его менее гибким, но стройным.

Интересный пример: я встретил Sketch-проект, который весил 600 мб. В нём практически не использовались символы и было много экранов. Когда я вычистил и переверстал его на символах, вес файла сократился до 150 мб.

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

Если мы упрощаем

Если мы крошим символьную структуру детачем, это ведёт к разжижению дизайна и становится ближе к принципу KISS (keep it short and simple). Свежему цементу легче придать нужную форму. Частицы в нём не имеют сильных связей друг с другом и не сопротивляются.

Дизайн вдребезги

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

Теперь поговорим об уровнях подробнее.

1. Логический уровень дизайна

Это высший уровень абстракции, стратосфера. Самый общий уровень интерфейса — это логика действий пользователя, CJM. То, чем занимаются UX-дизайнеры: Какие каналы будут использоваться для взаимодействия с системой? В чём цель пользователя? Как помочь достичь её за минимум кликов? Скетч превращается в программу для создания логических диаграм:

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

2. Уровень проектирования

Когда появляется больше деталей, мы переходим на уровень юзер-флоу. Какие кнопки нажимает пользователь, чтобы достичь своей цели? На этом этапе удобно использовать плагин User Flow, который позволяет показать, какие кнопки куда ведут.

В приложениях и сайтах это уровень взаимодействия с экраном. Рисуем общие формы, широкие мазки. Это тоже логический уровень, без рисования деталей. Где будет кнопка призыва к действию? На какой экран она будет вести? Что будем делать, если пользователь незрячий или имеет другие ограничения?

Мобил Фёрст

Шаги превращаются в экраны с определёнными размерами, для которых мы проектируем. Начинаем всегда с мобильной версии, поскольку в ней легче сконцентрироваться на смысле, а не на визуальном дизайне. Разворачивать мобильную версию на большой экран значительно легче, чем втиснуть десктоп в мобильный. Читайте Mobile First.

Первые символы

Здесь уже можно начинать делать самые общие символы, если мы уверены, что объекты будут типовыми. Могут родиться символы шапки, главного меню и подвала. Они выглядят как серые прямоугольники с текстовыми слоями. Поскольку нас не ограничивает сильная фрагментация, на этом уровне тоже легко можно вносить значительные изменения в дизайн.

Делай прототип максимально рано

Здесь уже полезно создавать первый прототип в Инвижне, который не очень красив, зато работает как придумали. На этом уровне можно тестировать идеи: понятна ли логика, или всё надо переделать с нуля? Обидно выбрасывать любовно прорисованный дизайн. Выбрасывать изрисованную салфетку — не обидно.

3. Уровень эмоций: отрисовка и контент

Когда логическая картина сложилась, можно прорабатывать дизайн в деталях. Эта территория вдохновения и художников. На нём концентрируются любители Дрибла и Биханса, подчас забывая об остальных. Серым квадратам приходят на смену настоящие UI-элементы, хорошая типографика, иконки и иллюстрации. Время тщательно проработать формулировки в текстах. Сюда же можно отнести анимацию. Когда она используется уместно, даже самый простой дизайн оживает.

Вместе контент и визуальный ряд формируют восприятие всего продукта.

4. Уровень масштабирования

Когда стиль продукта сформировался и появился набор правил, по которым формируется дизайн, приходит время взросления дизайн-системы. Также хочется назвать этот этап формализацией.

На этом уровне создаётся подавляющее большинство символов. Это время спуститься на землю и перестать устраивать революции. Время начать разглядывать детали и заниматься перфекционизмом. Цель рождения символов на этом этапе — разбить систему на мельчайшие части, чтобы можно было её безболезненно масштабировать.

Зачем масштабировать

Удачно формализованную систему легко поддерживать.

Даже крупный проект может так и остаться на уровне отрисовки. Поскольку рост числа макетов неизбежен, вместе с ним неизбежен рост сопутствующего бардака. Если дизайн меняется, дизайнеру приходится актуализировать все макеты вручную (а это невозможно), либо держать актуальными только последние макеты, игнорируя все остальные. Я бы сошёл с ума, если бы мне приходилось мириться с тем, что 90% моих новых макетов уже устарели.

Пример задачи масштабирования

Если встанет задача перекрасить все красные иконки в другой оттенок, это будет легко сделать, поскольку они сгруппированы в одном UI-ките, из которого транслируются во все макеты. Меняем один символ — меняются все его копии в 600 макетах. Этот дизайн уже пахнет вёрсткой.

Что масштабировать

Символами должны становиться не только иконки, а любые повторяющиеся элементы. Все поля ввода, меню, иллюстрации, кнопки, вкладки, попапы и некоторые текстовые блоки.

***

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

Это пост не о том, что нужно дробить интерфейс на кучу символов, как и не о том, что символы мешают рисовать дизайн как иллюстрацию. Это лишь следствия чего-то глубинного. Посмотри на свой интерфейс на всех четырёх уровнях и реши, что с ним нужно делать в данный момент, чтобы эффективнее всего решить поставленную задачу.

Я веду Скетч-дизайнер — телеграм-канал о Скетче и дизайне интерфейсов.