Разработали мобильное приложение для «ИЛЬ ДЕ БОТЭ»

  • Ритейл

  • Бизнес

  • Приложение

Интро

В рекордные сроки разработали мобильное приложение для крупной парфюмерно-косметической сети. За две недели подготовили дизайн, а на четвертый месяц зарелизили продукт в App Store и Google Play.

01

Интро

«ИЛЬ ДЕ БОТЭ» — одна из крупнейших парфюмерно-косметических сетей России

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

02

Задача

Разработать нативное приложение для iOS и Android к «высокому сезону»

Команда «ИЛЬ ДЕ БОТЭ» обратилась к нам в декабре 2023 года. Предстояло оперативно подхватить проект и зарелизить его до «высокого сезона» — периода, когда люди покупают подарки близким к 14 и 23 февраля, 8 марта.

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

03

Решение

Адаптировали процессы под специфику проекта

Над проектом мы работали в тесном партнёрстве с командами «ИЛЬ ДЕ БОТЭ» и «Гринсайт». Вместе приняли рискованное, но стратегическое верное решение — стартовать работу без технического задания. Чтобы избежать путаницы и наладить взаимодействие, внедрили подход Contract First. Со своей стороны подключили рекордное количество дизайнеров и разработчиков. И выстроили работу так, чтобы каждый из них занимался отдельным блоком приложения.

Итог — уложились в срок и опубликовали приложение в App Store и Google Play. Всё получилось благодаря высокой вовлечённости и экспертизе MobileUp и «Гринсайт», а также чёткому системному подходу «ИЛЬ ДЕ БОТЭ».

То самое приложение

Продумали план реализации проекта

На старте изучили артефакты и провели большой брифинг с командой «ИЛЬ ДЕ БОТЭ». В условиях сжатых сроков времени готовить полноценное техническое задание не было, возможности последовательно переходить от одного этапа создания продукта к другому — тоже, поэтому мы внедрили Contract First.

Заголовок

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

Последний пункт был особенно важен, так как над проектом работала не только наша команда. Пока мы реализовывали функциональность и создавали пользовательский интерфейс, команда «Гринсайт» занималась серверной инфраструктурой. Мы заранее обсудили, как именно будем разрабатывать приложение. Работали в параллель, придерживаясь первоначальных договоренностей . А затем встретились в одной точке, когда продукт был почти готов.

Юля Ларионова

Руководитель проекта

Contract First позволил запустить все этапы разработки в рамках одной недели, обеспечил разработчиков и тестировщиков документацией, на которую они могли опираться при выполнении задач. А ещё зафиксировал договорённости между нами, командой «ИЛЬ ДЕ БОТЭ» и командой «Гринсайт».

За две недели разработали и согласовали дизайн приложения

Стандартный дизайн-процесс выглядит так: мы проектируем приложение, создаём дизайн-концепцию и только после этого собираем библиотеку компонентов. В случае с «ИЛЬ ДЕ БОТЭ» мы не делали проектирование с нуля, а переняли уже существующую логику веб-версии интернет-магазина. В концепции тоже не было необходимости — дизайн в вебе уже был. Поэтому мы сразу приступили к подготовке компонентов, на основе которых дизайнеры создавали макеты.

Заголовок

«ИЛЬ ДЕ БОТЭ» — первый проект, на котором в определённый момент были задействованы все дизайнеры MobileUp. У каждого был отдельный блок, например, главная страница или каталог, и он фокусно готовил макеты для него.

Избежать путаницы при таком количестве человек, одновременно работающих в одном файле, как раз помогала библиотека компонентов. Она делала процесс подготовки макетов более управляемым. Конечно, в процессе появлялась потребность в новых компонентах. В этом случае пополнение библиотеки происходило путем согласования внутри команды, чтобы избежать дублей.

Катя Драган

Дизайнер

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

Заголовок

При подготовке дизайна мы осознанно отказались от созвонов, потому что они только отнимали время. Все вопросы решали прямо в Figma. Если нужно было что-то поправить, заказчик оставлял комментарий, и мы тут же брали его в работу. Затем показывали результат и ждали обратную связь. Таким импровизированным «пинг-понгом» за две недели полностью согласовали дизайн мобильного приложения и передали его в разработку.

Юля Ларионова

Руководитель проекта

04

Разработка

Продумали архитектурное устройство

На проекте реализовали многомодульную структуру, позволяющую делить код на отдельные смысловые зоны. Это помогло чётко определить границы ответственности. А ещё ускорило процесс — разработчики параллельно работали над разделами и компонентами приложения, не мешая друг другу.

Заголовок

В периоды пиковой активности iOS-команда достигала 14 человек. Из них мы выделили четырёх разработчиков, которые отвечали за отдельные разделы приложения. Каждый из них формировал свою подкоманду, внутри которой более углублённо распределял задачи.

В работе мы отталкивались от готовности дизайна и бэкенда. Как только появлялся пакет требований для раздела ответственная за него подкоманда тут же приступала к реализации.

Денис Сушков

iOS TeamLead

Главный экран превратили в настоящую витрину магазина

Чтобы главный экран привлекал внимание пользователей и вызывал желание купить, сделали его похожим на настоящую витрину магазина. Добавили яркие баннеры с акциями и анимировали их. Реализовали всё, что нужно для удобной навигации — подборки по брендам, раздел с выгодными предложениями и возможность поиска товаров. Добились того, чтобы элементы не конфликтовали между собой, быстро загружались и корректно отображались.

Реализовали каталог с фильтрами и «умным» поиском

