Self-guided bike tours app
Self-guided bike tours app and authoring toolset
This is a legacy project from the days of heavily resource-constrained Android devices. The customer was a bike rental operator in a major European city. It involved the development of an App as well as “home base” / tour planning software.
The problem
The owner needed a solution to offer their rental bike customers pre-recorded voice-guided city tours. The tours (rentals) covered one or more specific routes and included an integrated low-power, offline, Android-based electronic guide device.
Core requirements:
- Maintain predefined tours with multiple waypoints each.
- Text+images+voice annotation for each waypoint.
- Facilitate some basic offline guidance over OSM maps.
- Support PoS mode to quickly initiate specific tours.
- Create a “home base” application to manage tours, track device status, update the app, and download statistics when the bikes are in the garage.
The solution
Native (Java) Android app was developed with a custom offline map renderer, basic routing (A*), HTML display, and mp3-streaming playback (from local storage).
We stored multi-level map image tiles, navigation (A*) nodes, the tour/waypoint metadata, audio tracks, and all the associated data on the device in a proprietary container file. This file was produced by the “Home base” application and transmitted to the client over Wifi when the bike was in the garage and charging.
The “Home base” application consisted of a simple versioning server for the data files and a desktop client offering the authoring tools to create tours. In particular, the following features were available to the user:
- Download of updated OSM tiles at required resolutions, based on the tour bounds with a possibility to override
- CRUD for tours, including enabling/hiding specific tours based on custom conditions
- Tour editor with:
- Map view for waypoint editing
- Basic WYSIWYG HTML editor for waypoint caption editing
- Basic audio editor with wave file ingest, cut, join, fade, and clipboard support to create annotation tracks.
The desktop part was developed in Delphi with MySQL+php for the server.
Disclaimer: due to proprietary nature of work done for the customers and employers, the case studies are merely inspired by that work, are presented at a very high level and some sensitive details have been changed or omitted.
Interested in what you see?
Start your journey with us