Блог

Мобильные приложения в телематике: технологии и тенденции в интервью с экспертами по разработке

Недавно разработчики Navixy анонсировали новое мобильное приложение для управления транспортом. Оно поможет руководителям оптимизировать все аспекты расходов и продуктивности коммерческих автопарков — от маршрутов на карте до техобслуживания. Поскольку текущее решение X-GPS Монитор уже используется в 50 000 компаний и распространяется партнерами в 130 странах, многим будет интересно узнать, зачем потребовалось создавать новое приложение и чего от него ждать.

Для этого мы встретились в грузинском офисе с Никитой Державинским, владельцем продукта Navixy GIS, и Львом Барышевым, тим-лидом мобильной разработки. Расспросили их о том, что сообщество пользователей и партнеров Navixy увидит в новом приложении, а заодно подсмотрели, что происходит на «кухне» разработчиков.

Не обновить, а создать новое приложение для автопарков

Мобильное приложение X-GPS Монитор имеет богатую историю и много активных пользователей. Расскажите, как команда разработки Navixy пришла к идее не просто обновить, а полностью написать новое приложение?

Никита: Мы выпустили мобильное приложение X-GPS Монитор шесть лет назад, которое скачали из RuStore и App Store миллион раз. За это время мы сделали около 100 обновлений и продолжаем поддерживать приложение.

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

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

(Слева) Никита Державинский, владелец продукта Navixy GIS, (справа) Влад Цвеклинский, руководитель отдела продаж Navixy
(Слева) Никита Державинский, владелец продукта Navixy GIS, (справа) Влад Цвеклинский, руководитель отдела продаж Navixy

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

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

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

Лев Барышев, тим-лид мобильной разработки, в офисе Navixy
Лев Барышев, тим-лид мобильной разработки, в офисе Navixy

Учитывать задачи каждого пользователя

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

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

По сравнению с X-GPS Монитор новое приложение Navixy ориентировано на автопарки. При этом одно приложение подходит для разных ролей в компании — руководителя, начальника гаража, механика и так далее. Также обсуждается разработка функционала для водителей. В наших планах добавить возможность сотрудникам видеть информацию, которая непосредственно относится к ним и их автомобилям.

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

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

Если новое приложение функциональнее и производительнее, то какой будет судьба нынешнего приложения X-GPS Монитор?

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

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

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

Новое приложение Navixy для автопарков
Новое приложение Navixy для автопарков

Делать реальность неотличимой от магии

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

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

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

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

  • SwiftUI,
  • Combine reactive framework,
  • GRDB,
  • KeyPath,
  • WebSocket,
  • PropertyWrappers,
  • Async/await concurrency (планируется).

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

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

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

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

Сетевая нагрузка — первый из вопросов, который предстояло решить. На сегодняшний день мы имеем дело с потоком телематических данных, который в последние годы вырос в разы. Увеличилось количество объектов, число отслеживаемых параметров техники, разнообразие форматов и объемов — при этом часто данные нужны здесь и сейчас. Чтобы этот big data поток эффективно передавать и обрабатывать, мы усовершенствовали протокол обмена с сервером и в итоге подняли скорость обработки сообщений мобильным приложением с 350 до 1200 в секунду.

Далее для оптимизации работы с памятью мы существенно изменили методы работы с локальными базами данных и оптимизировали их конфигурации. Благодаря этому скорость выросла в 90 раз. При этом нам удалось добиться снижения потребления памяти, где мы определили для себя верхнюю границу в 300 Мбайт. То есть теперь в эти скромные рамки укладываются даже самые крупные аккаунты.

Благодаря улучшениям, которые мы сделали в работе с сетью и памятью, данные из аккаунта загружаются и обрабатываются максимально незаметно для пользователя. На стресс-тесте с аккаунтом в 100 000 автомобилей, время первого запуска приложения сейчас составляет менее 7 секунд. На большинстве же реальных аккаунтов с десятками и сотнями машин приложение стартует практически мгновенно.

Запуск нового приложения

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

Другой аспект, которому мы уделили большое внимание, — это использование графических ресурсов устройства. Здесь мы разработали новый модуль каскадной кластеризации близко расположенных объектов на карте. Сперва мы попробовали штатную кластеризацию от Apple и Google. Но когда провели ее нагрузочное тестирование, то увидели уже на 10 тысячах объектах заметное подтормаживание. Нас это не устроило, поскольку у нас есть клиенты с гораздо большими автопарками, которым важно иметь возможность наблюдать за своим транспортом в одном аккаунте.

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

Правда, по ходу работы над графическим компонентом не обошлось без некоторых ограничений. В частности, мы увидели, что встроенный сейчас в SDK компонент карт еще не полностью адаптирован к тому же SwiftUI, поэтому здесь нам пришлось использовать не самый модный, но зато зарекомендовавший себя MapKit. С другой стороны, мы попутно улучшили анимацию для объектов и их кластеров, так что помимо роста производительности графический модуль получил и ряд визуальных улучшений, включая долгожданные иконки объектов.

В новом приложении появятся иконки объектов и усовершенствованная графика
В новом приложении появятся иконки объектов и усовершенствованная графика

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

Аккаунт со 100 000 автомобилями

Сквозное использование телематики

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

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

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

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

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

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

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

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

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

Больше о возможностях Navixy

Команда разработки Navixy регулярно развивает телематическую платформу, чтобы поддерживать возрастающие запросы рынка. Следите за нашими обновлениями в блоге и оцените функционал GPS-мониторинга .

← Предыдущий постСледующий пост →
Готовы попробовать продвинутый и гибкий
GPS-мониторинг?
Начать
Недавние посты