Дизайн-система в inDriver: не пытайтесь покинуть Oymyakon
Всем привет, я Алексей, iOS-разработчик в inDriver. Наше приложение представляет собой суперапп с множеством сервисов и услуг: городские, межгородские и грузовые поездки, курьерская доставка, услуги мастеров и так далее. Над каждым сервисом работают отдельные команды, которые имеют свободу принятия решений и вольны делать с продуктом почти все, что захотят.
Но давайте представим, что им дали полную свободу в дизайне. Что из этого может получиться? Скорее всего, хаос. Поэтому у нас есть команда дизайн-системы, о которой я и расскажу под катом.
Содержание
Предыстория
Представим абстрактную задачу — например, сделать кнопку создания заказа. Команда 1 берется за нее, делает, добавляет, все круто и здорово. Через какое-то время команде 2 тоже понадобилась кнопка. Они посмотрели на команду 1, но решили сделать ее по-своему. Есть команды 3 и 4, они тоже посмотрели и сказали: «Круто и здорово, но мы сделаем по-своему».
Но поскольку все они живут в одном приложении, получится такой винегрет из неконсистентного дизайна, что не очень прикольно:
Каждая команда изобретает свой велосипед
Чтобы такого не было, в 2021 году у нас появилась дизайн-система под названием Oymyakon. Названа она в честь одного из полюсов холода. Там зафиксированы лютые морозы, но при этом очень красиво и необычно.
Официально температура в Оймяконе доходила до −67,7°С
Название мы выбирали очень долго, было несколько итераций. Первый раз я просто закинул опрос внутри сообщества разработки, но это не зашло (все-таки люди не совсем из творческой сферы). Потом просто назвали DesignSystem, но выглядело как-то не кашерно