-
Notifications
You must be signed in to change notification settings - Fork 473
Fuzzy location/region provider #1720
Comments
This is probably not feasible from an app. Nevertheless: It's interesting how this page (that makes a request to each GCP region and displays the median latency) as a side effect does provide a very fuzzy location (e.g. Frankfurt has the lowest latency for me in Germany). |
High level, the more accurate we can make this check, the more effectively we'll capture revenue. MLS works reasonably well, I'd strongly recommend periodic refreshing of location, both because of travelers and because of geoIP's weakness due to shifting IP address blocks. We've seen ranges shift from Canada to Germany, as an example. As a next step, @mkaply is working on adding a timezone check to desktop to reduce false positives for the MLS geoip lookup. This is most important for the US, since a lot of people use VPNs for content or privacy, and we know it's throwing off a significant amount of search volume on desktop. For browsers that have geolocation enabled, we've also talked about passively observing coordinates (like MozStumbler) and using lat/long ranges to provide another level of validation. I really want to make sure we get this right. Happy to answer questions or share any other context. |
@mconnormoz This is interesting. Does "refreshing of locations" mean that we are okay with changing the list of search engines at a later point (e.g. a month after installation)? That's something new for the mobile apps we haven't considered before. Does this mean we are also going to potentially switch defaults (if the user has not set something) after a location change? Will we add/remove search engines from the list when switching countries? |
HIgh level, yes, we're okay with changing defaults. It's not perfect, but we also know that first run is not always somewhere relevant. |
Use case search: To determine the list of search engines and a default we need to know the region of the user.
Problem: We can't use the device's location since that requires a permission and asking for that (Android 6+) on the first ever startup is not something we want to do.
Focus: Uses the user's locale. That is very inaccurate. Especially the false positives for "US" (from en_US) are very high.
Fennec: Does a GeoIP lookup via MLS. Which is already better but also not very accurate.
Ideas for getting the location or validating/correcting an inaccurate location
┆Issue is synchronized with this Jira Task
The text was updated successfully, but these errors were encountered: