>> What's the reason for this? I don't know for sure, but it may be necessary 
>> for things like AR/VR to have higher resolution than that.
> The reason is to limit the frequency of sensor data the web application 
> receives to allow it to guesstimate the changes to the device position to 
> limit how accurately it can guess how the device is being used.  It was just 
> an idea I copied from the spec for discussion, not sure if it is effective or 
> not really.
> 
> We discussed this a bit with Anne on IRC.  It seems like this API is a good 
> use case for a permission prompt to the user.  Since the API works by 
> registering an event listener, the only realistic option seems to be 
> Permission.request() before registering the event listeners.  Unfortunately 
> it seems that a while ago we have pushed back on this API 
> <https://github.com/w3c/permissions/issues/83>, but it seems that this use 
> case wasn't considered back then.  Anne said he'll look into opening up that 
> discussion again to see if we can use a permission prompt for this API…

I’d love to see a discussion about this — I’ve been thinking about the question 
of “informed consent” by users to this “less obviously problematic” data (to a 
typical person:  it seems more obvious why geolocation might be more of a 
problem than device orientation) in the context of augmented reality on the 
web.   We’re also thinking about other data that might exposed eventually by AR 
sensors. 

But in theory, for the AR/VR use cases, I’m not against asking user permission: 
 for me, one of the strengths of doing AR/VR on the web is that fact that the 
UA can give user’s control over what data each site/experience has access to.  
I’d actually love to go further, and allow user’s to see what’s being used and 
toggle it on/off while the experience is running (we experimented with location 
access in the Argon4 AR web browser this summer, letting the user toggle 
location access on/off easily without reloading the page).

One question I would have is how to deal with permission fatigue.  If an AR/VR 
app generates 3 or 4 separate permission requests (location, deviceorientation, 
camera, and perhaps other sensors eventually), is it possible to think about 
how to aggregate these into one or more groups that might also explain to users 
why all of these are needed?  (“AR applications need access to camera, location 
and orientation”)   (I’m not sure if this has been talked about in the past).

(For those who are interested: a group of us over in Emerging Technology have 
been working on expanding WebVR to include AR/MR use cases, we’re documenting 
this “WebXR" proposal  in github.com/mozilla/webxr-api, and building a sample 
implementation in github.com/mozilla/webxr-polyfill. We’ve also got a sample 
iOS app, for demonstrating/using it on iOS, that leverages ARKit, in 
github.com/mozilla/webxr-ios).

I mention this because, at some point in the future, there will hopefully be VR 
and AR/MR apis (perhaps via this webxr proposal, perhaps via a different one) 
in most browsers, and that that point, the uses for this API may diminish.  
They are still used by various polyfills (e.g., the WebVR polyfill uses 
deviceorientation), since WebVR isn’t in all browsers yet, and will be used by 
WebXR and other similar efforts for some time as well.  

But I wonder, at some point, what apps will still need this?  If AR/VR don’t, 
and apps like “viewing 360 video or panoramic images” can use the AR/VR apis to 
access the data … there might bit a lot more we can do with this API at that 
point, to reduce it’s impact.

 

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to