Никита — «Свобода в ДС: почему детач — это не нарушение, а инструмент»
Главное
Ключевые тезисы:
- DS в Dodo строится на принципе свободы: детач компонента — не нарушение, а инструмент тестирования гипотез. Дизайн-система не должна быть ограничителем.
- Переключение платформы iOS → Android — через мод токенов, автоматически: шрифты, цвета, компоненты меняются без ручной работы.
- Полная автоматизация пайплайна: токены, иконки и (в планах) иллюстрации уходят из Figma в репозиторий без участия человека.
- Метрика здоровья DS — процент детачей в Figma Library Analytics: если детачат >50% случаев, значит что-то сломано.
- DS = культура + договорённости: технический инструментарий масштабируется именно потому, что есть общее понимание ценностей.
Главная цитата — якорь кейса:
«Дизайн-система не должна быть каким-то ограничителем. Она скорее должна помогать и не ограничивать. В конце концов, это просто пиксели, которые пользователи увидят на телефоне.»
Контекст
До редизайна приложение не обновлялось около пяти лет — накопленный долг по консистентности и UX. В процессе редизайна стали появляться неконсистентные элементы и паттерны — основной сигнал для создания DS. Спикер пришёл не с нуля: базовые наработки уже были, его задача — развивать и улучшать пользовательский опыт через систему.
Позиционирование и цели
В Dodo дизайн-система — это инструмент свободы, а не свод правил. Ценность: улучшение UX через консистентность + ускорение дизайна и разработки. Но не менее важна культура общих договорённостей: именно она масштабирует систему туда, куда технически ещё не добралась DS.
DS стоит ниже бренда в иерархии: бренд задаёт направление, DS распространяет его на уровне приложения. Интересный факт: редизайн приложения вышел раньше ребрендинга, и DS фактически задала некоторые константы бренду.
- Что DS делает:
- Компоненты для iOS и Android, токены, иконки, иллюстрации, чек-лист, документация, шоу-кейс, sandbox
- Что DS не делает:
- Продуктовые решения (за ними — продуктовые команды)
- Коммуникационные материалы (брендинг-дизайнеры)
- Веб — пока в разработке
Состав системы
- Что входит:
- Foundations: библиотека токенов (цвета, типографика, платформенные константы); моды платформ (iOS, Android, iOS 26)
- Компоненты: мастер-компоненты в отдельных файлах; документация для разработчиков — рядом с мастером
- Show Case: отдельный файл для дизайнеров — все компоненты, примеры использования, паттерны
- Sandbox: отдельное приложение на iOS и Android — живое тестирование компонентов
- Иконки: полностью автоматизированный экспорт из Figma (правильное название, размеры, форматы)
- Иллюстрации: в планах — такая же автоматизация, как с иконками
- Чек-лист (Figma Widget): встраивается в любой файл; переводы, RTL, corner cases, масштабирование
- Гайды: отдельный файл — как использовать сущности, как переделывать макеты под Android
- Автоматизация токенов: Figma → GitHub → xcassets (iOS) / XML (Android); собственная разработка
- Что в планах:
- Веб-версия DS
- Автоматизация экспорта иллюстраций
- Распространение DS на киоски
Процессы развития
Схема процесса (8 шагов):
1. Запрос от дизайнера или инициатива дизайнера DS
2. Оценка: небольшое — сразу в работу; большое — в бэклог
3. Разработка компонента с документацией
4. Ревью файла (дизайн-лит + дизайнер DS)
5. Передача разработке; еженедельный созвон с разработчиками
6. Разработка на iOS и Android (отдельные лиды)
7. Пометка статуса готовности (дизайн / iOS / Android)
8. Публикация в дайджесте (раз в 2 недели)
- Ритмы:
- Раз в неделю — дизайнеры показывают, над чем работают (открытый шеринг)
- Раз в неделю — созвон с разработчиками DS
- Раз в две недели — дайджест с новинками DS
- Раз в месяц — опрос дизайнеров о DS
- Раз в месяц — встреча по эмоциональному дизайну и культуре
Документация
- Что в доке есть:
- Анатомия компонента
- Состояния компонента
- Corner cases: длинные суммы, масштабирование шрифта до 310%, RTL
- Примеры использования и паттерны
- Правила верстки компонентов для разработчиков
- Статусы готовности (дизайн / iOS / Android)
- Гайды по сущностям в отдельном файле
Синхронизация дизайна и кода
- Автоматизация токенов: Figma → GitHub → xcassets (iOS) / XML light+dark (Android); собственная разработка без сторонних инструментов.
- Автоматизация иконок: новая/обновлённая иконка уходит с правильным именем, размером и форматом без участия разработчика.
- Моды платформ: переключение iOS/Android в один клик через переменные Figma — шрифты, цвета, компоненты меняются автоматически.
- DevMode: обязателен для всех разработчиков; проводились воркшопы по использованию.
- Figma MCP: эксперимент — автоматическая вёрстка UI-компонентов из Figma, разработчик добавляет логику.
- Sandbox: отдельное приложение на iOS и Android для дизайн-ревью компонентов вживую.
Контроль качества
- Защитные механизмы:
- Library Analytics в Figma — метрика детачей: если компонент детачают >50% случаев, значит что-то неудобно или сломано
- Ревью файлов: дизайн-лит смотрит пакеты к разработке; дизайнер DS проверяет, как используются компоненты
- Чек-лист (Figma Widget): переводы, RTL, corner cases, масштабирование, VoiceOver — прямо в рабочем файле
- Sandbox: физическое тестирование на устройствах
- Политика детача: детач разрешён при наличии гипотезы; успешный результат масштабируется на DS
- Опросы раз в месяц: сигналы о проблемах, которые дизайнеры не сообщают сами
Масштабирование и внедрение
Dodo — международная компания с приложением в арабских странах, Вьетнаме, СНГ и других рынках. Это напрямую влияет на DS: RTL-поддержка заложена во все новые компоненты, corner cases включают длинные числа в суммах (вьетнамский донг), масштабирование шрифта до 310%, VoiceOver.
DS пока охватывает только мобильные приложения, но культура и договорённости обеспечивают консистентность на вебе и в киосках. Масштабирование идёт не только технически — через ежемесячные встречи по эмоциональному дизайну формируется общее понимание ценностей.
Основная сложность: разрыв между дизайном и разработкой — в дизайне компонентов больше, чем в коде. Решение — вовлечение продуктовых разработчиков: если они видят нужный компонент в Figma, могут реализовать его в рамках продуктовой задачи.
Уникальные практики и «фишки» кейса
-
Автопереключение платформы iOS → Android через моды токеновВ базовой библиотеке токенов зашиты платформенные константы. Переключение мода в Figma автоматически меняет шрифты, цвета и компоненты под Android. Макет для Android = копия iOS + смена мода. Без ручной переделки. «Мы просто копируем с iOS, вставляем на страницу с Android, и это всё автоматически перекрашивается.»
-
Полностью автоматизированный пайплайн токенов и иконокСобственная разработка без сторонних инструментов: Figma → GitHub → конвертация под каждую платформу. Иконки уходят с правильными именами, размерами и форматами автоматически. Иллюстрации — следующий шаг.
-
Show Case vs мастер-файлы — разделение пространствShow Case — один файл для дизайнеров: все компоненты, примеры, паттерны. Мастер-компоненты с документацией для разработчиков — в отдельных файлах. Снижает когнитивную нагрузку для каждой аудитории.
-
Library Analytics как метрика здоровья DSFigma показывает, сколько раз компонент был детачен за 30 дней. Высокий процент — сигнал проблемы, а не нарушение правил. Метрика использования компонентов как индикатор удобства.
-
Разрешённый детач как механизм развитияДетач — не нарушение, а инструмент тестирования гипотез. Если изменение приживается — оно масштабируется на DS. Продуктовые дизайнеры становятся соавторами системы. «Мне очень не нравится подход, когда дизайн-система — это что-то святое, это вообще нельзя трогать. Если дизайн-систему не трогать, то она и развиваться не будет.»
-
Чек-лист как Figma-виджетВстраивается прямо в рабочий файл. Обязательные пункты: переводы, RTL, corner cases (суммы в разных валютах), масштабирование шрифта, VoiceOver. Не отдельный документ, а часть рабочего процесса.
-
RTL и локализация как часть компонентаПоддержка Right-to-Left заложена во все новые компоненты — включая направление иконок (в арабских интерфейсах стрелки меняют значение). Это стандарт при создании компонента, а не отдельный проект.
Выводы и принципы
- Что стоит попробовать другим:
- Моды платформ в токенах — если поддерживаете iOS и Android, один мод вместо двух параллельных наборов макетов.
- Library Analytics — проверять процент детачей регулярно; это честная метрика удобства компонентов.
- Разрешённый детач с гипотезой — убрать запрет на детач, добавить требование: детач = гипотеза с обоснованием.
- Чек-лист как Figma-виджет — встроить прямо в рабочий процесс, а не держать в отдельном документе.
- RTL и corner cases с самого начала — если есть хоть один международный рынок, закладывать в стандарт компонента.
- Ограничения:
- Разрешённый детач требует зрелой команды с пониманием гипотез — в хаотичной среде превратится в анархию.
- Автоматизация токенов/иконок — собственная разработка; требует технической экспертизы внутри команды DS.
- Один дизайнер на DS — высокий bus factor; при масштабировании нужна команда.
Кому подходит:
Продуктовые команды с небольшой командой DS; международные продукты с несколькими рынками; компании, где культура важнее регламентов; стартапы и mid-size с активными AB-тестами.
«В моменте, пока мы делали редизайн, начали появляться неконсистентные элементы интерфейса и неконсистентный опыт, который мы видели, что можно улучшить с помощью дизайн-системы. И также ускорить процессы разработки, процессы передачи макетов в разработку.»
«У нас принцип — свобода и непосредственность. И я считаю, что у нас дизайн-система в целом следует плюс-минус тому пути. Мы не боимся экспериментировать, мы не боимся идти своим путём.»
«Каждый дизайнер раз в неделю приносит и показывает, над чем он работает. За счёт этого есть общее понимание, где мы что меняем, куда движемся. И за счёт этого в дизайн-системе формируется какой-то роадмап.»
«Вся документация ведётся в Figma — разработчикам очень удобно с ней работать. Когда они верстают компоненты, они всё равно обращаются в Figma и заодно читают документацию.»
«В Figma обновил токен — нажал синхронизировать с GitHub. Автоматизация, которую мы сами написали, конвертирует под iOS xcassets, на Android — XML.»
«В Figma можно посмотреть Library Analytics — сколько раз детачили компонент за последние 30 дней. Если компонент детачают в 50% случаев — точно что-то надо делать.»
«Если разработчики видят компонент в Figma, которого нет в коде, они могут его забрать и разработать в рамках продуктовой задачи. И тогда дизайн-система тоже развивается.»
«В моменте редизайна начали появляться неконсистентные элементы — это был основной критерий для создания DS.»
«Дизайн-система должна работать для дизайнеров. Дизайнеры не должны бороться против неё.»
«В Figma обновил токен — нажал синхронизировать. Автоматизация конвертирует под iOS xcassets, на Android — XML.»
«Мы просто копируем с iOS, вставляем на страницу с Android, и это всё автоматически перекрашивается.»
«Если компонент детачают в 50% случаев — точно что-то надо делать. Скорее всего, что-то сломано.»
«Вся документация в Figma — разработчики всё равно обращаются туда при верстке и заодно читают.»
«Если дизайн-систему не трогать, она и развиваться не будет, и будет только мешать разрабатывать продукт.»
«RTL — обязательный пункт чек-листа. Иконки тоже меняют направление: в арабских интерфейсах вправо — это назад.»
«Если разработчики видят компонент в Figma — они могут его разработать в рамках продуктовой задачи.»
«Именно культура и общее понимание того, к чему мы движемся — основной источник консистентных продуктов.»
«Дизайн-система не должна быть ограничителем. В конце концов, это просто пиксели на телефоне.»
«Сначала был редизайн приложения, а потом ребрендинг. То есть мы задавали константы бренду, а не наоборот.»