Вступление

  1. Предпосылки редизайна
  2. Дизайн-система
  3. Навигационная структура
  4. Интерфейсные паттерны
  5. Планы

<aside> 💬 Всем привет. Сегодня мы хотим поделиться с вами о результатах нашей работы над редизайном erp системы

</aside>

<aside> 💬 Сначала немного о том, почему было принято решение делать редизайн, какие технологии (фреймворки) были выбраны и с какими трудностями мы столкнулись работая с ними.

</aside>

<aside> 💬 Покажем, как в результате работы мы собрали основную компонентную базу, переработали лейауты и навигацию, выработали паттерны интерфейсов и в конце осветим планы на будущее

</aside>


Предпосылки редизайна

Untitled

Untitled

<aside> 💬 Итак, предпосылками редизайна стали 2 фактора - это неконсистентность текущего интерфейса и потребность в увеличении темпа развития продукта, релиза новых фичей

</aside>


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

Проблема

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

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

<aside> 💬 Разное поведение внешне схожих элементов увеличивает когнитивную нагрузку на пользователя при работе с продуктом. Этот недостаток продемонстрирован на примере элемента, который в некоторых местах системы открывает дроп-даун список, где-то разворачивает список “инлайн”, а гдето является навигационной кнопкой - открывает новый интерфейс.

</aside>

<aside> 💬 Развитие и поддержка своей дизайн-системы на 2 платформы времязатратно. Реализации каждой задачи требуется больше времени на дизайн и на имплементацию в коде, что замедляет темп разработки.

</aside>

Цель

Перевести обе части системы (ERP и POS) на готовую единую и популярную дизайн-систему.

Добиться полного соответствия библиотек Angular, Jetpack Compose и Figma.

Untitled

<aside> 💬 Исходя из этих проблем мы поставили цель - Перевести обе части системы (ERP и POS) на готовую единую и популярную дизайн-систему. А так же, добиться полного соответствия библиотек Angular, Jetpack Compose и Figma.

</aside>

Решение

Material Design

Untitled

<aside> 💬 Выбoр компании пал на Material Design от Google из-за мультиплатформенности и огромного количества успешных кейсов на рынке.

</aside>

Контекст:

ERP POS
Платформа Web Android
Технология (фреймворк) Angular Jetpack Compose
Библиотека компонентов Material Design 2 (2018) Material Design 3 (2021)
Tokens (переменные стилей) Material Design 1 (2014) Material Design 3 (2021)
Существующие библиотеки для Figma Не существует библиотеки с токенами материал 1. Официальная библиотека материал 2 устаревшая относительно технологий фигмы и имеет скромный набор компонентов Официальная библиотека (не очень грамотно реализованы переменные стилей)

Untitled

Untitled

Untitled

Что решили:

ERP POS
Tokens (переменные стилей) Добавление и использование кастомных переменных для по структуре Material Design 3 Material Design 3
Библиотека компонентов Обновление существующих компонентов Material Design 2 → Material Design 3 Material Design 3
Библиотека Figma Обновление библиотеки Material Design 2 → Material Design 3 Доработка официальной библиотеки для удобного использования в работе

<aside> 💬 В конце прошлого года Google презентовал новую версию своей дизайн системы - Material Design You или 3, но официальная имплементация доступна пока только для мобильных устройств.

</aside>

<aside> 💬 ERP - это web-приложение разработанное на Angular, для которого библиотека Material построена на токенах 2014 года, то есть первой версии

</aside>

<aside> 💬 Исходя из этих технических особенностей, мы проанализировали структуры токенов разных версий материала, стилизовали каждую из них по брендбуку Nomia

</aside>

<aside> 💬 Исходя из этих технических особенностей, мы проанализировали структуры токенов разных версий материала, стилизовали каждую из них по брендбуку Nomia

</aside>

<aside> 💬 Для ERP Нашли максимально полную по набору компонентов библиотеку Material 2 (Для POS используем официальную M3), но столкнулись с проблемой, что в этой библиотеке нет части состояний, так же необходимо было поправить autolayaout и проверить на соответствие гайду.

</aside>

<aside> 💬 Параллельно благодаря совместной работе с командой фронтендеров, нам удалось опытным путем выяснить, что мы имеем возможность завести дополнительные токены и кастомизировать размерность компонентов в библиотеке на ангуляре. Такой подход мы считаем оптимальным в наших условиях, потому что это позволит достичь максимального соответствия библиотек в дизайне, в вебе и на андройде.

</aside>


Навигационная структура

Проблема

Сложная неконсистентная структура навигации.

В разных разделах для навигации используются разные элементы.

Untitled

Untitled

<aside> 💬 Провели анализ текущего решения - Сложная неконсистентная структура навигации. Например, раздел “Продажа” имел 3 уровня вложенности

</aside>