Планировщик путешествий на автомобиле
iOS-приложение для планирования безопасных поездок с поддержкой офлайн-карт.Клиент
Владелец нескольких стартапов, постоянно в поиске новых идей. Использует трендвотчинг: ловит новые тенденции и адаптирует их под бизнес.
Внутренний туризм в США – прибыльная ниша. В 2016 году наблюдался резкий скачок числа самостоятельных путешествий: люди организовывали поездки на личном или арендованном авто. Клиент сразу же уловил потенциал тренда: решил создать приложение для внутреннего туризма и монетизировать его, используя как рекламную площадку.
Вызовы
У владельца была только идея, но мы часто сталкиваемся с подобным. Например, с нуля придумали и реализовали концепт игры для мобильного приложения sMartial Arts – дочернего проекта серьезного банка. Поэтому отсутствие у клиента видения конечного продукта нас не смутило.
Отталкивались от стратегических целей и предполагаемых пользователей, вместе с клиентом прорабатывали варианты.

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

Нативная разработка
Владелец сделал ставку на рост продаж смартфонов на базе iOS. Хотя правила дизайна для iOS строже, сама платформа более отзывчива.
Это обеспечит эстетическую привлекательность и улучшенный пользовательский опыт. Кроме того, владельцу будет проще разрабатывать версию для iPad благодаря единообразию экосистемы Apple.
Какие функции вошли в MVP:
Генерация маршрута
– Пользователь указывает начальную и конечную точки маршрута. Выбирает места на карте по координатам или через поиск: по ключевым словам, категориям, местоположению. Можно добавлять промежуточные остановки.
– Приложение рассчитывает оптимальный маршрут и примерное время в пути с учетом расстояния, скорости и дорожной обстановки для каждого варианта маршрута. Показывает информацию о платных дорогах.
– Возможность выбора типа маршрута из предустановленных (самый быстрый, живописный, с наличием отелей или кафе).
– Указание достопримечательностей на пути следования. Информация подгружается из источников вместе с кратким описанием, часами посещений, оценками и отзывами.
Офлайн-режим
Ключевая функция, на которую мы сделали ставку. Исходили из реального покрытия: в горах, каньонах и пустынях (на Юго-Западе, например) часто встречаются мертвые зоны. Даже на отдельных участках скоростных автомагистралей связь может пропадать во время непогоды.
Поэтому приложение спроектировали по принципу «сначала офлайн»: когда критические функции навигации (карты, голосовые подсказки, перерасчет маршрута) работают на устройстве пользователя, а на стороне сервера – авторизация, синхронизация и агрегация внешних данных (ситуация на дорогах, отзывы).
Привычный Google Maps SDK не предоставляет полноценного офлайн-режима работы. Плюс кэш и предзагрузка контента ограничены условиями Google – кроме редких исключений, под которые мы, конечно же, не попадали.
В качестве альтернативы использовали SDK с официально разрешенным офлайн-режимом – Mapbox, а также источники, совместимые с Mapbox и офлайновой моделью:
– Для отзывов – Yelp Fusion API.
– Для информации о кемпингах и национальных парках – Recreation.gov (RIDB) API. Парки и кемпинги взяли в MVP, потому что в рамках дорожных путешествий они пользуются особой любовью в США.
– Для погодных прогнозов и алертов – Weather.gov (NWS) API.
Пользователю достаточно построить и скачать офлайн-регионы. Он не увидит онлайн-контент, если сетевого покрытия не будет, но ему останутся доступны навигация и перерасчет маршрута в пределах загруженной области. Динамический контент (трафик, часы работы, погодные предупреждения, актуальные отзывы) появятся после восстановления соединения.
Безопасность в пути: сигналы риска
Еще одна киллер-фича приложения.
– В основе лежат официальные порталы департаментов полиции (на старте — NYPD, LAPD, CPD).
– На первом этапе добавили агломерации Нью-Йорка, Лос-Анджелеса и Чикаго. Оценки риска преступности рассчитываются пока только для них, междугородные участки – по мере доступности окружных или штатных источников.
– На участках доступны отметки с пояснениями типов инцидентов и маркировкой источника.
– Оверлеи поверх маршрута подсвечивают сегменты разными цветами в соответствии с уровнем риска сегмента.
Кстати, здесь тонкий этический момент, который мы учли: опция «Сигналы риска» не призывает избегать отдельных районов и не дает оценочных характеристик. Она помогает пользователю сделать осознанный выбор.
Личный кабинет
– Возможность сохранения маршрутов и понравившихся мест в избранное.
– Список посещенных мест и статистики путешествий.
Технологии
Бэкенд
Node.js
iOS
Swift
База данных
PostgreSQL
База данных
Redis
Инфраструктура
AWS
Библиотека
Mapbox iOS SDK
Внешние API
RIDB, NWS, Yelp Fusion
Результат
MVP оказался успешен: пользователи устанавливали приложение не только в туристических целях, но и для планирования оптимального маршрута до работы.
Поэтому первым пунктом в списке на минорный апдейт – расширенный список городов для режима «Сигналы риска».
Также в планах у владельца добавить:
– Версию на iPad.
– Функционал для планирования бюджета поездки: расчет стоимости топлива, платных дорог, гостиниц и других расходов.
– Онлайн-бронирование мест для ночлега или билетов в музеи.
– Возможность обмена маршрутом с другими пользователями – получится что-то вроде социальной сети. Мы делали похожий концепт для сервиса PlanMoreTrips.
Создание рекламного кабинета оставили для следующего мажорного релиза. Это пока еще MVP, и чтобы предлагать площадку рекламодателям, нужно сначала набрать аудиторию из пользователей. Рекламодателями станут владельцы отелей, ресторанов, интересных и необычных мест.
ушло на разработку базовой версии продукта.
понадобилась, чтобы зарелизить приложение в App Store.
Что происходит дальше:
Мы получаем запрос, обрабатываем его в течение 24 часов и связываемся по указанным вами e‑mail или телефону для уточнения деталей.
Подключаем аналитиков и разработчиков. Совместно они составляют проектное предложение с указанием объемов работ, сроков, стоимости и размера команды.
Договариваемся с вами о следующей встрече, чтобы согласовать предложение.
Когда все детали улажены, мы подписываем договор и сразу же приступаем к работе.