Стратегический дизайн интерфейсов
В этом посте я расскажу о своих наблюдениях за тем, как рождается и взрослеет интерфейс продукта в Скетче. Эти идеи можно применять к интерфейсному проекту любого масштаба, будь то лендинг или операционная система.
Мыслить стратегически — значит, смотреть на дизайн в перспективе. Значит, делать его оптимально, чтобы на длительной дистанции сэкономить рабочее время.
Уровни детализации в дизайне интерфейсов
Продуктовый дизайн интерфейсов никогда не заканчивается и постоянно развивается. Я выделяю четыре уровня:
- логический
- уровень проектирования
- визуально-эмоциональный
- уровень масштабирования
Правильно заложенный фундамент на логическом уровне помогает построить такой проект, как изначально хотелось. Интерфейсный делает дизайн понятным и удобным. Визуальный уровень радует глаз и даёт правильное ощущение. Затем, удачно написанные правила дизайна помогают масштабировать его до любого размера.
Дизайнеры используют Скетч не в полную силу
Дизайнеры, которых я встречал, пытаются использовать Скетч как Фотошоп или Иллюстратор. Но Скетч — не просто очередной модный векторный редактор. Это первый успешный инструмент, созданный специально для работы с интерфейсами. При помощи символов в умелых руках он позволяет создавать бесконечно масштабируемый дизайн-проект. Фотошоп и Иллюстратор нечестно сравнивать со Скетчем, поскольку они были созданы не для дизайна интерфейсов. Их величия никто не отменяет, однако глупо идти в бой, вооружившись микроскопом, если можно выбрать автомат Калашникова.
Дизайн крупного проекта плавно эволюционирует от серых схематичных блоков до проработанной системы, которая напоминает свёрстанный сайт. Скетч позволяет переходить из одного уровня детализации в другой.
Какой макет лучше организован?
Вот два внешне одинаковых макета:
Левый не использует символы, а правый только из них и состоит. Какой макет лучше организован? Напрашивается ответ, что правый. Но нет. Они заточены под разные цели.
Левый: легко менять, трудно масштабировать
Если этот дизайн станет основой для 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 макетах. Этот дизайн уже пахнет вёрсткой.
Что масштабировать
Символами должны становиться не только иконки, а любые повторяющиеся элементы. Все поля ввода, меню, иллюстрации, кнопки, вкладки, попапы и некоторые текстовые блоки.
Все уровни противоречат друг другу. Чтобы проект развивался, постоянно необходимо лавировать между ними и в этом заключается мастерство дизайнера интерфейсов.
Это пост не о том, что нужно дробить интерфейс на кучу символов, как и не о том, что символы мешают рисовать дизайн как иллюстрацию. Это лишь следствия чего-то глубинного. Посмотри на свой интерфейс на всех четырёх уровнях и реши, что с ним нужно делать в данный момент, чтобы эффективнее всего решить поставленную задачу.
Я веду /designer — телеграм-канал и паблик о дизайне интерфейсов, инструментах и дизайнерах.
Понравился пост? Поддержи проект
Это мотивирует развивать его и не размещать рекламу.