ADPASS рекомендует материал к прочтению
Joy Dev
12.07.2024, 16:48

«Подорожник» для поездок: как мы создали сервис, который бережет нервы водителям и пассажирам

Привет! Я Дима Боровиков — Head of PMO в Joy Dev. В этой статье рассказываю, как мы разработали сервис для поездок круче, чем у BlaBlaCar, без факапов перед пользователями. С аналитикой, исследованиями в полях, и классными фичами, разумеется.

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

О заказчике

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

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

Сервис NTX — вовсе не про заработок водителей на поездках. Он о помощи друг другу, свободе в перемещении и выборе поездок.

Заказчик

О проекте

Наше мобильное приложение создано для планирования и бронирования поездок в режиме online. Основные его пользователи — пассажиры и водители легковых и грузовых авто.

Мы не изобрели велосипед, а усовершенствовали

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

Чтобы понять, почему BlaBlacar вызывает такую неприязнь, мы опросили 10 пассажиров и 10 водителей данного сервиса. Рассказываем, какую статистику нам удалось собрать:

Водители

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

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

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

Поездка из Смоленска в Москву обходится мне в 5000 рублей, но с BlaBlaCar нельзя установить цену выше 1600 за пассажира за такой маршрут. Я могу сделать мгновенное бронирование, при котором бронь попутчика подтверждать не нужно. Но тогда места достанутся тем, кого нужно довезти на полпути, забрать в другом городе или вообще фейкам.

Водитель из BlaBlaCar

Мнение водителя кого-то интересует? Оставлять отзывы о пассажире можно только при состоявшейся поездке, а узнать мнение о себе — лишь после публикации комментария о попутчике.

Пассажиры

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

Сложно понять, проверенный ли перед вами водитель. Многие аккаунты на BlaBlaCar с большим количеством отзывов просто продают и покупают.

Вместо заявленного минивэна может приехать газель. Пассажиры считают, что не так страшно, когда приезжает Lada Granta вместо Land Rover, но газель вместо минивэна… И это вовсе не шутки.

Сервис не допускает поездок на микроавтобусах, но мошенники обходят правила. Они указывают в объявлении одну машину, а приезжают на другой. И тогда вся ответственность ложится на пассажира, ведь только он решает — ехать или нет.

Поэтому мы решили создать продукт, который:

  • Предоставляет договорную цену за услугу;

  • Позволяет водителям выбирать удобные маршруты;

  • Допускает поездки не только на большие расстояния, но и по городу;

  • Создаёт безопасное пространство и гарантирует успешное завершение всех сделок;

  • Помогает решать любые нестандартные запросы пользователей.

Наши задачи

  • Создать среду для поиска попутчиков и бронирования поездок через объявления;

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

  • Внедрить личные чаты и систему отзывов, чтобы постоянно повышать качество обслуживания;

  • Интегрировать функцию SOS для решения нестандартных ситуаций;

  • Набрать базу пользователей с высоким вовлечением (% повторного использования сервиса) через пуш-уведомления;

  • Предложить рынку инновационный подход к сервисам для поездок с прозрачным и справедливым ценообразованием.

Наши решения

Аналитика

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

Анализ конкурентов.

Мы рассмотрели конкурентные приложения BlaBlacar, Boombilla, Dovezu, их последние обновления и часть функционала (профиль пользователя, фильтр поездок и регистрацию).

В ходе исследования выяснили, что лидирует BlaBlacar. Последнее обновление мобильного приложения было в марте 2023, а данные в открытых источниках говорили сами за себя:

Не конкуренты.

Также изучили статистику близких к нашему функционалу сервисов. Один из них Boombilla:

Копаем глубже.

Мы рассмотрели и тех, кто пока не имеет своего приложения. Так, по Dovezu нам удалось собрать следующие данные:

Приложения нет в сторах, а на сайте заявки появляются в среднем раз в месяц. Последняя актуальная версия на стороннем ресурсе размещения apk — от 2015 года.

