Работа с дизайнерами
Совместная работа того, кто решает, как продукт должен выглядеть и вести себя, с тем, кто это воплощает, — включая всё, на что макет не отвечает.
Почему это важно. Трения здесь возникают не из-за разногласий, а из-за информации, которой не хватило и которая обнаружилась слишком поздно: состояние, которое никто не нарисовал; компонент, который не умеет подстраиваться; размер шрифта, ломающийся при настройках доступности. Замеченное на этапе дизайна — это разговор; замеченное на этапе реализации — переделка для обеих сторон.
Что нужно понимать
- Чего дизайн пытается добиться — без этого его не получится правильно адаптировать
- Какие детали намеренные, а какие случайные
- Чего не хватает: состояний, крайних случаев с контентом, различий между платформами
- Что дорого реализовать — и знает ли об этом дизайнер
- Одинаково ли вы с дизайнером называете одни и те же вещи
Основные темы
До реализации
- Смотреть макет на предмет недостающих состояний, а не на предмет красоты
- Спрашивать про длинный текст, отсутствующие картинки, один элемент и тысячу элементов
- Говорить о стоимости рано, пока альтернативы ещё дёшевы
- Договариваться о границах компонентов: что переиспользуется, а что нужно только здесь
Общий словарь
- Одинаковые названия токенов и компонентов с обеих сторон
- Дизайн-система, на которую могут сослаться обе стороны
- Шкалы отступов и типографики вместо произвольных значений
- Умение заметить, что макет и код разошлись
Передача в разработку
- Что должно быть в передаче помимо самих экранов
- Поведение, которое существует только у кого-то в голове: анимация, фокус, пустое состояние, ошибка
- Различия между платформами, о которых договорились, а не придумали на ходу
- Где задавать вопросы, чтобы ответ не потерялся в переписке
Обратная связь
- Сообщать о проблеме реализации как о проблеме, а не как об отказе
- Предлагать альтернативу, которая сохраняет замысел и снимает стоимость
- Дизайн-ревью того, что уже собрано, — и время на то, чтобы что-то поправить
- Спорить о решении, не пересматривая каждый раз, кто его принимает
Постоянно
- Держать реализацию и дизайн в согласии, пока меняются оба
- Возвращать дизайнеру то, что аналитика говорит о дизайне
- Строить дизайн-систему вместе, а не параллельно
Уровни
| Уровень | Как это выглядит |
|---|---|
| Junior | Реализует макеты точно и спрашивает, когда чего-то не хватает. |
| Middle | До начала работы проверяет макет на пробелы, заранее поднимает вопрос стоимости, сохраняет верность макету во всех состояниях и на всех размерах. |
| Senior | Работает с дизайном на уровне системы, а не отдельных экранов, договаривается о балансе замысла и стоимости и не даёт макету и коду разойтись. |
Практика
Для начала
-
Проверьте макет до того, как писать код Возьмите следующий макет и выпишите все состояния, которых в нём нет. Спросите до начала работы.
-
Сломайте экран контентом Реализуйте экран, а потом подайте в него самый длинный реалистичный текст и самый крупный размер шрифта.
-
Называйте вещи одинаково Сравните названия компонентов в макете с теми, что в коде. Приведите их к одному виду.
Глубже
-
Разменяйте стоимость на замысел Найдите дорогую деталь, разберитесь, зачем она нужна, и предложите более дешёвый способ добиться того же.
-
Проведите дизайн-ревью Покажите собранную версию и соберите замечания, пока ещё есть время что-то сделать.
-
Соберите компонент вместе За один заход определите с дизайнером варианты и API общего компонента.
Проверьте себя
- Чего не было в вашем последнем макете и как вы решили, что с этим делать?
- Какие части приложения разошлись со своим дизайном — и заметит ли это кто-нибудь?
- Одинаково ли вы с дизайнером называете одни и те же вещи?
- Когда что-то дорого реализовать — в какой момент вы об этом говорите?
- Что происходит с вашими экранами при самом длинном реалистичном контенте?
- Кто принимает решение, когда дизайн и разработка не согласны, и понятно ли это всем?
Материалы
- Design systems 101 — Nielsen Norman Group о том, что входит в дизайн-систему и кто её поддерживает; именно этот артефакт изначально снимает большую часть трений при передаче в разработку.
- Design Systems Handbook — бесплатная книга, написанная сразу для обеих сторон. Здесь важны главы про общий словарь и про управление системой.
- Material 3 foundations — общий источник, на который может сослаться и дизайнер, и разработчик в споре об отступах или анимации; на этом многие споры быстро и заканчиваются.
- Refactoring UI — чтобы разработчик мог обсуждать визуальные решения на языке дизайнера, а не только реализовывать их.
- Figma Dev Mode — механика передачи макетов, которой пользуется большинство команд, включая то, как токены и компоненты попадают в код.