Дапамажыце dev.by 🤍
Падтрымаць

Одна версия кода, один бэкенд, 600 приложений. Как белорусы из Onde помогли такси-сервисам разделаться с Uber

13 каментарыяў
Одна версия кода, один бэкенд, 600 приложений. Как белорусы из Onde помогли такси-сервисам разделаться с Uber

Белорусская компания Onde разработала решение, которое позволило онлайн-такси сервисам в разных странах отобрать долю рынка у Uber и других конкурентов.

Платформа Onde

Это SaaS-решение, которое включает в себя мобильное приложение (Android, iOS), диспетчерскую панель и облачное хранилище данных. Клиенты Onde получают приложение под уникальным брендом. Каждому клиенту предоставляют поддержку 24/7, обновление и маркетинг как дополнительный сервис. Регистрация на платформе — по телефону или смс-коду. Система поддерживает более 50-ти языков.

  • В App Store и Google Play сейчас доступно более 600 активных приложений (разработанных Onde) для водителей и пассажиров.
  • Платформой Onde пользуются более 100 тысяч активных водителей и 1,3 млн пассажиров в 75 странах мира.
  • За год количество заказов через платформу выросло в 5 раз — с 2 до 10 миллионов в месяц.
  • Клиенты компании уже запустили и другие типы сервисов: эвакуаторы, вызов плотника, сантехника, врача на дом, медицинское такси. В перспективе Onde хочет стать платформой для любых оn-demand сервисов.

Главным архитектурным решением, позволившим стартапу взлететь, в Onde считают доведённый до максимума процент переиспользования кода. В ближайших планах — полностью перевести систему на Kotlin и произвести реворк архитектуры сервера.

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

Уволился в среду, а в четверг начал стартап

— История Onde началась в июле 2011 года, — рассказывает СТО компании Игорь Зубчёнок. — На тот момент я работал в аутсорсинговой компании и писал программы под Windows Mobile. Но интерес к телефонам на этой системе уже затухал, несмотря на весь пиар, и клиент в итоге закрыл проект. В компании возник вопрос, что со мной делать дальше. Клиент много платил за мою работу, и я получал очень хорошую зарплату. Я был готов остаться работать только на прежних финансовых условиях, но компания уже не могла себе этого позволить. Для меня это был хороший повод, чтобы рискнуть всё бросить и начать свой стартап. Вот так 7 июня 2011 года я проснулся безработным и решил взяться за разработку мобильного приложения для вызова такси. Уже через неделю появился какой-то прототип приложения. Помню, мы с женой Аней бегали вокруг дома, тестировали его. В Google Maps тогда ещё не было шеринга локейшенов. 

Над приложением я поработал около трёх месяцев, привлёк к проекту друзей. Но понял, что в таком составе не хватает экспертизы. Ближе к зиме у меня появился партнёр Илья Атрашкевич. У него был опыт в области GPS-мониторинга. Параллельно Илья начал заниматься командой. Именно он переманил из Дании Женю (Евгений Сусло, СЕО Onde — прим. dev.by).

— На тот момент я жил в Скандинавии уже около шести лет, — вспоминает Евгений. — Успел закончить университет в Швеции (Lunds University, MSc in Computer Science and Efficient Algorithms) по специальности разработка эффективных алгоритмов, работал в Дании системным аналитиком в крупной компании Maersk. Но интереснее было заниматься разными проектами. Например, одним из проектов после моего ухода с основной работы был сервис Noromance — аналог Tinder до его появления. Правда, проект так и не развился. Мой партнёр переехал в другой город, а с разработчиками на удалёнке было сложно взаимодействовать. Пришлось опять пойти на работу, что меня не радовало.

В какой-то момент со мной связался Илья. Я c удовольствием подключился, мы встретились с командой на конференции в Амстердаме, обкатали идею, получили фидбек. 

Я оставил работу в Дании и вернулся в Беларусь. Думал, что ненадолго, на год. Тогда у нас не было долгосрочного планирования. Никто не знал, во что превратится проект.

«Белорусские службы такси убеждали нас, что люди привыкли звонить»

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

— С деньгами инвесторов проект мог развиваться иначе. Но я считал, что привлекать инвесторов имело смысл при наличии команды в каждом конкретном регионе запуска. В итоге решили, что сфокусируемся на разработке технологии, а заказчики, используя наш софт, будут сами запускать сервисы-аналоги Uber на своих рынках, — поясняет Игорь.

Публичная версия Android-приложения для водителя и пассажира появилась в январе 2013 года. Сначала компания называлась TaxiStartup. Первым клиентом белорусских разработчиков стало «Cowboy Taxi» из Канады «с небольшим автомобильным парком и сайтом «привет из 90-х».

