December 10, 2019

Дизайн система в DSX. Часть 1, как мы начинали

Каждый UX-дизайнер рано или поздно встречает ЕГО: огромный интерфейс, бессистемно (или не очень системно) развивавшийся много лет. Там можно найти самый первый пиксель на свете, завернутую рыбу или кости динозавра.

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

В моей практике был такой сайт, над которым сначала долго работали разработчики, а потом — дизайн-агентство.

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

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

Что делать с таким сайтом?

Создать дизайн-систему :)

Спасибо, кэп! Но с чего начать, если у нас сжатые сроки, и дизайн-система нужна вчера?

Мы решили причесать:

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

2. Микроинтеракшны и валидации для инпутов. Текстовое (а точнее, цифровое) поле — один из наших главных контролов (ведь мы криптобиржа). Пользователи работают с ним дестяки раз в день. И у этого "простого" элемента — десятки вопросов и десятки кейсов, которые нужно решить, чтобы работать стало удобно.

3. Стили текста и компоненты. Об этом мы поговорим в следующих статьях (или никогда), чтобы не раздувать этот лонгрид уж совсем в бесконечность :)

От 50 оттенков серого - к удобной библиотеке

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

Приходя в такой проект — сложно подхватить и пилить фичи, развивать и улучшать продукт.

Пробуем в лоб

Я попросил дизайнера разобраться с цветами, и решить, какие выпилить, а какие использовать дальше (и по каким правилам).

Дизайнер умер вернулся назад и сказал, что не получается. В такой ситуации нужно дать дизайнеру опору. Сузить задачу, помочь разделить ее на части, дать фидбек, задать наводящие вопросы, дать какой-то фреймворк и пр.

Я стал ходить по интерфейсам и искать, по какому принципу можно их разделить. Дальше рассуждение развивалось примерно так:

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

Цветовые схемы

В "уже продукте" нашлось несколько сложившихся типов интерфейсов:

  1. "простые-развлекательные"
  2. обычные/сложные
  3. трейдинговые

Эти интерфейсы уже были по-разному покрашены.

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

Обычные/сложные интерфейсы имели белые подложки, часто представляли собой многошаговые формы, таблицы, страницы настроек, списки балансов и пр.

Трейдинговые интерефейсы — ну биржа и биржа :) Графики, таблицы, форма покупки, очень много данных, сложных сценариев, много эргономики.

Раскладываем дальше. Цвет = функция

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

Как дальше делить цвета?

  1. От крупной задачи. Нам нужно красить активные компоненты и контролы, тексты, layout (то есть как-то группировать контент на странице, разделять страницу на части при помощи цвета). Цвета иллюстраций на тот момент я решил убрать за скобки, поскольку с ними мы ничего не собирались делать.
  2. От состояния элемента. Там может быть ошибка, предупреждение, саксесс, выделение, обычное или приглушенное состояние.

Эти два разделения можно накладывать друг на друга. Например, может быть инпут успешно заполненный, активный, с ошибкой, и пр.

Звучит сложно, на схеме получилось просто:

Я отдал эту схему дизайнеру и она смогла разобрать по полочкам все цвета в приложении.

Вот так она работала над этим:

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

В итоге:

  • Мы убрали лишние "оттенки серого"
  • Получили хороший набор, который позволил не придумывать новые цвета, а брать из библиотеки (думаю, никому в 2019 не надо объяснять, как работает библиотека цветов? Поправили в библиотеке цвет — он поменялся на всех 100500 элементах дизайна, в которых был применен)
  • Разработчики поправили код, убрали баги в стиле "один компонент на разных страницах покрашен по-разному" и выкинули много кода.

Вот такой набор цветовых схем у нас получился:

  • Dark trade/light trade — это цветовые схемы для дневной и ночной темы трейдинговых страниц.
  • Day — виззарды, сложные страницы с контентом, настройками, репортами, счетами и пр.
  • Common — распространенные цвета, которые могут встретиться в любых интерфейсах
  • Fay — легкие/развлекательные странички, попапы и пр.
  • Так потом добавились "ховеры" и "редкие"

Работает?

С таким набором мы прожили почти год, и сейчас доросли до следующей реинкарнации.

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

Естетственно, переосмысляется и дизайн-система.

Мы (уже руками Clay, агентства из Сан-Франциско) сильно упрощаем схему, выкидываем кучу цветов и делаем стиль дизайна не абстрактно красивым, а растущим из брендинга.

Это мы сейчас (к��нец 2019) и делаем, и сможем рассказать через пару месяцев :)

Продолжение следует

В следующих статьях про дизайн системы я расскажу, как мы прорабатывали микроинтеракшны наших текстовых (а точнее, цифровых) полей.

Хотите уметь так же?

Решать задачи при помощи схем я учу на курсе по схемам. А любым другим продуктово-дизайнерским вещам учу в личном менторинге, записаться можно в личке в телеграм: @serebrennikov_i