Одной из самых сложных технических задач была реализация каталога. Над ней команды дизайна и разработки работали в тесном партнёрстве. Дизайнерам предстояло продумать сценарий, чтобы пользователь не заблудился в бесконечном количестве страниц. А разработчикам — сделать так, чтобы он мог быстро находить нужное.

Заголовок

В какой-то момент над каталогом трудилась почти вся команда iOS-разработчиков. Объём был настолько велик, что для каждого находился компонент, который он мог реализовать, не блокируя работу коллег.

Денис Сушков

iOS TeamLead

Итогом совместных усилий стал каталог с возможностью просматривать товары, сортировать их по цене, бренду и категории, а также находить нужное с помощью умного поиска.

Каталог с возможностью просматривать и сортировать товары

Подготовили индивидуальное оформление для брендов-партнёров

У «ИЛЬ ДЕ БОТЭ» есть бренды-партнёры, с которыми он работает на особых условиях. Для них предусмотрены специальные требования к визуалу и функциональности. Это помогает создать ощущение премиального корнера как в настоящем магазине и работает на привлечение внимания пользователей.

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

Позаботились о том, чтобы ничто не мешало добавить товар в корзину

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

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

В карточке пользователь может получить всю нужную информацию

В карточке пользователь может получить подробную информацию о товаре. Для его удобства помимо просмотра основного контента мы реализовали ещё три состояния экрана:

  • просмотр изображений с возможностью увеличения;

  • выбор цвета продукта;

  • выбор объёма продукта.

Такое разделение могло нагружать экран. Чтобы обеспечить плавную работу приложения, внедрили StateFlow. С его помощью мы явно контролируем текущее состояние экрана, предотвращая несколько состояний одновременно.

Упростили сценарий оформления заказа

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

Прежде чем реализовывать пользовательский путь в коде, мы визуализировали его «на бумаге». Описали все возможные сценарии и то, как они меняются в зависимости от выбора юзера. На каждом этапе учитывали взаимодействие с бэкендом для корректного отображения данных. Это позволило сделать процесс оформления заказа прозрачным и предусмотреть детали. Например, подарки, которые добавляются или не добавляются к заказу в зависимости от способа доставки.

Проработали сценарий доставки

Проработали механизм применения скидок и промокодов

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

Продумали механизм применения скидок и промокодов

Предусмотрели возможность работы в условиях плохого интернета

Архитектурное новшество проекта — система кэширования. Она появилась чуть позже первого релиза и позволила использовать приложение в условиях замедленного интернета или его отсутствия. Конечно, для добавления товара в корзину или оформления заказа без соединения всё ещё не обойтись. Но полистать каталог или посмотреть «Избранное» пользователь сможет даже без сети.

Сократили количество запросов к бэкенду

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

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

05

Тестирование

Выдержали качество продукта даже без ТЗ

«ИЛЬ ДЕ БОТЭ» — проект с высокой скоростью разработки. Многие требования менялись на ходу, поэтому мы не могли следовать стандартному алгоритму тестирования. Чтобы оперативно отлавливать потенциальные проблемы, внедряли гибкие методологии. Ещё на этапе изучения дизайн-макетов выявляли наиболее «острые» и зависящие от логики элементы и уделяли им особое внимание.

Заголовок

На проекте практиковали разные виды тестирования. Функциональное — чтобы проверить взаимодействие бэкенда и фронтенда. Нагрузочное — чтобы убедиться, что приложение не выйдет из строя, когда количество пользователей увеличится. Например, в период праздников или распродаж. Юзабилити-тестирование — чтобы понять, насколько продукт понятен и удобен в использовании. Если в процессе понимали, что какой-то сценарий стоит доработать, передавали предложения командам дизайна и разработки.

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

Илья Паршиков

QA-инженер

06

Результат

В рекордные сроки разработали приложение для iOS и Android

У «ИЛЬ ДЕ БОТЭ» появилось новое мобильное приложение, соответствующее текущей стратегии компании и актуальным трендам рынка. В нём реализован удобный каталог, товары разделены по основным категориям и брендам. А на главном экране пользователь сразу видит новинки, специальные предложения и акции. При оформлении заказа ему доступно несколько вариантов доставки — самовывоз из магазина, доставка курьером или в постамат. А также несколько способов оплаты, в том числе через СБП.

Сейчас мы продолжаем работу над приложением по двум направлениям — стабилизация и развитие.

Стабилизируем

За относительно небольшой промежуток времени у «ИЛЬ ДЕ БОТЭ» полностью обновилось мобильное приложение интернет-магазина. Важно обкатать его на большом объёме пользователей и оперативно устранить узкие места. Мы активно занимаемся оптимизацией и улучшением сценариев. Опираемся на фидбэк пользователей и решения, которые наши аналитики прорабатывают совместно с командой «ИЛЬ ДЕ БОТЭ».

Развиваем

Постепенно расширяем функциональные возможности — внедряем дополнительные способы оплаты и новые фичи. В приложении появилась оплата через СБП и сервис «Долями». Если в первой версии собственный корнер был только у одного бренда-партнёра, то в ближайшее время такими же обзаведутся остальные. Конечно, не забываем про работу с вовлечённостью — для пользователей готовим персонализированные рекомендации товаров на основе их интересов.

Заголовок

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

Глеб Гусько

Аналитик

01

Сотрудничество

Контакты

0

Мы всегда рады сотрудничеству и новым проектам.

Опишите задачу, и мы с вами свяжемся.
Или напишите в Телеграм.

Давайте знакомиться!

ВыбратьОткуда вы о нас узнали
  • Рейтинги
  • Рекомендации
  • Конференции
  • Публикации
  • Соцсети
  • Другое

Нажимая «Отправить», вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности

Ваша заявка успешно отправлена

Мы все изучим и скоро выйдем на связь