Historically, a basic software ecosystem has gradually been implemented around OpenStreetMap in order to provide the mapping services required for the simplest uses of the map. However this ecosystem has never been planned to reach the general public. As a result the user who is not familiar with the project may find it difficult to use the OpenStreetMap tools. Specifically the absence of any efficient geoparsing system and autocompletion engine made the navigation and the exploration on the map nearly impossible.
The Challenges Facing Privacy Apps
A geoparsing engineTo overcome these shortcomings and to meet the needs of most of people, Qwant Maps has developed — or participated to the development — its own software components. The will of Qwant Maps is to create a virtuous synergy between Qwant Maps and OpenStreetMap. Thus Qwant Maps uses OpenStreetMap data to generate its own vector tiles, its own base map, its own web APIs. Also Qwant Maps feeds its geoparsing web service as well as its online applications thanks to OpenStreetMap data.All components developed by Qwant Maps are open source so that users can contribute directly to improve their experience with the map: they can contribute either to the Qwant Maps code or to the enrichment of the data directly in OpenStreetMap.
The technical stack built by Qwant Maps is composed, among others, of the following open source software packages:
- Mimirsbrunn (or simply Mimir) is the search engine of Qwant Maps. It allows to search for the following "punctual" geospatial objects: addresses, administrative areas and points of interest. It is a web service of geocoding (or more precisely geoparsing) that matches the user unstructured text query with a specific point (or area) on the map (i.e. a latitude and a longitude). The complexity of the problem is to disambiguate user requests. The roots of this ambiguity are numerous. First of all there are a large number of possible interpretations in the world for a given mention of a place: the difficulty is to choose the most "relevant" interpretation. Then there is the natural ambiguity due to the natural language: the user often looks for a place whose the exact spelling is not necessarily known.
- Kartotherian : Qwant Maps provides a visual rendering based on vector tiles. Tiles are based on a spatial hierarchical model of the world labeled by different levels of zoom. Our tiles are generated, served and rendered by the Kartotherian stack developed by the Wikimedia Foundation according to the OpenMapTiles open source data schema.
The choice of vector tiles offers more technical flexibility allowing us to easily integrate different styles and native support for specific renderings (3D, rotations ...). The Qwant Maps tiles are updated every 24 hours to incorporate daily changes from OpenStreetMap data.
- Idunn : the highlighting on the map of all the information existing in the tiles is provided by Idunn, a Python web API that exploits different data sources (OpenStreetMap, Wikipedia ...) to provide the user with the most useful information. Specifically Idunn goal is to add context regarding points-of-interest data in a consistent referential. For example opening hours of points-of-interest are parsed from OpenStreetMap tags and are managed by Idunn.
It is like as if they were building cars, there is a lot they can do without actually changing the engine itself, and thats what the Web Browsers are becoming, everyone is working on parts of the car but all the engines are now Chrome and believe me, you don’t want all the engines to be the same, not even if they are all Gecko or if somehow we resurrect Presto, we want diversity of engines and not monoculture.