- From: Michael van Ouwerkerk <mvanouwerkerk@google.com>
- Date: Mon, 24 Mar 2014 15:09:07 +0000
- To: Rob Manson <roBman@buildar.com>
- Cc: public-geolocation <public-geolocation@w3.org>
- Message-ID: <CAF40kP71BsA2DTb2Kq11wktNhY4SnYSkfW59p2d-qG0iD+KYzg@mail.gmail.com>
Hi Rob, that's a nice demo, thanks for sharing. Some replies inline.
Regards,
Michael
On Mon, Mar 24, 2014 at 9:49 AM, Rob Manson <roBman@buildar.com> wrote:
> Hey,
>
> I think the list might also find one of our other recent projects
> interesting too and I'd really like to get your thoughts and feedback.
>
> We've recently released a Kickstarter project around our "Augmenting the
> Web" R&D (shameless plug - please back us here http://kck.st/1gnUJex). As
> part of that we've been working on all the key APIs and what we need to do
> to help convince users that the Augmented Web Platform really is as good
> as, if not better than native apps.
>
> One of the things we've found is that a lot of users still don't realise
> that browsers can track their location and even fewer can visualise how
> that works or how accurate it is. So we've created this demo that helps
> them do exactly that.
>
> https://buildAR.com/trackme
>
> We've found the easiest way to get people's attention is by starting with
> the privacy discussion, but once they start exploring this it opens up
> their mind to how this can really be useful too. People we've explored this
> with seem very aware that mobile apps can track them and also that the web
> can easily show local information. But many don't seem to make the
> connection with web based tracking and more accurate data like that
> required for AR.
>
> In this demo we use a mixture of getPosition() and watchPosition() and
> visualise lat, lon and accuracy. We haven't really used heading or speed,
> etc...yet.
>
> However, we have noticed a few small issues through all of our testing and
> evaluation with users. You can clearly see that the different devices have
> very different warm up processes after the watchPosition() is setup. But
> more interestingly, the behaviour across different browsers on the same
> device is also quite different. Especially around initial response and
> frequency.
>
> We've also noticed some peculiarities around the corner cases when
> permission is denied.
>
> As discussed earlier on this list this process is really very different
> for each different browser. I really like the Chrome feature on Android
> that lets you find the specific websites you've given permissions to and
> re-allow/deny this. But this is really hidden inside Settings -> Content
> Settings -> Website settings which is cryptically sitting just below
> Location Settings in the menu 8) Does anyone know if there's a quick way to
> access this directly from the page level?
>
Afaik there is not currently a faster way to these settings on Chrome on
Android (I work on this project). On desktop, there is an icon inside the
url bar that gives one-click access to these settings. The most obvious
challenge here is that there is so little screen real estate on mobile
devices, so some things are behind more clicks.
> When Location permissions are turned off globally at the Android OS
> Location Settings level then all the browsers seem to act accordingly. But
> both Firefox and Opera then throw the permission prompt again and if you
> allow this they seem to provide location data while leaving the OS level
> Location Settings off. This seems very confusing 8/
>
You could file bugs for these browsers. You'll probably get a more focused
discussion that way.
> We've also noticed that some browsers both on the PC and Android throw
> empty error objects. So all you get is {} with no {code:?} value or
> anything else. Is this a bug we should bother tracking down?
>
That sounds like a bug to me. The spec is quite clear: "If the attempt
fails, the errorCallback must be invoked with a new PositionError object,
reflecting the reason for the failure."
And the attributes of the PositionError interface are not optional:
[NoInterfaceObject]
interface PositionError {
const unsigned short PERMISSION_DENIED = 1;
const unsigned short POSITION_UNAVAILABLE = 2;
const unsigned short TIMEOUT = 3;
readonly attribute unsigned short code;
readonly attribute DOMString message;
};
The best way to get this fixed is to file bugs with the relevant projects.
>
> On iOS Safari there doesn't seem to be any way to control permissions at
> the site level - only the global settings for Safari in the OS Location
> Settings. iOS also suffers from the constraints of web browsers not being
> able to run in the background too.
>
> Other than that the overall accuracy of devices and browsers seems to be
> significantly better than similar testing we did just over a year ago. So,
> just like DeviceOrientation it seems like this API is definitely ready for
> primetime and we're really happy using it in our Augmented Web applications
> 8)
>
> I'll look forward to hearing any feedback you have.
>
> roBman
>
>
Received on Monday, 24 March 2014 15:09:34 UTC