— Изначально было две модели подписки, — вспоминает Евгений. Дешёвая стоила 99 долларов в месяц плюс 5-20 долларов за водителя. Компании работали не на брендированных, а на наших дефолтных приложениях. Дорогая подписка уже на брендированные приложения под каждого клиента стоила 300 долларов в месяц плюс 5-20 долларов за каждого водителя. Но в итоге мы отказались от такой модели монетизации.

Клиенты, которые заказывали брендированные приложения, платили за 1-2 месяца и уходили, инвестиции не окупались.

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

Функционал приложения был ограничен. В первой версии не было даже расчёта стоимости поездки: водитель ехал по своему таксометру. Эту фичу разработчики добавили в первую очередь. Дальше важно было обеспечить пассажирам возможность связи с водителем по sms и телефону.

За 2013 год у компании появилось пять клиентов, в том числе один из Беларуси. Но при этом было много лидов. Других похожих сервисов на рынке фактически не было. Сайт компании был на первых строчках в Google по запросам типа «Apps Like Uber».

— База лидов росла в основном за счёт такси-компаний, и они были готовы платить за сервис. Правда, не везде. Изначально мы позиционировали продукт на существующие такси-компании и хотели оптимизировать их работу в Беларуси. Но службы такси не понимали, зачем им что-то менять. Нас убеждали, что приложение не будет популярным, так как люди привыкли звонить. Они поняли, как ошибались, уже через три-четыре года, когда Uber начал отбирать у них бизнес, — вспоминает CEO Onde.

Как это сделано. «Новая фича разрабатывается на трёх платформах и в три раза быстрее»

— Все понимали, что рынки разные, и каждый сервис захочет свой набор фичей. Это значит, что для каждой компании надо создавать отдельное приложение, и встал вопрос реализации,— отмечает Евгений.

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

 — Писать поменьше кода и побольше его использовать — самое главное архитектурное решение, — уверен lead backend developer Артем Шабан. У Оnde есть большая кодовая база, которая используется одновременно для клиентов и в бэкенде.


— Мы не делаем копии системы под каждого отдельного клиента, а создаём одну для всех и продаем как уникальный White Label (брендированный) продукт по подписке. Дальше мы развиваем не десять разных продуктов, а один, поэтому расходы сокращаются в разы, а клиенты всегда получают приложения и систему последних версий, — отмечает Артём.

Новая фича разрабатывается сразу на трёх платформах (Android, iOS, Web) и в три раза быстрее. Есть общий модуль, написанный на Java, и UI-часть для iOS, Web и Android, т. е. они просто транслируют общий код. Такой подход имеет огромные плюсы, констатирует Артём. Приложения получаются нативные, работают как написанные на одном языке, «а кода нужно писать вдвое меньше и багов в разы меньше».

Недавно компания внедрила брокер сообщений Apache Pulsar. Это позволило в полной мере реализовать архитектурный подход.

— Для обеспечения пересылки координат водителей и пассажиров необходима связь в реальном времени и без задержек между сотнями тысяч клиентов и водителей. С технической стороны для нашего случая это более грамотное решение, чем Kafka (сейчас считается эталоном), так как позволяет создавать сотни тысяч топиков, — поясняет Игорь.

Один Java модуль используется как бекенде, так и на всех клиентах, включая не только Android, но также и iOS и Web.

— Модуль содержит общие реализации протокола и другой логики. Так же есть отдельные Java модули для клиента, водителя, оператора, которые транслируются и используются в iOS, Android и Web. Они содержат всю логику приложений, представляя общую кодовую базу для нативных приложений. Всё, что можно написать на Java — написано на Java. В нативных приложениях реализован лишь тонкий слой UI и обертки вокруг нативных сервисов.

«Новые фичи все клиенты получают автоматически, даже если за разработку заплатил кто-то один»

В App Store и Google Play сейчас доступно более 600 активных приложений (разработанных Onde) для водителей и пассажиров на Android и iOS платформах. Все приложения обновляются автоматически в режиме реального времени.

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

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


Кроме мобильных приложений, у платформы Onde есть диспетчерская онлайн-система для Web. Она позволяет диспетчеру создавать и отслеживать заказы, мониторить зоны повышенного спроса, движение водителя и пассажира. Своим сервисом компании могут управлять в админке.

Монетизация

Onde экспериментировала с разными бизнес-моделями, в итоге остановилась на Revenue Share. Ежемесячно заказчики платят 2-4% от оборота. Также компания ввела единоразовый платеж за разработку приложения: 7,5, 15 и 45 тысяч долларов в зависимости от тарифного плана, в которые включены маркетинговые пакеты.

