Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reconsider AR and VR buttons #5369

Closed
dmarcos opened this issue Oct 19, 2023 · 14 comments
Closed

Reconsider AR and VR buttons #5369

dmarcos opened this issue Oct 19, 2023 · 14 comments

Comments

@dmarcos
Copy link
Member

dmarcos commented Oct 19, 2023

We're entering the mixed reality era and we might have to revisit again the buttons. VR and AR might not make sense anymore. I was thinking about replacing them with an XR button but not sure yet. It seems giving a choice to the user to enter VR or AR modes is making less and less sense.

cc @thedart76

Previous work for reference:

#4326

@msub2
Copy link
Contributor

msub2 commented Oct 19, 2023

We ultimately still have to decide whether to launch an immersive-vr or immersive-ar session. Perhaps adding another field to the webxr system like sessionType, with a default to immersive-vr? Since if you're doing MR stuff you're already going to be in there requesting additional features, so explicitly specifying immersive-ar as well doesn't feel like too much extra hassle.

Having said all that, there are likely still going to be cases where developers would like to offer varying VR/AR experiences, in which case they would still want the option of two separate buttons.

@thedart76
Copy link

Happy to help with any new assets we may need for the button/s, @dmarcos.

@diarmidmackenzie
Copy link
Contributor

I saw a recent discussion suggesting a pattern where apps should use AR or VR mode depending on whether the user was in passthrough or VR immediately prior.

This info is available to a webXR app (though I'd need to check back to discover exactly how).

This feels like a good default option.

On the other hand, some apps may only make sense in AR or VR, so for those cases it's still desirable to be able to force into that mode, regardless of the mode the user was in previously.

@dmarcos
Copy link
Member Author

dmarcos commented Oct 20, 2023

@thedart76 awesome to here from you. If you have still the original files of the buttons around. it looks we will need one [XR] button with same style as the current ones. Thanks so much!

@diarmidmackenzie I was planning to leave current AR and VR buttons around but default to an XR one. Devs can opt-in to VR, AR or both as of now. Does it sound sensible?

@diarmidmackenzie
Copy link
Contributor

So does pressing the XR button take the user into either AR or VR, depending on whether the user was in passthrough mode prior to pressing the button?

@dmarcos
Copy link
Member Author

dmarcos commented Oct 21, 2023

Not sure a page has a way to know what was the previous state. The XR button would just enter immersive mode and developer decides if it's going to be immersive-vr or immersive-ar. The user no longer has a choice by default

@thedart76
Copy link

@thedart76 awesome to here from you. If you have still the original files of the buttons around. it looks we will need one [XR] button with same style as the current ones. Thanks so much!

@dmarcos, sure, I'm sharing two versions of the new XR button, using either style (opaque or transparent).

In the screenshots below, I edited the SVG path details directly in the Inspector to preview how they would render.

aframe-xr-buttons-2023

Downloadable SVG assets here:

You can count on me for any tweaking or iteration we may need/want to do.

Not sure a page has a way to know what was the previous state. The XR button would just enter immersive mode and developer decides if it's going to be immersive-vr or immersive-ar. The user no longer has a choice by default

I vote for this approach as it would ensure good UX for either type of immersive app.

@diarmidmackenzie
Copy link
Contributor

Not sure a page has a way to know what was the previous state

My understanding is that it does have access to this info. I read a discussion about this somewhere - will try and dig out a reference.

For experiences that support both modes, this would be a nice function to have.

@dmarcos
Copy link
Member Author

dmarcos commented Oct 23, 2023

@thedart76 thanks so much. you rock!

@dmarcos
Copy link
Member Author

dmarcos commented Oct 24, 2023

I made an attempt at this. Let me know what you think

aframeUI.mp4

@dmarcos
Copy link
Member Author

dmarcos commented Oct 24, 2023

Closed automatically but can reopen if needed

@thedart76
Copy link

I made an attempt at this. Let me know what you think
aframeUI.mp4

@dmarcos, solid UX flow!

I'd like to do a final readability test of both buttons in the headset (Quest 3) to validate or tweak the letter spacing, due to the different backgrounds (solid/transparent), color contrast, and font weight.

LMK when and where I can give it a try (feel free to DM on other platforms too).

PS: I might get back to you with some delay these days as I'm in Vienna for the AWE2023 :)

@dmarcos
Copy link
Member Author

dmarcos commented Oct 25, 2023

@thedart76 you can already try with master builds. See links in commits https://github.com/aframevr/aframe/commits/master

One piece of good criticism. Is that when we show one button we should still display [VR] or [AR] vs [XR] that is a less common known of a term.

@thedart76
Copy link

One piece of good criticism. Is that when we show one button we should still display [VR] or [AR] vs [XR] that is a less common known of a term.

I agree, as the non-tech-savvy audience is more familiar with the terms like [VR] or [AR].
In an ideal world, some A/B testing would give you enough empirical data to understand to what extent.

Apart from clarity, another point in their favour is that [VR] or [AR] are more specific terms, anticipating the type of immersive experience the user is about to enter.

That said and whichever final choice you'll make, I'm always happy to help and explore options, so ping me if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants