Ubuntu Touch AGPS
2017, 13 MarI helped to bootstrap a startup company called Wolfpack with a project for Fairphone and Canonical. They developed the Ubuntu Touch mobile operating system as an open source competitor for Android and iOS. Our goal was to implement the Assisted GPS (AGPS) functionality for the operating system.
Assisted GPS is a system that will estimate your location based on various factors such as nearby cell towers, WiFi networks, and geoIP. GPS on its own often takes a long time to obtain a location, often in the order of minutes, not seconds.
There are a bunch of large companies (e.g., Nokia HERE, Google) that offer proprietary APIs to support AGPS. However, this is not in line with the philosophy of the open source operating system. Instead, our solution used the open source Mozilla Location Services (MLS).
In just a few weeks time we had a proof of concept running using a Python script. Later we properly reimplemented the functionality in C++ such that it could be shipped in production phones of Fairphone, and be displayed on the Mobile World Congress 2017 in Barcelona.