Мы интегрировали:

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

  • Интерактивную карту в реальном времени. Она отображает местоположение всех пользователей в режиме online, прокладывает полный маршрут и даёт возможность настраивать фильтры отображения на карте «под себя».

  • Бесплатную киллер-фичу «SOS». С ней можно оставить сообщение и попросить о помощи в нестандартных ситуациях.

  • Точка встречи. Пассажир может указать свою точную геолокацию и сэкономить время двух сторон на определение места встречи в чатах и звонках. На отсутствие подобного, кстати, жалуются клиенты BlaBlacar.

Стоимость приложения.

Цикл разработки проекта был дольше обычного, так как работы были на какое-то время отложены заказчиком.

После нашего возвращения к проекту, мы адаптировали многие вещи под текущие реалии рынка. Последний цикл разработки был оценен в 10 месяцев. А стоимость приложения составила 3 883 000 руб.

Целевая аудитория продукта.

Мы провели несколько фокус-групп с потенциальной ЦА и собрали обратную связь пользователей известных сервисов, чтобы изучить их текущие потребности и ожидания от нового приложения.

  • Пол: мужчины и женщины.

  • Возраст: 25–60 лет.

  • Род деятельности: разнообразный — от рабочих и госслужащих до предпринимателей и водителей грузовых и легковых авто.

  • Уровень дохода: средний и ниже среднего.

  • География: маленькие города и посёлки России.

  • Интересы и хобби: участие в местных сообществах, путешествия, автомобили, спорт.

  • Ценности: доступное и комфортное передвижение по городской местности и за её пределами, поддержка местных сообществ.

  • Причина использования: поездки на работу, по делам, на встречи с друзьями и семьёй, посещения мероприятий, перевозка грузов.

  • Частота: регулярно — от нескольких раз в неделю до ежедневного использования.

После проведения аналитики мы предоставили заказчику:

  1. Кликабельный прототип — наглядный инструмент для демонстрации интерфейса и функционала продукта до начала разработки;

  2. Макеты экранов для полного представления визуальной части приложения;

  3. Гипотезы и прогноз для эффективного планирования бюджета и ресурсов заказчика;

  4. ТЗ для контроля процесса разработки, последующей оценки качества, тестирования и приёмки проекта.

Дорожная карта

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

Пример дорожной карты для разработки мобильного приложения NTX

Раз в две недели мы показывали заказчику сборки прототипов приложения. Он тестировал, давал обратную связь, насколько грамотно и удобно выстроена логика сервиса, а также проводил А/Б тесты с потенциальными пользователями, которые тоже оценивали работу приложения.

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

После аналитики и утверждения концепта мы создали UI-Kit. Так нами были разработаны:

Логотип мобильного приложения.

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

Иконки и текстовые поля.

Все элементы лаконичны. В качестве основных цветов использованы: серый, чёрный, зелёный и красный.

Это позволило добиться единого стиля всего проекта. С сервисом легко взаимодействовать, так как все его элементы и их функции знакомы и понятны.

Кнопки.

Для дизайн-системы мобильного приложения мы разработали несколько вариантов одних и тех же кнопок. Они изменяются при нажатии, активации и неактивности.

Все кнопки представлены в трёх цветах, поэтому интерфейс легко адаптируется под две темы приложения (светлая и тёмная). Так, тёмно-синие кнопки созданы для светлой темы, светло-голубые — для тёмной. Ярко-синяя кнопка — акцентная на любой из тем, а серая — линейная и второстепенная, обозначает дополнительное действие.

UX-design и разработка

Загрузка приложения.

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

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

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

Авторизация и регистрация.

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

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

Таб бар.

Через него можно перейти на самые популярные разделы приложения: главную страницу, раздел с объявлениями, в карты и чаты. Тянуться через весь экран к главным разделам не придётся. Всё доступно в одно касание.

Отзывы.

