The most popular way to contribute to the project is downloading Firefox for Android and enabling the MLS contribution option in its setting, as detailed below.
Firefox for Android
- Firefox for Android includes a way to contribute data and enhance the service. You can enable the feature by opening the Settings menu and in the Privacy section under Data Choices check the Mozilla Location Services option.
- Once enabled data will be send to the service anonymously. Enabling this option has virtually no impact on battery life. Data is only send back when being connected to a WiFi network, so there is no impact on a cell data plan.
Mozilla Stumbler for Android
- Mozilla Stumbler is an open-source wireless network scanner that collects GPS and wireless network data for our crowd-sourced location database.
- Available in the Google Play Store
- Available on F-Droid
- GitHub code repository
- Firefox Desktop 36 and later allow you to use the service instead of the default location provider. In about:config change the geo.wifi.uri setting to:
- Some Firefox Desktop versions distributed by third-parties, especially Linux distros use MLS by default. Currently this includes Firefox for Fedora and Firefox on ArchLinux.
- Iceweasel might use MLS in the future.
- FxStumbler is a prototype of a stumbling app for Firefox OS.
- OS level support for stumbling is available since Firefox OS 2.5.
- libstumbler is an embeddable Android library supporting both stumbling and location lookups.
- Ichnaea NLP Backend is a UnifiedNlp backend that uses MLS to resolve locations.
- Mapzen has shown interest in integrating MLS into their LOST library in the future.
- Network Cell Info (Lite) is an Android application for cell network monitoring, uses MLS and can be configured to optionally contribute data back to MLS.
- GeoClue is a D-Bus service that provides location information, using for example GPS daemons but also MLS.
- KDE Plasma Desktop uses MLS to get country level and precise geolocation information.
Apple's iOS is a closed environment, which limits the kinds of applications you can develop. Apps need access and gather data about cell and WiFi networks, but Apple purposefully prevents access to this information. There is no way to even ask the user to allow this collection, the operating system itself just doesn't expose this information to app developers in the form of API's.
Same story as iOS, there are no APIs available to get at the required cell ids for our purposes.