— Самый дешёвый тарифный план включает App Store оптимизацию, два других — ещё и продвижение, — поясняет Head of Product Growth Анна Лозицкая. — Например, в самый дорогой маркетинговый пакет входит помощь по запуску проекта, создание медиа-контента, формирование концепции позиционирования, обеспечение пассажирского трафика. Мы помогаем компаниям правильно оценить, сколько на начальном этапе им нужно водителей и пассажиров, чтобы занять определённую долю на рынке при наличии конкурентов.

Плюсы развивающихся рынков. «В Азии есть крупный игрок — Grab с оценкой в $30 млрд. Это не помешало PassApp (наш клиент в Камбодже) его обойти»

Клиентская база Onde уже насчитывает 200 компаний в 75 странах мира. На платформе зарегистрировано более 500 тысяч водителей, из них больше 100 тысяч активных, которые принимали хотя бы один заказ в месяц. За прошедший год количество активных водителей выросло в 3,5 раза, количество заказов — в пять раз до 10 миллионов в месяц. Количество активных пользователей — пассажиров превышает 1,3 миллиона человек.

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

Например, в Африке еще некоторое время назад не было доступа к интернету. Сегодня технологии беспроводного интернета становятся дешевле, развивается 3G, люди покупают дешевые смартфоны за 20 долларов, получают доступ в интернет и ко всем онлайн-сервисам. И этот рынок быстро набирает обороты, — отмечает Евгений.

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

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

— Показательный пример — Судан. Там нет общественного транспорта и ограниченное количество личного транспорта, так как это дорого. Tirhal, наш клиент в Судане, стал самым популярным сервисом для среднего класса с базой в 30 тысяч водителей. 

Многие клиенты Onde успешно конкурируют на местных рынках с Uber и другими гигантами.

— В Азии есть крупный игрок — Grab, который оценивается в 30 млрд долларов. Но это не помешало PassApp (наш клиент в Камбодже) его обойти. В Саудовской Аравии еще один наш клиент Kaiian является лидером несмотря на присутствие Uber и Careem — крупнейшего игрока на Ближнем Востоке в сфере пассажирских перевозок, в марте этого года его купил Uber за 3 млрд долларов, — отмечает Евгений.

Впрочем, развивающиеся рынки имеют свои особенности, время от времени мешающие Onde продвигаться.

— В Африке случаются военные перевороты, один из них произошёл относительно недавно в Судане. В результате в стране на полторы недели отключили интернет, и наш сервис все это время не работал. Похожая ситуация с отключением интернета была в Эфиопии.

Перевести систему на Kotlin

Сейчас команда Onde проверяет идею полностью перевести систему на Kotlin, используя Kotlin Native для iOS и Kotlin JS для Web приложений, вместо аналогичных компиляторов для Java. В планах — также произвести реворк архитектуры сервера: разбить на модули и настроить общение между ними. Это обеспечит больше стабильности и корректности работы системы, поможет решить проблему с синхронизацией.

На данный момент основной фокус Onde — это пассажирские перевозки.

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

По теме
Все материалы по теме
Чытайце таксама
«Хоць я не дурань». Чаму дасведчаны тэхнар паверыў фэйкавым «брокерам ад Альфа-банка»
«Хоць я не дурань». Чаму дасведчаны тэхнар паверыў фэйкавым «брокерам ад Альфа-банка»
«Хоць я не дурань». Чаму дасведчаны тэхнар паверыў фэйкавым «брокерам ад Альфа-банка»
Памятаеце гісторыю пра страту 10К на скам-біржы? Яшчэ адзін чытач распавядае, чаму нават дасведчаны тэхнар можа паверыць скамерам.
3 каментарыя
Беларуская калонія пераходзіць на расійскі MAX, сваякоў зняволеных прымушаюць таксама
Беларуская калонія пераходзіць на расійскі MAX, сваякоў зняволеных прымушаюць таксама
Беларуская калонія пераходзіць на расійскі MAX, сваякоў зняволеных прымушаюць таксама
3 каментарыя
У НАН раскрылі, што адбываецца з беларускім электракарам
У НАН раскрылі, што адбываецца з беларускім электракарам
У НАН раскрылі, што адбываецца з беларускім электракарам
3 каментарыя
Мінсувязі: у дрэннай мабільнай сувязі вінаватыя вашы вокны
Мінсувязі: у дрэннай мабільнай сувязі вінаватыя вашы вокны
Мінсувязі: у дрэннай мабільнай сувязі вінаватыя вашы вокны
17 каментарыяў

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

Каментарыяў пакуль няма.