immersive-web / webxr-polyfill

Use the WebXR Device API today, providing fallbacks to native WebVR 1.1 and Cardboard
Apache License 2.0
382 stars 85 forks source link

User education for iOS users in portrait mode #46

Open nicolethenerd opened 5 years ago

nicolethenerd commented 5 years ago

On iOS, users need to make sure their device orientation is not locked in portrait mode before they're able to put their device in a headset. This may not be obvious to new users - could we add something that says "Make sure your device orientation is not locked" or something similar on the screen that pops up and shows them how to insert their phone into the headset?

jsantell commented 5 years ago

Hello Nicole! cardboard-vr-display has an interstitial that prompts to rotate device into landscape -- I'm not too familiar with the logic for displaying the interstitial, but it sounds like there's something failing there for iOS, or possibly any platform that cannot force orientation via screen.orientation.lock() (caniuse screen-orientation)

screenshot from 2019-01-04 10-46-08

While this interstitial doesn't explicitly mention orientation/rotation, it might be sufficient -- that being said, this image contributes significantly to the polyfills' build size (due to the original "drop-in" nature of the polyfill), and there has been interest in custom rotation screens, so something like allowing a 'rotation image URL' and building a version of the library without the image embedded could be a good win in this area

a2sheppy commented 4 years ago

Is it possible that image or some similar could be made smaller using SVG or other methods?

Also, I don't think that image is sufficient for the issue at hand; for instance, I've used a similar "drop your phone in the device" type of VR headset which has a similar interstitial, but I almost always wind up having to take off the headset at a minimum or remove the phone from the device at worst when I see the interstitial for one reason or another, such as:

Etc. I'm really hoping we get through the drop-in phone era quickly because these devices kindda need to DIAF due to the number of ways they're frustrating to users despite the fact that they're inexpensive. :)

jsantell commented 4 years ago

Is it possible that image or some similar could be made smaller using SVG or other methods?

For some background, some SVG optimization was handled in https://github.com/immersive-web/cardboard-vr-display/pull/31.

  • The phone itself is locked and I need to do the whole swipe to unlock, TouchID, FaceID process
  • The phone's power got turned off and I the headset doesn't leave access to the power button

These two could be solved with improvements to wakelock in cardboard-vr-display, which has historically had problematic cross-platform functionality.