Every hiker knows that long forest treks should not be embarked on relying only on the map on your mobile phone – the GPS will consume the battery or the phone will end up at the bottom of a lake. Then again, the possibility of verifying one’s location and other features found in map applications would at times be a welcome addition to printed maps.
Such considerations were also in the mind of Alexandru Tomescu, a researcher of computer science who hikes as a hobby.
Tomescu had a photo of the day’s route on the screen of his phone, but he was frustrated by the absence of a well-functioning routing application that would combine the reliability of a printed hiking map and the ease-of-use and interactive aspects of services such as Google Maps, also without an internet connection.
That was something he had to develop himself.
This looks familiar
Together with his colleague Alexandru-Alin Tudor, Tomescu began developing an application named Hikepack. The application utilises open-access map data from the OpenStreetMap website to create hiking maps, linking them with, for example, open data available from the National Land Survey of Finland.
OpenStreetMaps provided readily available information on hiking routes reported by users. However, this data was in need of refining, as there were potentially extensive blind spots on various routes.
“We wanted users to see routes as an unbroken entity,” Tomescu says.
Tomescu noticed that there was something familiar in linking bits of routes together. In their earlier research, Tomescu and his colleagues had developed algorithms to help arrange human DNA sequences in the correct order.
“DNA sequencers describe a certain part of the genome, while a picture of the entire genome must be established by combining these parts with the help of algorithms. We were able to apply these same methods to the map software,” Tomescu explains.
Routes taken also described by algorithms
Currently, Tomescu is developing a way to employ another algorithm used in genetic research in the map application to help users see the routes they have taken to a precise degree.
“Many phones contain a chip resembling a pedometer that measures the direction of the phone’s movement. The algorithm could connect these measurements to the phone’s GPS location data, and construct an accurate picture of the user’s route. The goal is to enable this without keeping the battery-consuming GPS feature constantly switched on,” Tomescu says.
In addition to saving the battery, attempts have been made to make the application practical throughout: it does not fill up the phone’s memory with large topographic maps but only displays accurate topographical details close to the hiking routes, where the user will most likely need them.
“This was made possible by the algorithms recognising the hiking route locations on the map, as they are able to provide the most detailed topographical data for precisely those areas,” Tomescu adds.
Basic course content in use
Hikepack is partly based on algorithms that are taught on basic courses in computer science, among them Dijkstra’s algorithm, which looks for the shortest path between two nodes in a graph. Another algorithm locates the spot on the map closest to the spot determined by the user.
“Personally, I found it very motivating to see an algorithm we teach to students literally functioning in the user’s hands,” Tomescu enthuses.
For the researcher, application development has also been an education in the challenges of commercialising research.
“My advice for other researchers is to not limit yourself to thinking only about the technical side of the product. The commercial aspect, marketing especially, is really important, particularly if the product is targeted at consumers, not businesses.”