VR World Nav

VR World Nav

posted in: webVR | 0

As we slowly transition to webVR api 1.0, this seems like a good time to talk about various projects and experiments that are going to be obsoleted by the new API.

A number of these are experiments in different ways to natively navigate the web in VR. In this blog post, I’m going to talk about the first of several ideas that we mocked up as a potential solution to this problem. This mock up is particularly good for navigating between eye catching scenes, like spherical videos.

In the regular web, navigation is mostly done by clicking links, which then jump you to a new page. In VR, “jumping” to a new page, can make people feel sick, so we were particularly interested in ways to introduce a new scene without causing nausea in the end user. Additionally, current VR navigation isn’t great for selecting small targets, and, for many systems you effectively don’t have hand controls other than a “big red button” (which we approximate with the space bar). All of this was even more true a couple years ago when I put this experimental interface together.

VR World Nav imagines web pages as interactive spherical environments and makes the “links” to them be the actual spheres of the linked page. This is nice as it also gives you a bit of a “preview” of what you’re going to see, like a Youtube thumbnail.


When a link is selected (by “looking” at the desired sphere and hitting the big red button/space bar), the selected sphere gradually grows to fill the whole scene.


For this experiment, the link spheres and the environments are really dummy pages. Although the links do actually work to show you entirely different websites, while staying in VR mode, it was an interesting experimental work-around as this behavior is somewhat unsupported currently (VR mode generally has to be entered on a per-website basis). The real question here was how people would interact with this kind of navigation mechanism and whether this kind of transition between pages was more or less nauseating to people than simply jumping to another page would be.

I experimented most notably with different times for the transitions. When the sphere grew too fast (which, I believe, is actually the current setting, sorry), it tended to make people as or more sick than “jumping”. When the sphere grew too slowly, waiting for the transition when going between pages quickly became aggravating. We don’t really have a large enough sample size in the office to determine exactly what the optimal speed is, but there does seem to be a “sweet spot” for the transition that makes it smooth and non-sickening, without becoming frustrating to navigate between pages. I don’t get sick quite as easily as some people, so I believe that what it is set to right now is a speed that worked for me, but, experimentally, it’s not a good choice to force on everyone. Since everyone is different, one interesting idea might be to let the speed and other settings for link transitions be something that can be set in the browser by the user, kind of like default zoom size might be larger for people with vision difficulties, or how mousing speed is customizable on your desktop.

If you are interested in trying out VR World Nav, you can do so here: http://hawksley.github.io/VR-World-Nav/

It works with WASD/QE for rotation navigation and space bar to enter links. You can also hit space bar to exit links. If you have a compatible VR device and a browser that still supports pre-1.0 webVR, then you can also try this experiment out in the browser as originally designed.

The code is available on Github here: https://github.com/hawksley/VR-World-Nav