
Mozilla Location Service: Geolocation lookups from public cell tower, WiFi data - hackhackhack
http://thenextweb.com/insider/2013/10/28/mozillas-location-service-pilot-project-provides-geolocation-lookups-based-public-cell-tower-wifi-data/
======
cpeterso
I work on this Mozilla project. If you have any questions, please ask!

Mozilla's network "stumbler" client is installable from GitHub:
[https://github.com/dougt/MozStumbler/releases](https://github.com/dougt/MozStumbler/releases).
The client code is at
[https://github.com/dougt/MozStumbler/](https://github.com/dougt/MozStumbler/)
and the server code is at
[https://github.com/mozilla/ichnaea/](https://github.com/mozilla/ichnaea/).

~~~
graue
So, this is not _exactly_ related, but I see that you also work on Firefox OS,
and I assume part of the reason for this project is to improve location
services on FxOS.

I got a ZTE Open to play around with, and was disappointed to find that it
can't figure out where I am. Of course, I know it's a cheap phone and the OS
is only in version 1.0. So if the location were a little inaccurate, or took a
long time to come up, I would understand. But it literally never gets my
location at all. (I live in NYC.)

Why do you think that would happen? And tying it back into this project, how
soon do you think FxOS end-users will start seeing improvements from what
you're doing?

~~~
cpeterso
Yeah, the geolocation on some early Firefox OS models is a known problem.
Unfortunately, Mozilla does not control the final bits that ship on devices.
This Mozilla wiki page specifically addresses these GPS problem:

[https://wiki.mozilla.org/B2G/Geolocation](https://wiki.mozilla.org/B2G/Geolocation)

------
floatboth
Would be cool if you could download the data for your city to your Android
phone and use the location service without sending your cell towers and BSSIDs
to anyone, not even Mozilla.

~~~
daleharvey
When Andreas Gal talked about this at the recent mozsummit, he specifically
mentioned this use case.

~~~
cpeterso
Yes. Downloading offline data sets also means you can geolocate without
network connectivity, so it's faster and saves power too.

~~~
chimeracoder
You really should emphasize this more prominently. It's a huge selling point,
both for practicality and privacy.

------
chanux
I think the code behind this is ichnaea[1]. I've been reading the code in past
few days and learning some stuff. (OK I learn a lot of things reading other's
code on github.)

Off topic: I found ichnaea while looking for circusd[2] configuration for
celery. Mozilla circus is a nice process (& socket) management tool.

[1] [https://github.com/mozilla/ichnaea](https://github.com/mozilla/ichnaea)

[2]
[http://circus.readthedocs.org/en/0.9.2/](http://circus.readthedocs.org/en/0.9.2/)

------
hamburglar
Anybody gotten this to work at all? I'm trying to locate based on wifi info
alone, but all I ever get back is "not_found". A working example would be
nice, too, since the example data and the API doc seem to disagree on what
goes in the "key" field (example request shows
"3680873e9b83738eb72946d19e971e023e51fd01" but the docs say it should be a
BSSID and "look similar to 01:23:45:67:89:ab").

edit: I'll save anyone who wants to try a lot of trouble and give you the one
piece of information that their API docs and announcements all inexplicably
avoid telling you, and which I found by digging through their client code: The
API endpoint URL is
[https://location.services.mozilla.com/v1/](https://location.services.mozilla.com/v1/)
:)

~~~
hannosch
Thx for the feedback, I've fixed the example to have the right format and
provided full URL's in the API docs.

The docs where written under the assumption of being reusable for anyone
installed a ichnaea server and not just the specific instance we currently
run. But that apparently isn't all too helpful right now :)

~~~
hamburglar
Thanks for the fix. It was clear that the ichnaea docs were intended to be
generic, but there's also this bit: "More information about the specific
instance hosted by Mozilla can be found at
[https://wiki.mozilla.org/Services/Location"](https://wiki.mozilla.org/Services/Location")
which leads to a page that _also_ doesn't list the endpoint API.

------
hendi_
Sounds similar to [http://www.openwlanmap.org](http://www.openwlanmap.org).
While OWM only collects WiFi APs, Mozilla also collects cell towers. Still, I
couldn't find anything about whether Mozilla collaborated with these guys or
not.

~~~
cpeterso
We've reached out to some other wifi mapping projects like OpenWLANMap,
OpenCellID, and WiGLE. None of them collected all the data we were looking for
and their databases are published with different data licenses that may not be
compatible.

~~~
mlinksva
Interesting, I see these and a few others listed at
[https://wiki.mozilla.org/Services/Location/Bootstrap](https://wiki.mozilla.org/Services/Location/Bootstrap)
(all one of copyleft, (non)commercial, or unknown).

While
[https://wiki.mozilla.org/Services/Location#Goals](https://wiki.mozilla.org/Services/Location#Goals)
says "Make as much of the data as possible available under permissive open
licenses."

Assuming permissive means what it usually does, the above clearly aren't
compatible. Curious what permissive licenses will be used, when data will be
available.

~~~
cpeterso
One of our original project goals was to publish an open, downloadable
database. Some smaller geolocation projects have downloadable databases, but
Mozilla's legal and privacy teams were not ready to take that step yet.
Geolocation is a very sensitive privacy issue for "stumbler" users, WiFi
access point owners, and end users. Once you publish data, it's hard to take
it back. <:) For now, we're just hosting a public API.

You can read some early ideas for obscuring access point identities (using
hashes of one or more MAC addresses) on the mozilla.dev.security newsgroup:

[https://groups.google.com/forum/#!topic/mozilla.dev.security...](https://groups.google.com/forum/#!topic/mozilla.dev.security/0qT0grS_PIY)

You can read some of the Mozilla discussion about data licenses on Bugzilla:

[https://bugzil.la/911306](https://bugzil.la/911306)

------
TheHippo
Some one should get all the Ingress players to install the app and contribute
data. Larger city would be mapped in no time.

~~~
cpeterso
The client UI a little geeky now, but we have some gamification ideas akin to
Google's Ingress or Nintendo's Treasure World games:

[https://en.wikipedia.org/wiki/Ingress_%28game%29](https://en.wikipedia.org/wiki/Ingress_%28game%29)

[https://en.wikipedia.org/wiki/Treasure_World](https://en.wikipedia.org/wiki/Treasure_World)

~~~
aaron42net
Turn your API users into data suppliers by adding an optional GPS lat/long and
accuracy radius to the API request. You could potentially enhance the position
they already have with wifi data (like Google Maps claims to do), and collect
the GPS to wifi correlations to help other users. This is potentially a much
larger data source than people running dedicated stumblers.

~~~
hannosch
Yes, we are aware of this approach, thx for reminding us. It wasn't a priority
so far, as we don't have anyone using the search API's just yet.

------
lorax
It is pretty cool that I could see a difference in coverage between when I
read the article and when I got home from work. A bunch of people must have
installed the app after reading about it here.

------
ChuckMcM
Hmm, do you get extra points if you ship back a few captured unencrypted
packets? I realize its a bit snarky but the amazing flap over Google
Streetview cars collecting WiFi access point data was, to me, a bit over the
top.

