Metro navigation
Goal: navigation and metro information on the cities across the globe.

The quickest way from point A to point B, with all of the transfers, timetable differences, depending on the time of the day and other factors.

Useful and interesting information with pictures of each station, available off-line (since the internet was not available at the metro at the time).
Application components
C++ part
That component solved a classical "Travelling Salesman Problem" and provided an array of "correct" answers, to take the load off the small power (at the time) mobile CPU.

Without that component, navigation for the maps like New York would be just impossible.
Python script
A key component working with a build-in knowledge database on every metro station.

Gathering the information on every station from Wikipedia, it converts it to visually attractive and representable pages for the mobile screens.
Most quickly and flexible to implement, unbeatable tool — acting as an admin interface, storing data of every station, including time information between the nearest two stations and transfers, Wikipedia link, etc.

Such a simple "database" let dramatically improve the speed and simplify implementation, cutting the costs as well.
Data collection and app build script
Launches during the application build, collects all of the data across the components, do the algorithm checks and verification.

Prepare all of the data from other components for the new build.
Problems solved
  • Complicated routes calculation on low power devices
  • Gathering and processing of navigation data
  • Representation of non-adopted information on the mobile device