Porsche Shuttle Tracker: A Cross-Platform Vehicle Tracking App
A shuttle service is only useful if people know where the shuttle is. Without that, the timetable becomes a suggestion and the waiting becomes guesswork.
This report documents a cross-platform vehicle tracking application built to solve that problem directly, giving riders live vehicle positions rather than a printed schedule. The work sits alongside the factory commuting application later deployed to more than 35,000 Porsche employees, which modernised commuting logistics on the same premise.
Implementation
The application was built with the Ionic framework, from a single codebase targeting both Android and iOS. Rather than instrumenting the fleet afresh, it draws on tracking data that was already being collected, passed through a middleware layer that reshapes it to satisfy data protection law before anything reaches a device.
The map, the stops and the vehicles themselves are drawn using the Google Maps framework. That framework offers no offline caching, so a caching layer was written for the purpose, which turns out to matter more than it sounds: a rider checking the same route several times a day is otherwise paying for the same map tiles repeatedly, and the saving in mobile data usage over a commute is substantial.
Testing and release
Beta testing with a selected group of users covered functionality, stability and performance. Release was planned in two stages, and this report covers the first: an internal rollout within Porsche Motorsport.
Outcome
By the time the report was completed the application was in the hands of more than six hundred users, split fairly evenly between Android and iOS. Development ran to roughly five months, a figure that covers considerably more than writing code, since coordination with the IT and legal departments was a substantial part of the work.
On cross-platform development
The report closes with an assessment worth reproducing, because it runs against the usual marketing.
Ionic proved comparatively straightforward to adopt with no prior experience, and the resulting application ran correctly across operating systems. What recurred throughout development, however, were platform-specific problems that the cross-platform abstraction did not catch, dependency matching among them. Each one had to be solved individually, so the effort a cross-platform framework is meant to remove reappeared elsewhere, and solving it demanded exactly the platform-specific knowledge the approach promises to make unnecessary.
The conclusion drawn is therefore a qualified one. Routine eventually absorbed the friction, but a cross-platform framework is better understood as a rough guide to implementation than as a general solution, and it does not remove the need for grounded development knowledge. What made the project work was the cooperation across departments, which is what allowed a relatively simple application to deliver something useful to everyone it touched.
No full text is available for this entry.
Cite this work
@techreport{golombeck2019shuttletracker,
author = {Golombeck, Marius},
title = {{Porsche Shuttle Tracker: A Cross-Platform Vehicle Tracking
App}},
institution = {University of Applied Sciences and Arts Dortmund},
address = {Dortmund, Germany},
year = {2019},
month = mar,
language = {english},
url = {https://www.researchgate.net/publication/331633857}
}