Модификаторы токенов цвета.
Работаю над развитием концепции Контекстов (микротем) и недавно решил попробовать другой подход — модификаторы.
Идея в том, чтобы сократить количество сущностей на плоскости, но увеличить вариативность за счёт применения признаков.
То есть использовать стабильный набор из примерно 10 токенов, но при этом иметь широкие возможности их модифицировать.
Экспериментировал в Figma — и, в целом, большая часть может работать через моды. Было бы круто, если бы таким же образом менялся и оттенок (grey, blue, red…), но, кажется, это уже не налазит на текущую механику.
На видео и скрине — пример работы в рамках одного цвета. Пока концепт сырой и собран местами на костылях, но интересно получится ли всё просчитать и сбалансировать 🤔
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Работаю над развитием концепции Контекстов (микротем) и недавно решил попробовать другой подход — модификаторы.
Идея в том, чтобы сократить количество сущностей на плоскости, но увеличить вариативность за счёт применения признаков.
То есть использовать стабильный набор из примерно 10 токенов, но при этом иметь широкие возможности их модифицировать.
Экспериментировал в Figma — и, в целом, большая часть может работать через моды. Было бы круто, если бы таким же образом менялся и оттенок (grey, blue, red…), но, кажется, это уже не налазит на текущую механику.
На видео и скрине — пример работы в рамках одного цвета. Пока концепт сырой и собран местами на костылях, но интересно получится ли всё просчитать и сбалансировать 🤔
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍1
Не люблю я молекулы
В своих дизайн-системах я стараюсь обходить каноничный нейминг по Фросту с «атомами», «молекулами», «организмами»…
Идея вложенности и иерархии мне нравится, но вот эти названия...🤦♂️
Поэтому у меня чаще встречаются слова вроде: basics, simple items, complex items, widgets.
А слова «организм» и особенно «молекула» я не использую. Более того, когда их произносят другие — у меня слегка дёргается глаз.
Почему? Одно видео, лет 20 назад, навсегда сломало для меня слово «молекула».
Пришлось изрядно покопаться, чтобы найти именно с той самой озвучкой 🤌
Но я его нашёл😁
⚠️ Осторожно: после просмотра слово «молекула» уже никогда не будет прежним.
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
В своих дизайн-системах я стараюсь обходить каноничный нейминг по Фросту с «атомами», «молекулами», «организмами»…
Идея вложенности и иерархии мне нравится, но вот эти названия...
Поэтому у меня чаще встречаются слова вроде: basics, simple items, complex items, widgets.
А слова «организм» и особенно «молекула» я не использую. Более того, когда их произносят другие — у меня слегка дёргается глаз.
Почему? Одно видео, лет 20 назад, навсегда сломало для меня слово «молекула».
Пришлось изрядно покопаться, чтобы найти именно с той самой озвучкой 🤌
Но я его нашёл
- -
Сайт: uxflow.ru
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11
Дайджест январь-август 2025
Давненько я не делал подборку.
Вот что было интересного за эти пол года.
ПОСТЫ:
🔺 Материалы для самопроврки к «Испытанию купоном»
🔺 Должен ли уметь рисовать дизайнер интерфейсов?
🔺 Про портфолио продуктового дизайнера
🔺 Как не надо делать библиоткеку иконок в фигме
🔺 Про тестовые задания
🔺 «А вы часто думаете о Римской Империи?» - утерянная технология Flash и её до сих пор не превзойденные уникальные возможности
🔺 Редизайн своего же дизайна для сервиса загородного отдыха.
🔺 Про обновления дизайна IOS 26 и Material Expressive
🔺 Чем отличается дизайн для SDUI
[часть 1 | часть 2]
🔺 Почему я работаю в компании а не открываю своё
🔺 Концепт: Модификаторы токенов цвета
СТАТЬИ И ВИДЕО:
🔺 Большая статья про SDUI платформу, которую я строил во ВкусВилл.
🔺 Пилотный выпуск «Привет, Сергей» - рассмотрели проблему нового компонента с точки зрения дизайна и кода, в конце получили работающее решение.
🔺 Выступление на Дизайн-Выходных в Казани - «Дизайн-система как инструмент формирования мышления продуктового дизайнера» и ответы на вопросы из зала
🔺 Большая статья «Я не дизайнер!» про моё принятие своего пути, вышла на проекте errarium
Что ещё я сделал за пол года:
🔺 Ушёл из ВкусВилл
🔺 Открыл консультации
🔺 Бухал на вечеринке Авито
🔺 Попал в Дайджест продуктового дизайна
🔺 Поработал пару месяцев в студии и ушёл в Т-Банк (пост о том как я искал работу)
🔺 Редачил книгу про дизайн-системы
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Давненько я не делал подборку.
Вот что было интересного за эти пол года.
ПОСТЫ:
[часть 1 | часть 2]
СТАТЬИ И ВИДЕО:
Что ещё я сделал за пол года:
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
Вам не нужна дизайн-система если…
В чатах по дизайн-системам постоянно всплывает вопрос:
«Мы маленький стартап. Лучше взять готовую ДС или сразу пилить свою? Опыт — ноль».
Честный ответ: если вы задаёте этот вопрос, значит, дизайн-система вам пока не нужна.
ДС создают не потому, что «у всех есть, и у нас тоже будет». Её делают тогда, когда без неё продукт реально перестаёт развиваться. Когда хаос в интерфейсах и коде уже мешает масштабироваться. Если вы не понимаете, как система будет жить и эволюционировать — лучше отложить.
Да, я бы в стартапе, где разработка и дизайн сходятся идеально, сразу собрал каркас Kit’a и положил основу под будущую систему. Но это работает только при условии, что за плечами уже есть несколько построенных и внедрённых ДС. Без такого опыта система очень быстро превращается в дорогую игрушку. Переделывать потом сложнее и дороже, чем сделать с нуля. А брать чужие решения, которые вы не понимаете до конца, — слишком рискованно для дизайн-системы.
С готовыми open-source вариантами та же история. Плохо собранная чужая система хуже, чем её отсутствие. Особенно, когда через год-два вы попробуете масштабироваться и поймёте, что фундамент у вас чужой и непрочный.
Если у вас новый или небольшой продукт, и в команде нет опытных архитекторов ДС — лучше сосредоточьтесь на продукте. Делайте его качественным. Чаще коммуницируйте между дизайном и разработкой. Решайте реальные проблемы, которые уже мешают вам ускоряться и бьют по эффективности.
Со временем у вас сама собой начнёт появляться дизайн-система. Но она будет состоять только из того, что вам понятно, реально работает и отвечает задачам. Без артефактов гигантских систем и лишних деталей из «космолётов» советчиков из бигтеха.
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
В чатах по дизайн-системам постоянно всплывает вопрос:
«Мы маленький стартап. Лучше взять готовую ДС или сразу пилить свою? Опыт — ноль».
Честный ответ: если вы задаёте этот вопрос, значит, дизайн-система вам пока не нужна.
ДС создают не потому, что «у всех есть, и у нас тоже будет». Её делают тогда, когда без неё продукт реально перестаёт развиваться. Когда хаос в интерфейсах и коде уже мешает масштабироваться. Если вы не понимаете, как система будет жить и эволюционировать — лучше отложить.
Да, я бы в стартапе, где разработка и дизайн сходятся идеально, сразу собрал каркас Kit’a и положил основу под будущую систему. Но это работает только при условии, что за плечами уже есть несколько построенных и внедрённых ДС. Без такого опыта система очень быстро превращается в дорогую игрушку. Переделывать потом сложнее и дороже, чем сделать с нуля. А брать чужие решения, которые вы не понимаете до конца, — слишком рискованно для дизайн-системы.
С готовыми open-source вариантами та же история. Плохо собранная чужая система хуже, чем её отсутствие. Особенно, когда через год-два вы попробуете масштабироваться и поймёте, что фундамент у вас чужой и непрочный.
Если у вас новый или небольшой продукт, и в команде нет опытных архитекторов ДС — лучше сосредоточьтесь на продукте. Делайте его качественным. Чаще коммуницируйте между дизайном и разработкой. Решайте реальные проблемы, которые уже мешают вам ускоряться и бьют по эффективности.
Со временем у вас сама собой начнёт появляться дизайн-система. Но она будет состоять только из того, что вам понятно, реально работает и отвечает задачам. Без артефактов гигантских систем и лишних деталей из «космолётов» советчиков из бигтеха.
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23
Эмерджентность — это свойство системы, при котором возникают новые, качественно отличные характеристики, не присущие её отдельным компонентам, но появляющиеся в результате их взаимодействия и объединения в целостную систему.
Иными словами, это непредсказуемость системы как целого, поскольку её свойства не сводятся к простой сумме свойств её частей.
Хороший пример — человек. У него есть сердце, мозг, лёгкие, руки и ноги. Но ни одна из этих частей не может мыслить, чувствовать или творить. Эти свойства рождаются только в целостной системе, которой является человек.
Почему я вообще об этом пишу? В последнее время всё чаще возвращаюсь к теме системного мышления. Особенно к вечному вопросу: что считать дизайн-системой, а что — ещё нет. И вот тут эмерджентность отлично работает как критерий. Если система начинает рождать новые качества и связи — перед вами уже не набор разрозненных компонентов, а именно система.
И это, кстати, очень хорошая цель при проектировании. Не просто закрыть чек-лист из «Кита, библиотеки компонентов, гайдлайнов, Storybook и токенов», а стремиться к тому, чтобы система была живой. Чтобы со временем она приобретала новые свойства, давала больше вариативности и возможностей, чем вы закладывали изначально.
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Иными словами, это непредсказуемость системы как целого, поскольку её свойства не сводятся к простой сумме свойств её частей.
Хороший пример — человек. У него есть сердце, мозг, лёгкие, руки и ноги. Но ни одна из этих частей не может мыслить, чувствовать или творить. Эти свойства рождаются только в целостной системе, которой является человек.
Почему я вообще об этом пишу? В последнее время всё чаще возвращаюсь к теме системного мышления. Особенно к вечному вопросу: что считать дизайн-системой, а что — ещё нет. И вот тут эмерджентность отлично работает как критерий. Если система начинает рождать новые качества и связи — перед вами уже не набор разрозненных компонентов, а именно система.
И это, кстати, очень хорошая цель при проектировании. Не просто закрыть чек-лист из «Кита, библиотеки компонентов, гайдлайнов, Storybook и токенов», а стремиться к тому, чтобы система была живой. Чтобы со временем она приобретала новые свойства, давала больше вариативности и возможностей, чем вы закладывали изначально.
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5
Неделю ходил в офис. Итоги испытательного срока.
Недавно съездил в московский офис Т-Банка — неделю ходил туда как приличный человек. И внезапно понял, что это мой первый «поход в офис» за последние пять лет, с тех пор как грянул ковид😱 .
Т-Банк — первая по-настоящему большая корпорация в моей карьере, прямо тру бигтех 🤌.
И ощущения, конечно, совсем другие.
Тут в офисе тебе и комнаты для медитаций, и кабинки, чтобы поспать (серьёзно), и арома-комната, и фитнес, и бесплатное питание, и даже собственная клиника.
Всё продумано до мелочей: забота, баланс, уют. Но удаленно всё же мне комфортнее, я так продуктивнее, проще контролировать и перераспределять своё рабочее время.
А прямо во время поездки закончился мой испытательный срок.
Поймал себя на мысли, что за эти три месяца я в Фигму заходил только почитать гайды, посмотреть чужой макет или сделать иллюстрацию для своих статей. Оказалось, что проектировать ДС можно не сделав ни одного компонента или переменной в фигме😂
За испытательный срок я написал архитектурное решение для SDUI-системы, которую мы сейчас разрабатываем, согласовал его со стейкхолдерами и утвердил. Это и была моя главная задача на входе.
Второй задачей была за время онбординга сделать аудит ДС и предложить улучшения. Такой вот «экспертный» старт😬
В целом, так и выглядит работа эксперта в моём случае: писать лонгриды, синкаться со стейкхолдерами и собирать сложные куски в единое целое.
На очереди — работа с токенами. Вот там, чую, будет интересное, о чём точно захочется рассказать😉
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Недавно съездил в московский офис Т-Банка — неделю ходил туда как приличный человек. И внезапно понял, что это мой первый «поход в офис» за последние пять лет, с тех пор как грянул ковид
Т-Банк — первая по-настоящему большая корпорация в моей карьере, прямо тру бигтех 🤌.
И ощущения, конечно, совсем другие.
Тут в офисе тебе и комнаты для медитаций, и кабинки, чтобы поспать (серьёзно), и арома-комната, и фитнес, и бесплатное питание, и даже собственная клиника.
Всё продумано до мелочей: забота, баланс, уют. Но удаленно всё же мне комфортнее, я так продуктивнее, проще контролировать и перераспределять своё рабочее время.
А прямо во время поездки закончился мой испытательный срок.
Поймал себя на мысли, что за эти три месяца я в Фигму заходил только почитать гайды, посмотреть чужой макет или сделать иллюстрацию для своих статей. Оказалось, что проектировать ДС можно не сделав ни одного компонента или переменной в фигме
За испытательный срок я написал архитектурное решение для SDUI-системы, которую мы сейчас разрабатываем, согласовал его со стейкхолдерами и утвердил. Это и была моя главная задача на входе.
Второй задачей была за время онбординга сделать аудит ДС и предложить улучшения. Такой вот «экспертный» старт
В целом, так и выглядит работа эксперта в моём случае: писать лонгриды, синкаться со стейкхолдерами и собирать сложные куски в единое целое.
На очереди — работа с токенами. Вот там, чую, будет интересное, о чём точно захочется рассказать
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42😁3👍1
Костыли — это хорошо
Признайтесь, у кого не было соблазна запретить продуктовым командам всё, кроме компонентов дизайн-системы?
А за нарушение — строго карать.
Ну хотя бы выговором.
В идеале — увольнением 😈
Потому что сколько можно: ходишь по командам, ищешь костыли, стараешься поднять покрытие ДС — а оно всё не растёт.
Но представьте, что вам на завтрак запретили есть всё, кроме гречки.
Круто? 😁
Костыли — не зло. Они — индикаторы.
Без них система была бы негибкой и глухой к изменениям.
Костыль — это сигнал: команда не нашла нужный инструмент в ДС.
Значит, либо его там нет, либо команда о нём не знает.
В обоих случаях — это не провал, а подсказка, куда двигаться дальше.
Отслеживайте такие инциденты: они помогают пополнять бэклог реальными задачами и приоритизировать то, что действительно важно.
И не забывайте про эксперименты и «снежинки».
Не всё стоит тащить в общий кит, но и игнорировать их нельзя — рано или поздно они всплывут где-нибудь на проде.
Мораль:
Следите за костылями.
Дайте им легальный способ существования.
И снижайте их количество не запретами, а развитием системы и просвещением команд.
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Признайтесь, у кого не было соблазна запретить продуктовым командам всё, кроме компонентов дизайн-системы?
А за нарушение — строго карать.
Ну хотя бы выговором.
В идеале — увольнением 😈
Потому что сколько можно: ходишь по командам, ищешь костыли, стараешься поднять покрытие ДС — а оно всё не растёт.
Но представьте, что вам на завтрак запретили есть всё, кроме гречки.
Круто? 😁
Костыли — не зло. Они — индикаторы.
Без них система была бы негибкой и глухой к изменениям.
Костыль — это сигнал: команда не нашла нужный инструмент в ДС.
Значит, либо его там нет, либо команда о нём не знает.
В обоих случаях — это не провал, а подсказка, куда двигаться дальше.
Отслеживайте такие инциденты: они помогают пополнять бэклог реальными задачами и приоритизировать то, что действительно важно.
И не забывайте про эксперименты и «снежинки».
Не всё стоит тащить в общий кит, но и игнорировать их нельзя — рано или поздно они всплывут где-нибудь на проде.
Мораль:
Следите за костылями.
Дайте им легальный способ существования.
И снижайте их количество не запретами, а развитием системы и просвещением команд.
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18
UX FLOW • Сергей Мухин
Костыли — это хорошо Признайтесь, у кого не было соблазна запретить продуктовым командам всё, кроме компонентов дизайн-системы? А за нарушение — строго карать. Ну хотя бы выговором. В идеале — увольнением 😈 Потому что сколько можно: ходишь по командам, ищешь…
This media is not supported in your browser
VIEW IN TELEGRAM
Сейчас как раз наблюдаю, как у нас команда Китов в дизайн системе пытается сдержать растекание жидкого стекла по макетам продуктовых дизайнеров через создание библиотеки для экспериментов.
Выходит довольно интересно 😉
Выходит довольно интересно 😉
🔥8😁5
А где новые посты?
Привет, мои Хаттико. У меня был непростой период: помимо основной работы навалилось сразу много всего. Но, кажется, в конце тоннеля наконец-то появился свет — и я решил выйти на связь.
Сейчас уже пишу новый контент, и скоро выйдет что-то новенькое, плюс новости с полей про проектирование SDUI-системы.
Кроме SDUI я теперь ещё и owner стрима дизайн-токенов. Планирую устроить кастдев основных пользователей токенов — обязательно расскажу, что из этого выйдет. 😉
А ещё недавно внезапно побывал философом дизайн-систем и написал свой первый манифест — что забавно, по запросу разработчиков. В ближайшее время расскажу, как, что и зачем это вообще нужно.
Привет, мои Хаттико. У меня был непростой период: помимо основной работы навалилось сразу много всего. Но, кажется, в конце тоннеля наконец-то появился свет — и я решил выйти на связь.
Сейчас уже пишу новый контент, и скоро выйдет что-то новенькое, плюс новости с полей про проектирование SDUI-системы.
Кроме SDUI я теперь ещё и owner стрима дизайн-токенов. Планирую устроить кастдев основных пользователей токенов — обязательно расскажу, что из этого выйдет. 😉
А ещё недавно внезапно побывал философом дизайн-систем и написал свой первый манифест — что забавно, по запросу разработчиков. В ближайшее время расскажу, как, что и зачем это вообще нужно.
🔥24
О важности концептуального виденья
Сейчас я и команда в основном работаем над созданием движка низкоуровневой вёрстки для SDUI-фреймворка. И недавно я получил неожиданную просьбу от тимлида разработки: сформулировать концептуальное видение проекта😱
Оказалось, всё просто. Сейчас мы двигаемся поэтапно: слой за слоем я описываю группы компонентов и разные механики. Но так как виден только текущий шаг, без возможности посмотреть на общую картину, становится сложно обсуждать отдельные решения. Непонятно, как они связаны с тем, что уже есть, и — что важнее — с тем, что ещё только предстоит описать.
Я довольно долго мучился, пытаясь найти форму и нужные формулировки. В итоге остановился на формате манифеста и достаточно абстрактных принципах, не привязанных к реализации. И как только я перестал упираться в детали, всё само сложилось в стройную картину. Команда тепло приняла манифест, и я хочу поделиться с вами некоторыми его положениями — именно теми принципами, которые вы легко сможете примерить на свои системы.
🔺 ЦЕЛОСТНОСТЬ (консистентность)
Система должна быть единым организмом.
Даже если что-то заимствовано, оно проходит переработку — пока не станет элементом нашего языка, а не случайным инородным телом.
Целостность — это не про одинаковость визуала.
Это про внутреннюю логику, которая чувствуется при работе с системой:
«Да, это работает так же, как и всё остальное».
🔺 МОДУЛЬНОСТЬ
Части системы развиваются независимо.
Она должна масштабироваться без разрушения структуры.
Добавление нового — это расширение, а не ломка.
🔺 НЕ ПЛОДИТЬ СУЩНОСТИ
Принцип «расширяй, не создавай заново». Перед добавлением новой сущности — поиск аналогов и попытка обобщить.
Перед созданием любой новой сущности — шаг назад:
«Это новое? Или это частный случай уже существующего?»
Система выигрывает, когда обобщает, а не распыляет.
В идеале новая сущность — это выражение закономерности, а не «компонент для конкретного кейса».
Новая сущность должна рождаться не из задачи, а из закономерности.
Мы ищем то, что повторяется, и поднимаем это на уровень абстракции.
Сущность должна отвечать на вопрос:
«Это выражение функции или просто костыль?»
🔺 ПРОСТОТА ДЛЯ ПОЛЬЗОВАТЕЛЯ
Сложность решения внутри системы — ок, если внешнее API остаётся простым и предсказуемым.
Простое — это не примитивное.
Система может быть сложной, но простой в использовании, т.е. внутренние механизмы могут быть сложными, но внешний язык должен быть лёгким и предсказуемым.
🔺 ОБОБЩЕНИЕ
Обобщать — значит замечать закономерности и поднимать уровень абстракции.
Не «кнопка отдельная, карточка отдельная»,
а «интерактивный блок со состояниями», который потом проявляется разными способами.
Обобщение — источник появления сильных, долговечных сущностей.
Мы ищем общее между разными решениями.
Мы строим не частные компоненты, а абстракции.
Кроссплатформенность — естественное продолжение обобщения.
🔺 УНИВЕРСАЛЬНОСТЬ
Язык системы должен быть понятен на любой платформе — разработчикам, дизайнерам и всем пользователям системы.
Универсальность — не про одинаковость, а про общность принципов.
🔺 КОМБИНИРОВАНИЕ И ВАРИАТИВНОСТЬ
Элементы системы должны сочетаться и порождать новое.
Настройки должны позволять выражать разные формы в рамках одних и тех же принципов.
Сила системы — в том, как она проявляется в комбинациях.
Комбинации должны порождать давать новые свойства, недоступные элементам по отдельности.
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Сейчас я и команда в основном работаем над созданием движка низкоуровневой вёрстки для SDUI-фреймворка. И недавно я получил неожиданную просьбу от тимлида разработки: сформулировать концептуальное видение проекта
Оказалось, всё просто. Сейчас мы двигаемся поэтапно: слой за слоем я описываю группы компонентов и разные механики. Но так как виден только текущий шаг, без возможности посмотреть на общую картину, становится сложно обсуждать отдельные решения. Непонятно, как они связаны с тем, что уже есть, и — что важнее — с тем, что ещё только предстоит описать.
Я довольно долго мучился, пытаясь найти форму и нужные формулировки. В итоге остановился на формате манифеста и достаточно абстрактных принципах, не привязанных к реализации. И как только я перестал упираться в детали, всё само сложилось в стройную картину. Команда тепло приняла манифест, и я хочу поделиться с вами некоторыми его положениями — именно теми принципами, которые вы легко сможете примерить на свои системы.
Система должна быть единым организмом.
Даже если что-то заимствовано, оно проходит переработку — пока не станет элементом нашего языка, а не случайным инородным телом.
Целостность — это не про одинаковость визуала.
Это про внутреннюю логику, которая чувствуется при работе с системой:
«Да, это работает так же, как и всё остальное».
Части системы развиваются независимо.
Она должна масштабироваться без разрушения структуры.
Добавление нового — это расширение, а не ломка.
Принцип «расширяй, не создавай заново». Перед добавлением новой сущности — поиск аналогов и попытка обобщить.
Перед созданием любой новой сущности — шаг назад:
«Это новое? Или это частный случай уже существующего?»
Система выигрывает, когда обобщает, а не распыляет.
В идеале новая сущность — это выражение закономерности, а не «компонент для конкретного кейса».
Новая сущность должна рождаться не из задачи, а из закономерности.
Мы ищем то, что повторяется, и поднимаем это на уровень абстракции.
Сущность должна отвечать на вопрос:
«Это выражение функции или просто костыль?»
Сложность решения внутри системы — ок, если внешнее API остаётся простым и предсказуемым.
Простое — это не примитивное.
Система может быть сложной, но простой в использовании, т.е. внутренние механизмы могут быть сложными, но внешний язык должен быть лёгким и предсказуемым.
Обобщать — значит замечать закономерности и поднимать уровень абстракции.
Не «кнопка отдельная, карточка отдельная»,
а «интерактивный блок со состояниями», который потом проявляется разными способами.
Обобщение — источник появления сильных, долговечных сущностей.
Мы ищем общее между разными решениями.
Мы строим не частные компоненты, а абстракции.
Кроссплатформенность — естественное продолжение обобщения.
Язык системы должен быть понятен на любой платформе — разработчикам, дизайнерам и всем пользователям системы.
Универсальность — не про одинаковость, а про общность принципов.
Элементы системы должны сочетаться и порождать новое.
Настройки должны позволять выражать разные формы в рамках одних и тех же принципов.
Сила системы — в том, как она проявляется в комбинациях.
Комбинации должны порождать давать новые свойства, недоступные элементам по отдельности.
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥9💯2
UX FLOW • Сергей Мухин
О важности концептуального виденья Сейчас я и команда в основном работаем над созданием движка низкоуровневой вёрстки для SDUI-фреймворка. И недавно я получил неожиданную просьбу от тимлида разработки: сформулировать концептуальное видение проекта😱 Оказалось…
Дополнение про виденье
Принципы — это далеко не весь манифест, но, пожалуй, самая неспецифичная для проекта его часть. Как это должно работать: при принятии архитектурного решения — заводить компонент или нет — команда возвращается к принципам, перечитывает их и исходит из них.
Казалось бы, всё довольно очевидно, но я бы не писал манифест, если бы это действительно было так. Например, в противовес такому абстрактному подходу есть мышление «от кейса». И был случай, когда мы чуть не поступили вопреки здравому смыслу. Описывая свойства контейнеров, всерьёз обсуждали поддержку max-height и max-width, но отказ от min-height и min-width в первой итерации — просто потому что «нет кейса». К счастью, здравый смысл победил, и мы поддержали все четыре свойства. А что если бы нет?
Вот в таких ситуациях особенно важно, чтобы вся команда была синхронизирована на уровне виденья.
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Принципы — это далеко не весь манифест, но, пожалуй, самая неспецифичная для проекта его часть. Как это должно работать: при принятии архитектурного решения — заводить компонент или нет — команда возвращается к принципам, перечитывает их и исходит из них.
Казалось бы, всё довольно очевидно, но я бы не писал манифест, если бы это действительно было так. Например, в противовес такому абстрактному подходу есть мышление «от кейса». И был случай, когда мы чуть не поступили вопреки здравому смыслу. Описывая свойства контейнеров, всерьёз обсуждали поддержку max-height и max-width, но отказ от min-height и min-width в первой итерации — просто потому что «нет кейса». К счастью, здравый смысл победил, и мы поддержали все четыре свойства. А что если бы нет?
Вот в таких ситуациях особенно важно, чтобы вся команда была синхронизирована на уровне виденья.
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9💯4
Недавно прорабатывал анимации изменений контента в списках для SDUI-контейнера. Решил оттолкнуться от того, что уже используется в нативной ДС.
Нашёл достаточно подробный гайд, но вот с анимациями возникли вопросы. При сложных изменениях все триггеры срабатывали одновременно, и в итоге все анимации играли параллельно. Местами они перекрывали друг друга и выглядело это грязновато — особенно когда анимация «уплотнения» списка накладывалась на исчезновение элементов.
Плюс, на мой взгляд, это ещё и не выполняет важную функцию анимации — объяснять пользователю, что вообще происходит с контентом.
Давайте немного интерактива, а за одно и проверим мою гипотезу:
Как вы думаете, что произошло со списком в анимации из превью?
А я пока допишу пост о том, что там на самом деле, как я подошёл к задаче и что получилось в итоге. 😉
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Нашёл достаточно подробный гайд, но вот с анимациями возникли вопросы. При сложных изменениях все триггеры срабатывали одновременно, и в итоге все анимации играли параллельно. Местами они перекрывали друг друга и выглядело это грязновато — особенно когда анимация «уплотнения» списка накладывалась на исчезновение элементов.
Плюс, на мой взгляд, это ещё и не выполняет важную функцию анимации — объяснять пользователю, что вообще происходит с контентом.
Давайте немного интерактива, а за одно и проверим мою гипотезу:
Как вы думаете, что произошло со списком в анимации из превью?
А я пока допишу пост о том, что там на самом деле, как я подошёл к задаче и что получилось в итоге. 😉
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔2
Анимации, продолжение
Кто ответил что-то вроде «удаление одного элемента и добавление другого » — оказался прав. Остальные нет😂
Что я в итоге сделал:
Разделил анимации появления и исчезновения ещё на две:
1️⃣ собственно появление/исчезновение элемента
2️⃣ уплотнение/расширение списка (когда слот удалённого элемента схлопывается).
Все эти штуки я обозначил как «базовые типы» и ввёл принцип последовательности: запрет одновременного воспроизведения двух и более разных базовых типов.
То есть если нужно удалить сразу 10 ячеек — это ок, для них можно сыграть одинаковые анимации параллельно. Но любые другие типы изменений должны идти строго последовательно.
Такое поведение проще просчитать, легче комбинировать и конфигурировать. А при сложных изменениях благодаря последовательности становится наглядно видно, что вообще происходит.
Ну а результат для того же самого сценария «удаление → затем добавление» — смотрите ниже.👇
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Кто ответил что-то вроде «
Что я в итоге сделал:
Разделил анимации появления и исчезновения ещё на две:
Все эти штуки я обозначил как «базовые типы» и ввёл принцип последовательности: запрет одновременного воспроизведения двух и более разных базовых типов.
То есть если нужно удалить сразу 10 ячеек — это ок, для них можно сыграть одинаковые анимации параллельно. Но любые другие типы изменений должны идти строго последовательно.
Такое поведение проще просчитать, легче комбинировать и конфигурировать. А при сложных изменениях благодаря последовательности становится наглядно видно, что вообще происходит.
Ну а результат для того же самого сценария «удаление → затем добавление» — смотрите ниже.
- -
Сайт: uxflow.ru
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Переменные в Фигме. Боль, JSON и AI.
Сейчас делаю концепт новой архитектуры цветов. Одна из фич — гибкое склонение токенов по группам.
Например, цвет primary может склоняться по:
🔵 оттенку (neutral, positive, brand…),
🔵 семантической группе (accent, contrast, inversed),
🔵 платформе (web, iOS, Android),
🔵 и, финально, теме — день/ночь.
Это даёт гибкость, расширяемость и задел на важные механики в будущем. Например, на действительно гибкую темизацию.
Но! Фигма так нативно и красиво не умеет. Только через костыль.
Во-первых, сразу отказываемся от идеи переключать оттенки модами (neutral, positive, negative… . вот эта штука). Очень хотелось бы, но нет уверенности, что хватит лимита по количеству модов — не хочется загонять себя в ограничения на старте.
И даже без этого, чтобы переключать остальные группы через моды, на первом слое нужно объявить всё логическое произведение групп (перемножить их между собой). И получается жесть.
Допустим, семантические группы мы выносим в моды. Но все остальные измерения зашиваем в уникальные переменные вида:
И это ещё нужно продублировать для каждого (!!!) оттенка. И так для каждого токена.
Зато в следующих коллекциях можно всё красиво связать с модами, скрыть промежуточные коллекции от публикации и получить аккуратное управление. Но какой ценой? Вручную это обслуживать почти нереально.
И тут внезапно на сцену выходят нейросети.
Даже обычный ChatGPT уже неплохо редактирует JSON. Достаточно:
1️⃣ экспортировать переменные из Фигмы через любой бесплатный плагин,
2️⃣ скормить JSON в нейронку,
3️⃣ внести правки,
4️⃣ импортировать обратно.
Да, бэкапы сохраняем постоянно — это база.
А если настроить это аккуратно через специализированные ИИ-инструменты (тот же Codex) и связать всё через что-нибудь вроде Cursor с Фигмой, можно автоматизировать часть рутины, обложить правилами и со временем минимизировать галлюцинации и лишние пояснения.
В общем, кажется, это первый в моей личной практике внятный кейс, когда ИИ реально упрощает работу с дизайн-системой.
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Сейчас делаю концепт новой архитектуры цветов. Одна из фич — гибкое склонение токенов по группам.
Например, цвет primary может склоняться по:
Это даёт гибкость, расширяемость и задел на важные механики в будущем. Например, на действительно гибкую темизацию.
Но! Фигма так нативно и красиво не умеет. Только через костыль.
Во-первых, сразу отказываемся от идеи переключать оттенки модами (neutral, positive, negative… . вот эта штука). Очень хотелось бы, но нет уверенности, что хватит лимита по количеству модов — не хочется загонять себя в ограничения на старте.
И даже без этого, чтобы переключать остальные группы через моды, на первом слое нужно объявить всё логическое произведение групп (перемножить их между собой). И получается жесть.
Допустим, семантические группы мы выносим в моды. Но все остальные измерения зашиваем в уникальные переменные вида:
day\web\primary
day\ios\primary
day\android\primary
night\web\primary
night\ios\primary
night\android\primaryИ это ещё нужно продублировать для каждого (!!!) оттенка. И так для каждого токена.
Зато в следующих коллекциях можно всё красиво связать с модами, скрыть промежуточные коллекции от публикации и получить аккуратное управление. Но какой ценой? Вручную это обслуживать почти нереально.
И тут внезапно на сцену выходят нейросети.
Даже обычный ChatGPT уже неплохо редактирует JSON. Достаточно:
Да, бэкапы сохраняем постоянно — это база.
А если настроить это аккуратно через специализированные ИИ-инструменты (тот же Codex) и связать всё через что-нибудь вроде Cursor с Фигмой, можно автоматизировать часть рутины, обложить правилами и со временем минимизировать галлюцинации и лишние пояснения.
В общем, кажется, это первый в моей личной практике внятный кейс, когда ИИ реально упрощает работу с дизайн-системой.
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍3😁2🤯1
Ищем продуктового дизайнера в команду дизайн-системы Т-Банка — с фокусом на дизайн-токены и автоматизацию.
Что предстоит делать
— Вместе со мной развивать и сопровождать систему дизайн-токенов: расширять, улучшать и модернизировать её.
— Участвовать в проектировании процессов синхронизации токенов между дизайном (Figma) и кодом, автоматизировать экспорт и импорт (JSON и др.).
— Работать с продуктовыми командами, frontend-разработчиками и менеджерами: помогать находить компромиссы и принимать архитектурные решения.
— Готовить и поддерживать документацию, гайды и обучающие материалы, проводить воркшопы и ревью для команд-потребителей.
— Обеспечивать качество системы: accessibility, тестирование токенов и контроль обратной совместимости изменений.
— Инициировать улучшения: ускорять процессы, развивать CI/CD для токенов и экспериментировать с масштабируемостью и производительностью.
Формат: удалёнка, гибрид или офис.
Присылайте ваши CV и кейсы по дизайн-системам Ангелине.
🔎 Смотреть вакансию
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
Что предстоит делать
— Вместе со мной развивать и сопровождать систему дизайн-токенов: расширять, улучшать и модернизировать её.
— Участвовать в проектировании процессов синхронизации токенов между дизайном (Figma) и кодом, автоматизировать экспорт и импорт (JSON и др.).
— Работать с продуктовыми командами, frontend-разработчиками и менеджерами: помогать находить компромиссы и принимать архитектурные решения.
— Готовить и поддерживать документацию, гайды и обучающие материалы, проводить воркшопы и ревью для команд-потребителей.
— Обеспечивать качество системы: accessibility, тестирование токенов и контроль обратной совместимости изменений.
— Инициировать улучшения: ускорять процессы, развивать CI/CD для токенов и экспериментировать с масштабируемостью и производительностью.
Формат: удалёнка, гибрид или офис.
Присылайте ваши CV и кейсы по дизайн-системам Ангелине.
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
UX FLOW • Сергей Мухин
Недавно прорабатывал анимации изменений контента в списках для SDUI-контейнера. Решил оттолкнуться от того, что уже используется в нативной ДС. Нашёл достаточно подробный гайд, но вот с анимациями возникли вопросы. При сложных изменениях все триггеры срабатывали…
Недавно пришлось все же докручивать анимации списков, которые я постил ранее.
В итоге не удалось совсем уйти от наложений. Сформулировал правило и сохраняя принцип последовательности, и в итоге все вписалось органично.
Но вот демо анимации пришлось перевести из фигмы в Protopie.
- -
🛫 Канал: UXFLOW • Сергей Мухин
Сайт: uxflow.ru
В итоге не удалось совсем уйти от наложений. Сформулировал правило и сохраняя принцип последовательности, и в итоге все вписалось органично.
Но вот демо анимации пришлось перевести из фигмы в Protopie.
- -
Сайт: uxflow.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9