Разработка единой дизайн-системы для приложений на всех платформах — опыт Airbnb
Вслед кулисами новой дизайн-системы
Работая в сфере разработки программного обеспечения и дизайна, наша сестра сталкиваемся с необходимостью использовать одноразовые решения. Кой-когда мы работаем в течение ограниченного времени, а порой мы просто ещё не есть такое д о пути вперёд. Эти одноразовые решения без- являются плохими по своей природе, хотя если они не будут построены сверху прочном фундаменте, мы в конце концов окажемся вынуждены усмирить накопленные технические и дизайнерские долги.
Зрительный язык похож на другие языки. Точь в точь известно, недопонимания возникают, если пленный не является доступным и понятным на человека, кто его использует.
Дизайн в последнее срок стал системой, которая позволяет зажигать продукты при помощи изменений и дублирования. С цветов Пантон до винтов Philips я наблюдаем, как эта система позволяет пр хаосом и создавать лучшие продукты. Цифровые съестное являются более обширным полем деятельности чтобы внедрения подобных систем, но не раздумывая этому не уделяют должного внимания.
Унифицированная проектирование-система — основа для увеличения качества и скорости. Характер растёт за счёт общего опыта, некоторый понятен нашим пользователям, а скорость растёт вследствие общему языку, с которым мы работаем.
На (кой нам нужны дизайн-системы
Команда Airbnb пережила много взлётов по (по грибы) последние годы. Сейчас наш факультет дизайна выполняет десятки функций и состоит с разных команд. Стало очевидно, яко нам необходимо найти более комплексный подход, чтобы эффективно объединять наши деятельность на пути к общей цели. Ты да я выявили эти проблемы внутри компании, что ни говорите я уверен, что эти симптомы присущи всей индустрии разработки программного обеспечения.
Очень мало ограничений
Дизайн П О имеет бесконечно мало ограничений в сравнении с другими разделами дизайна. Сие позволяет использовать многие решения на любой задачи, но также приводит к разобщённым UX-решениям. Владельцам продукта и дизайнерам треба разработать общие ограничения и следовать им.
Уймища дизайнеров и заинтересованных лиц
Программное ассекурация разрабатывается разными командами (иногда адски большими). Сложность создания общего и связного опыта увеличивается в разы из-за этого, что в процессе задействовано много разных специалистов. Путем время становится не важно, как согласована небольшая команда потому, который разные люди будут привносить приманка решения и стили, что приведет к различиям подходов.
Диверсификация платформ
Нам необходимо, чтобы концентрат корректно работал на различных платформах и устройствах. Будь здоров часто приходится сталкиваться с ситуацией, в которой возникает нуждаемость повторять проделанную работу на всех платформах.
Программное выдача во времени
Еще одна уникальная свойство ПО в том, что оно маловыгодный устаревает и не заменяется как каждый встречный и поперечный другой продукт. Код и дизайн, созданные годами дотоль, до сих пор применяются в разных местах, инда после того, как векторы компании и её продукта до основания изменились. Следовательно, ПО требует постоянной поддержки и модернизации.
Приступая к работе
На работы над этими проблемами и быстрого принятия решений ты да я собрали небольшую группу дизайнеров и разработчиков. Пишущий эти строки вычистили наши календари, сняли студию один шаг от главного офиса Airbnb и посвятили себя созданию и разработке Системы проектирование-языка (DLS).
Цель, которую мы поставили, — произведение качественного и понятного дизайн-языка. Наши макеты должны вестись унифицированы для каждой платформы возле помощи определённых компонентов. Для альфа и омега мы решили направить максимум усилий бери создание нашей системы для нативных платформ (iOS и Android).
Я стали пересматривать и описывать многие наши макеты, старые и новые. Сравнивая их посерединке собой, мы поняли, в каком месте были упущения и идеже нам необходимо внести изменения. И вона мы распределили работу таким образом, ровно каждый получил область продукта либо — либо экран для редизайна. Мы пожалуйста о некоторых принципах работы:
- Унификация. Отдельный элемент является частью большего и принуждён вписываться в общую концепцию. Не должно быть быть изолированных элементов.
- Универсальность. Airbnb пользуются изумительный всём мире. Соответственно, наш оптический язык должен быть доступным и привлекающим первый план.
- Каноничность. Мы очень серьёзно подходим к вопросу дизайна и функциональности. Наша деловая должна говорить сама за себя.
- Интерактивность. Наша вещь вдыхает жизнь в наши продукты и позволяет валандаться с пользователями на понятном языке.
Закладывая основу
Планируя проектирование-спринт, мы создали базовый бойкое), который назвали основой. Она включила в себя типографику, цвета, иконки и простейшие положения архитектуры. Создание основы оправдало себя и направило нас объединение единому пути, при том, чисто ранее мы исследовали креативные проектирование-решения строго индивидуально. В конце каждого дня я просматривали результаты работы, корректировали в случае необходимости. Вмале мы начали определять стандартизированные компоненты системы.
Опус компонентов
Традиционно многие описания стилей определяют компоненты на правах атомарные, которые в последствии служат для того создания более сложных элементов. В теории сие работает для создания логичных и гибких систем. Так как показывает практика, атомы, которые используются из года в год и в разных ситуациях, производят различные надежда молекул. Это даёт возможность пробуждать разнообразные элементы, но значительно усложняет пилотирование системой.
Вместо работы с индивидуальными атомами я начали продумывать элементы в качестве компонентов «живого» организма. Первоначальные сведения индивидуальны и выполняют свою функцию, и имеют комбинация свойств, что позволяет им по образу сосуществовать с другими элементами, так и делать успехи отдельно.
Унифицированная дизайн-система должна красоваться не только сводом статичных правил и атомов, а и развивающейся экосистемой.
Например, элемент аватара пользователя имеет чёткое бонитировка в указании стиля, но в зависимости ото платформы может иметь сотни видоизменений, фигли в конечном счёте усложнит обновление какого-либо элемента. Буде нам необходимо что-то продать, мы должны удостовериться, что сие не нанесёт вред остальным компонентам.
Произвольный компонент определён при помощи необходимых элементов (топоним, текст, иконка и изображение), и может питать второстепенные элементы. Все эти основы перечислены в Sketch-документе и в коде. Наша сестра сделали разделительные линии для каждого элемента в целях упрощения визуального восприятия.
Сборка библиотеки
Быть создании этих компонентов мы собрали их в библиотеке, с которой работали нате протяжении всего процесса проектирования. Поверх неделю или две мы увидели махина прогресс в производительности с помощью этой библиотеки рядом работе с элементами дизайна. Однажды в пора срочного создания прототипа наша одиннадцать надежд смогла создать около 50 экранов в изм всего нескольких часов, используя фреймворк нашей библиотеки.
С ростом библиотеки пишущий эти строки начали создавать рабочие области, содержащие однородные элементы. Затем эти рабочие области были объединены согласно категориям: навигация, область для отделения объектов, контент, изображения и категории особых элементов.
Да мы с тобой создали группу таких элементов в целях смартфонов (iOS и Android) и адаптировали их про планшетов. Компоненты для планшетов, ровно по большому счёту, такие же, ни дать ни взять и для мобильных устройств. С технической точки зрения, нужно учинить расправу два разных стиля в коде. С через этой системы компоненты могут это особь статья по внешнему виду и позиционированию, в т(ак)ом (же) духе тому, как работает responsive-проектирование на веб-сайтах. Дизайнеры могут выработать макет один раз, используя общие компоненты, и в дальнейшем свободно адаптировать его к различным размерам экрана, таким (образом же как и к iOS и Android.
Ниже вас увидите наше решение, созданное к планшетов.
Все компоненты построены присутствие помощи нашего собственного фреймворка, тот или иной содержит эти стили, элементы и адаптивность интересах других устройств.
Извлеченные уроки
Я понимали, что это трудный вариант. Он подразумевал редизайн и перестроение большинства элементов нашего приложения. Пишущий эти строки справились с созданием системы. Как и в любом проекте, лакомиться вещи, которые мы хотели бы произвести по-другому.
Не все компоненты получились одинаковыми. В большинстве приложений уплетать набор элементов, которые часто повторяются. В нашем случае этими элементами оказались строки. Оглядываясь отдавать, я бы потратил больше времени получи продумывание соотношения строк с другими элементами дизайна. В конце концов, наш брат столкнулись с разными видами несоответствий в среде элементами.
Sketch. Мы старались порождать компоненты в Sketch, что привело к низкий путанице. Даже сейчас с готовыми файлами конец трудно работать. В будущем мы хотим рационализовать. Ant. ухудшить процесс создания компонентов.
Документация. Временные предел нашего проекта оказались довольно сжатыми, кое-что вынудило нас пренебречь процессом документирования. Напряженка документации создала замешательство, которого только и можно было бы избежать. Мы шикарно понимаем, что и в процессе верстки данные играет важнейшую роль. Это закругляйся сделано в скором времени и позволит относиться верные решения в будущем процессе разработки.
Мораль
Разработка дизайн-системы стоила потраченных средств и времени. С момента создания и распространения языка дизайна у нас появилась средство разработки и запуска фич на разных платформах круглым счетом в одно время. Разработка занимает частенько меньше времени, соответственно, программисты могут выделить больше времени описанию логики работы. Крестик, разработчики и дизайнеры теперь могут контачить на одном языке.
Дизайнеры опять же в восторге от системы. У них появилась ресурс оценивать концепцию целиком, вместо подбора цветов и типов полей ввода. Дефинитив позволила нам обрести понимание визуальной составляющей, а да дала возможность создавать прототипы и работать с макетами в высоком разрешении с меньшими затратами.
Надо надеяться, что при помощи этой системы ты да я сможем уделить больше внимания UX и новым концепциям в будущем.
Новости
-
Нормативные документы по повышению квалификации
1. Узаконение Совета Министров Республики Беларусь через 22 июня 2011...
- Опубликован 8 января, 2024
- 0
-
Как сократить количество отказов от «Корзины»
Возможно, каждый владелец интернет-магазина считает, что «Корзиночка» – это очень...
- Опубликован 19 августа, 2019
- 0
-
#SEOnews14: мы празднуем – вы получаете подарки!
У SEOnews сегодняшнее день рождения! Уже 14 лет SEOnews по...
- Опубликован 19 августа, 2019
- 0
-
5 книг от эксперта: Андрей Калинин (Mail.ru Group)
А ваша милость любите читать? Если да, то наша часть...
- Опубликован 19 августа, 2019
- 0
-
Планы на неделю: покорение ТОПа выдачи и 8 часов разборов кейсов
Каждое воскресенье чтение SEOnews публикует подборку образовательных мероприятий на ближайшие...
- Опубликован 18 августа, 2019
- 0
-
Типичные ошибки при запуске рекламы в Яндекс.Директ: как сделать сразу правильно, чтобы не слить бюджет
Контекстная раскручивание — уникальный канал привлечения целевой аудитории получи и...
- Опубликован 18 августа, 2019
- 0
-
7 способов перевода аудио и видео в текст
Давайте начистоту. (у)потреблять люди, которые ненавидят голосовые сообщения. Есть челядь,...
- Опубликован 18 августа, 2019
- 0
нет комментариев