В MVP версии установлен лимит на отзывы в 500 символов — оптимальное количество, чтобы и по делу всё рассказать, и не занять много времени на прочтение.

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

Объявления.

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

Объявления от пользователей.

Создавая объявление, пользователь указывает, откуда и куда он планирует поехать, а затем выбирает наиболее понравившуюся поездку. Это условие сохраняется для водителей и для пешеходов, но водители дополняют объявление ещё и количеством свободных мест в своём автомобиле. Если среди всего списка не нашлось ничего по душе — можно просто его обновить и увидеть новые предложения.

Здесь также мы внедрили возможность установить дату поездки: удобно и без лишних переходов.

Перевозка грузов.

Для перевозки грузов функционал и логика остаются теми же, плюс добавлена кнопка с выбором действия, что упрощает работу в NTX.

Создавать целую переписку с уточнением различных нюансов тоже не придётся. Ведь в объявлении можно указать габаритность груза и оставить комментарии.

Поиск по карте.

Сейчас мы тестируем разделение «Откуда» и «Куда» на два разных экрана. Наше решение обосновано тем, что ЦА приложения привыкла к заполнению двух полей.

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

Личные чаты.

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

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

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

А уведомления из них отправляются на устройство через внедрённый готовый модуль FireBase.

Сигнал SOS.

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

На карте такие пользователи и их местоположение выделяются особым знаком, который информирует остальных о том, что кому-то рядом нужна помощь, и сразу отображает статус просящего:

Знак машины — помощь нужна водителю;

Восклицательный знак — помощь нужна пассажиру.

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

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

Рекламные баннеры.

Монетизируется приложение через размещение рекламных баннеров в самых популярных разделах: в объявлениях, личном профиле и чатах.

Рекламные баннеры в разделе объявлений и в списке чатов

Вызовы

Постоянные изменения

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

Коммуникация в команде

Кроссплатформенная разработка вызвала сложности в распределении задач между командами КММ, iOS и Android.

Иногда разработчики КММ не понимали, как выстраивать взаимодействие с платформенными разработчиками. Они часто придумывали что-то на КММ, начинали реализовывать у себя, а потом отдавали iOS и Android-разработчикам, что вызвало конфликты.

Проджект-менеджер

Но мы не растерялись и решили:

  1. 1. Описывать общий контракт для каждого модуля перед началом его разработки;

  2. Вводить документацию в виде диаграмм;

  3. Совместно обсуждать проектирование перед началом разработки.

Интеграция Swift UI и Kotlin Multiplatform

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

Проблема дистрибуции КММ ядра

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

Решение:

  1. Android-разработчики подключали модуль как отдельную библиотеку.

  2. iOS разработчики придерживались того же принципа отдельно библиотеки, но в другом подходе. Для них KMM модуль собирался как фреймворк для подключения с помощью CocoaPods.

Не все решения кроссплатформенные

КММ — сама по себе относительно новая технология. Поэтому не все решения, которые использовали на Android и iOS раньше, имеют мультиплатформенность. И тот же модуль Яндекс требовал отдельной разработки под разные платформы.

Целью нашей разработки стало выносить как можно больше логики на сторону КММ, чтобы всё было в одном месте.

Android-разработчик

Новички в проекте

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

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

iOS-разработчик

Результаты

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

Команда

  • 1 проджект-менеджер;

  • 3 тимлида (Back-end, iOS, Android);

  • 6 разработчиков — по два на каждую платформу;

  • 2 дизайнера;

  • 1 аналитик;

  • 2 QA.

Что дальше?

Сейчас сервис находится на финальной стадии разработки. В ближайшее время мы выпустим MVP в AppStore и GooglePlay, а затем проведём первую итерацию доработок после детального продуктового ревью.

Отличная статья! Где мне найти другие кейсы и задать вопросы?

Вам понравится

Веб-интегратор «Компот»
29.08.2024
Digital Strategy
18.08.2024