I moved towards a single row of content, starting you out on the first one, and allowing you to scroll horizontally. However, I didn’t want to swipe, and having page control buttons floating felt cumbersome. I decided to try mapping the whole scroll width of the content to the comfortable FOV (~90 degrees). With some refinements, like a paginated snapping to each object, rather than a fluid scroll, it actually ended up feeling pretty good. Now you could scroll through a solid number of items, by only turning your head.

Hover states make a comeback

With mobile, designers lost a valuable tool for progressive information display and a layer of utility — hover states on desktop and web had long been used for anything from tooltips to the OS X magnifying dock. In VR, hover is back in the form of gaze direction. Looking at an object or control can reveal more information that you couldn’t fit, such as a video preview for a thumbnail.

Another thing I tried in my first prototype was a “look-and-hold”/“long gaze” interaction to activate content without having any other form of input. This was heavily used in Kinect interfaces and always felt pretty good to me, and I thought it would be even better in VR since there’s a bit more accuracy than waving your hand in the air. Unfortunately, while other input methods allow you to look at things without interacting, “look-and-hold” makes it difficult to rest your gaze and actually read things without worrying that something will be triggered.

When I started the first project, one of the first things I wanted to try (along with some nudging from Joe) was simulating a common interaction in video games with cursors for menu navigation: snapping to the closest interactive area to compensate for inaccurate cursor control. In VR, the cursor is actually fairly accurate, but it still took more effort than necessary to do certain precise actions.

What I found was that increasing hit areas to handle about a 5–10 degree variance in gaze angle was a good rule of thumb. This meant that you could visually design certain things like a video progress bar to be fairly thin, yet still comfortably scrub through without ever slipping off the control.

Another thing I discovered while playing with cursor animations in QC was that hiding the cursor (or animating it so it looks like it snaps to the hover state of an control) actually reduced how much you think about aligning the cursor with a particular control.

Closing thoughts on VR design

At the end of the hack-a-month, I ended up with a pretty solid set of prototypes and new interactions to help inspire the team I was working with. All of the prototypes were done in fairly high fidelity in QC, in a relatively short amount of time (the hack-a-month was actually only about 2.5 weeks). Unfortunately I won’t be around through actual implementation, but I’m excited to see how the designs pan out in actual usage.