VMTech
Обсудить проект
← Все компетенции
ПРОДУКТ И РОСТ · 03

UI Design

Красивый макет умирает на второй неделе разработки, если в нём нет состояний: пустого списка, длинного имени, ошибки загрузки и текста на трёх языках разной длины.

Обсудить проект
ОТ МАКЕТА К СИСТЕМЕ

Как экран превращается в переиспользуемый компонент

Каждый элемент проходит один и тот же путь — иначе через полгода в продукте будет пять разных кнопок.

design.vmtech.rs
Компонент: карточка заказа
LIVE
переиспользуется
Сетка и типографика шкала 4 px
Цвет и контраст AA · light + dark
Состояния 6 состояний
Три языка sr · en · ru
Компонент в системе в библиотеке
Живёт в коде переиспользуется
ОТ МАКЕТА К СИСТЕМЕ
  1. Сетка и типографикаСначала задаются шкала размеров, отступы и правила заголовков — не декор, а каркас
  2. Цвет и контрастПалитра проверяется на контраст и работает в светлой и тёмной теме одновременно
  3. СостоянияПустое, загрузка, ошибка, длинный текст, отключено — то, что обычно всплывает уже в коде
  4. Три языкаНемецкой длины строк здесь нет, но сербский и русский тексты длиннее английского — макет это учитывает
  5. Компонент в системеЭлемент попадает в библиотеку с правилами применения, а не остаётся картинкой в макете
  6. Живёт в кодеРазработчик собирает новые экраны из готовых частей, не согласовывая каждую кнопку
ЗНАКОМАЯ КАРТИНА

Что происходит с дизайном через полгода

Дизайн как набор картинок

  • В продукте пять оттенков синего и четыре размера кнопок — каждый экран рисовался отдельно
  • Новый экран требует дизайнера, потому что собрать его не из чего
  • Длинное название товара ломает карточку, и это выясняется на продакшене
  • Тёмная тема выглядит как светлая с инвертированными цветами
  • Мелкий серый текст на сером фоне читается только на мониторе дизайнера

Дизайн как система

  • Цвета, размеры и отступы заданы токенами — их нельзя «случайно» изменить на одном экране
  • Новый экран собирается из готовых компонентов за часы, а не за неделю
  • Крайние случаи нарисованы заранее: пусто, много, ошибка, очень длинное имя
  • Тёмная тема спроектирована отдельно, с собственными значениями контраста
  • Контраст проверяется по стандарту, а не на глаз в идеальных условиях
ОБЪЁМ РАБОТ

Что входит в UI-работу

Визуальное направление

Два-три варианта подачи на одном реальном экране — выбор делается на содержании, а не на абстракции.

Типографика

Шкала размеров, начертания, межстрочные расстояния и правила для кириллицы и латиницы.

Палитра и темы

Светлая и тёмная темы как две полноценные схемы, а не автоматическая инверсия.

Библиотека компонентов

Кнопки, поля, таблицы, карточки и уведомления — со всеми состояниями и правилами применения.

Экраны продукта

Ключевые страницы в трёх размерах: телефон, планшет и десктоп — с реальными текстами.

Иконки и графика

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

Доступность

Контраст по стандарту, различимый фокус, размеры целей под палец и читаемость при увеличении.

Передача разработке

Токены, отступы и поведение компонентов в виде, который переносится в код без домысливания.

КАК ЭТО ЖИВЁТ

Из чего состоит дизайн-система

ТокеныЦвета, размеры, радиусы и тени как переменные, общие для макета и кода
КомпонентыЭлементы со всеми состояниями, а не только в идеальном виде
Правила примененияКогда какой компонент уместен — чтобы новый экран не изобретали заново
Сетка и адаптивПоведение блоков при изменении ширины описано, а не оставлено на верстальщика
Тексты интерфейсаТон, длина подписей и формулировки ошибок — часть системы, а не случайность
Проверка в браузереГотовые экраны сверяются с макетом на реальных устройствах, а не только в редакторе

Исходные файлы макетов и библиотека компонентов передаются вам вместе с проектом: дизайн-система должна пережить смену подрядчика.

ВОПРОСЫ

Что обычно спрашивают

Нам нужен просто редизайн. Зачем система?

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

Можно взять готовый шаблон и адаптировать?

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

Кто рисует состояния ошибок и пустые экраны?

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

Тёмная тема — это дополнительная работа?

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

Что вы отдаёте разработчикам?

Макеты с описанными токенами и отступами, библиотеку компонентов с состояниями и правила поведения при изменении ширины. Плюс мы сверяем собранные экраны с макетом в браузере — на этом шаге обычно и находятся расхождения, которые иначе доживают до релиза.