Taxi Scanner – приложение для Android-устройств, которое поможет сравнить стоимость поездки по заданному маршруту у разных служб такси. Сегодня приложение в стадии раннего доступа, но у него уже более 10 тыс. скачиваний в Play Market. Расскажу, как мы автоматизировали процесс выбора такси.

Мы выбираем службу такси сразу по нескольким параметрам: это и цена, и скорость подачи, и классы машин. Часто бывает, что сервис такси, который мы выбрали, перестает нам нравиться после нескольких неудачных поездок, и мы снова начинаем искать. Я сам так же точно пользовался услугами такси и раз за разом сталкивался с тем, что надо выбирать.
И вот осенью 2020 года я вскользь подумал, что неплохо было бы иметь под рукой приложение, которое учитывало бы все важные параметры такси и само предлагало подходящие варианты. Пожалуй, оно могло бы быть полезным не только мне. И я начал раскручивать эту идею.
Research-фаза
Прежде чем производить новый продукт, нужно исследовать рынок и оценить спрос и предложение. Сначала я опросил своих друзей и знакомых, а позже, чтобы сделать выборку более релевантной, устроился на работу водителем такси.
В общей сложности я проработал около двух месяцев, сменив три разных службы такси: Bolt, Uklon и «Тачку»/InDriver. Во время поездок я узнавал у пассажиров, стали бы они использовать подобное приложение и насколько оно полезно.
Я коммуникабельный, поэтому мне несложно было начинать разговор с незнакомыми людьми. К тому же я предлагал качественный и полезный продукт бесплатно – только просил рассказывать о приложении знакомым и коллегам. Был даже случай, когда девушка получила «бартер»: она пообещала всем рассказать, а взамен я не взял с нее денег за проезд. Надеюсь, она сдержала обещание 🙂
На мои вопросы больше половины владельцев Android-устройств ответили утвердительно. Кстати, во время работы в такси лично для меня было откровением, как много пользователей iPhone. Многие просили связаться с ними, когда выйдет приложение на iOS, потому что их предложение заинтересовало.
Так моя идея начала обретать реальные формы.
Самое сложное – личный опыт
Получить корректные цены от сервисов такси
Когда вы делаете подобное приложение, нужно убедиться, что оно действительно полезное и эффективное. А для этого нужно проверять каждый шаг.
Нас первая сложность ждала буквально сразу – у компании Uklon есть время, когда они на поездки дают скидки. Когда мы внесли эту службу такси в приложение и стали проверять, увидели, что цены не совпадают.
Оказалось, Uklon делал скидку всем пассажирам, а не персонально кому-то, – мы это не учли. Пришлось выявлять этот момент и дорабатывать свое приложение, чтобы цены отображались корректно.
Подобная сложность выявилась и с такси Uber. В нашем приложении цены округляются до гривны. А приложение Uber рассчитывает стоимость до копеек. И снова получилось так, что наше приложение отображает некорректную цифру. Мы переработали свои форматы данных, теперь цены совпадают до копейки.
Мы пока не работаем ни с кем напрямую, поэтому нам пришлось все делать вручную: разбираться в программах служб такси, вытаскивать оттуда цены. Многие сложности мы правда не учитывали, теряли на них время. С другой стороны, разбираться было даже интересно, а «побеждать» сложности – еще интереснее!
Сейчас наш продукт отображает только те сервисы, у которых есть приложение в Play Market. Хотя, если к нам обратятся из такси, у которых нет приложения, мы будем работать просто напрямую – то есть для пользователей это будет так же просто и эффективно.
Искать интенты
Интент – это программный механизм, который координирует несколько необходимых пользователю функций и действий. В нашем случае интент – это когда вводишь адреса (начальный и конечный), выбираешь из списка такси, переходишь на их приложение, а там заданные адреса уже есть. То есть второй раз вручную вбивать не нужно, просто нажимаете на кнопку «Заказать такси».
С интентами тоже пришлось повозиться – не сразу и не у всех агрегаторов получилось их быстро извлечь и прописать в свой продукт.
Когда дошли до такси 838, поняли, что у них интента и вовсе нет. Тогда мы сделали немного по-другому. Для удобства пользователя мы прописали автоматическое сохранение в буфер обмена адреса «точки Б». То есть, «точку А» поможет определить геолокация, а «точку Б» нужно будет просто вставить в приложение такси 838 – оно скопируется автоматически.
Переходить на OpenStreetMap
Еще с одной сложностью столкнулись в неожиданном месте – на картах. Google дает разработчику на месяц приблизительно $200 на свои сервисы. Мы пользовались картами. И, должен сказать, суммы этой катастрофически не хватает. Когда о нашем приложении стали узнавать люди, количество запросов на картах выросло в геометрической прогрессии, а сумма чека регулярно стало превышать эти самые $200.
Тут надо сказать, что приложение мы создавали на некоммерческой основе, поэтому в связи с незапланированными тратами я стал думать, куда двигаться дальше.
Выход нашелся благодаря приложению Bolt – они используют OpenStreetMap. Сервис не требует денег за использование, а информации там предостаточно. Мы подключились к этим открытым картам и больше не платим Google.
Три месяца – и в продакшн
От идеи до MVP (англ. minimum viable product – минимально жизнеспособный продукт. – Прим. ред.) ушло около трех месяцев и примерно $13 тыc. стартовых вложений.
Для создания своего продукта мы выбрали платформу Xamarin.forms, принадлежащую Microsoft. Она позволяет собирать мобильные приложения под разные операционные системы (Android и iOS), кроме того, разработчики уже были знакомы с ней.
Больше всего времени мы потратили на разработку дизайна и настройку получения актуальной информации от такси. Дизайн продумывали так, чтобы каждый пользователь видел в нем что-то знакомое. Мы внимательно изучали все существующие мобильные приложения такси, выбирали из них самые удачные решения и реализовывали в своем проекте.
Период альфа-тестирования приложения занял примерно месяц, а на тестирование каждого нового такси после добавления уходило около недели.
Всего на доработки мы потратили приблизительно $4 тыс.
Сейчас приложение находится в раннем доступе, то есть там нельзя ставить оценки, но мы оставили email для связи, туда приходит много писем. Пользователи благодарят нас – это очень мотивирует. Иногда присылают замечания и предложения, мы стараемся оперативно реагировать на такие сообщения – нам сейчас важна любая обратная связь.
Вот, например, писали, что не всегда корректно отображается цена на услуги такси Bolt в часы пик. Но это не проблема нашего приложения, просто эта служба такси пользователям выдает разную стоимость. Кроме того, иногда бывают сбои на стороне их сервиса. В любом случае проверить приложение очень просто – зайдите на сайт выбранного такси и посмотрите, что покажут там. Так вы убедитесь, что информация в Taxi Scanner соответствует действительности.
Планы на перспективу
Вообще, это мой первый опыт создания мобильного приложения, а потому сложно заглядывать далеко вперед. Но уже могу сказать, что мне понравилось. Возможно, это не последний мой проект.
Сейчас над приложением работает два человека: я (техподдержка, реклама) + программист (работает на аутсорсе, поэтому возвращается в случае багов). Мы продолжаем вносить новые опции, чтобы сделать его еще более удобным для пользователей.
Например, одна из фишек – если пользователь переходит из нашего приложения, но у него не установлено приложение выбранного такси, то его сначала перекинет на Play Market. Мы старались предусмотреть всякие мелочи, чтобы пользователям было удобно.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: