To avoid pestering the user with too many "pinpoint yourself" dialogs, we could only ask the user when the app's getCurrentPosition() request uses the enableHighAccuracy=true option. I assume most map apps will use enableHighAccuracy=true, but apps that only need region- or city-level position could use enableHighAccuracy=false and skip the "pinpoint yourself dialogs. Even map apps might use enableHighAccuracy=false to get an approximate position quickly, followed by enableHighAccuracy=true.

chris


On 7/17/14 3:04 AM, Gervase Markham wrote:
On 16/07/14 21:33, Chris Peterson wrote:
Because MLS coverage is spotty in some regions and some Firefox OS
devices are shipping without GPS, Gerv suggested that we add UI so
Firefox OS users can set their location on a map. A device could build
its own stumbling database of Wi-Fi and cell data with user-defined
position data.

To be clear: the primary goal of my suggestions is to improve the UX for
geolocation on GPS-less devices. If it also improves MLS, so much the
better.

My idea is roughly this. Whenever an app asks for a location:

* Ask MLS where it thinks the device is, best effort, with an error
range (could be cellID, or GeoIP)

* Pop up a "this app wants to know your location. We think you are
somewhere here:". Below, there's a map (we need to do offline map tile
caching, ideally) with a gradated semi-transparent circle on it of the
appropriate radius. Not having a pin shows the user the location is only
approximate.

* Buttons are something like: "Deny Request", "Give Approximate
Location" and "Pinpoint Myself"

* If they press "Give Approximate Location", we pass on the data from
MLS direct.

* If they press Pinpoint Myself, a pin appears in the middle of the map,
and the buttons change to "Deny Request" and "Done". They can drag the
map under the pin until the pin is in the place they want to reveal.
When they hit "Done", the location is passed to the app.

Optionally, the system then stumbles their current location (and IP) and
remembers the 'environment'. Next time, if we are in a place we know,
instead of the gradated circle, we have a map with a pin placed where
the user placed it last time.

However, the UX would be tricky. If a user picks the wrong location, how
do they correct it?

They get an option to alter the submitted location every time. This
doesn't work well with apps which ask for location on a continuous
basis, like turn-by-turn routing, but you can't do that without a GPS
anyway. Perhaps we cache the answer. I assume using the motion sensors
for dead reckoning gets inaccurate very fast...

Gerv


_______________________________________________
dev-geolocation mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-geolocation

Reply via email to