AltspaceVR Hero Image

AltspaceVR

UX design for AltspaceVR, a social VR app acquired by Microsoft.

Company

Microsoft

Duration

3½ Years • Aug 2018 - Dec 2021

Role

UX / UI Design, Systems Design, Level Design, Technical Art

Tools
Figma
Figma
Unity
Unity
Adobe Illustrator
Illustrator
Photoshop
Photoshop
Substance Painter
Substance Painter
Maya
Maya
01

Overview

Background

AltspaceVR is a social VR platform that was first launched in 2015, and was later acquired by Microsoft in 2017. It's a place for people to attend live, virtual events, or meet new friends and interact with a friendly community from around the world.

I moved over to AltspaceVR team in 2018, after the different Mixed Reality teams working on multi-user experiences were consolidated into one.

My Role

I was the designer responsible for all new UX / UI efforts. This work consisted of things like taking UI from initial concept to final implementation, designing new systems and levels, project planning, optimizing content, and creating 3D assets.

I collaborated with other designers, artists, engineers, and product managers to transform AltspaceVR into an events focused platform.

The Campfire
The Campfire (by Frank Vanderwel)
Vista Home
Vista Home (by Art Team)
Comedy Club
Comedy Club (by Frank Vanderwel)
Boardroom
Boardroom (by Travis Fike)

Projects

I had the opportunity to work on a variety of AltspaceVR projects, but I picked just a few that highlight some of my efforts.

02

Main Menu Rework

Problem

The pre-existing Main Menu in AltspaceVR had many problems that the team wanted to resolve. The menu was dependent on a 3rd party package called Coherent UI, which was a unstable, non-performant, and a security risk. The menu also had an inconsistent visual language, issues with content scrolling, and was described by users as confusing or hard to use.

The team wanted to remove the dependency on Coherent by switching the menu over to Unity's native UI. As a part of that UI rework, we needed to redesign the main menu, improving its usability and overall appearance.

🎯The Goal: Refresh the design of the main menu, resolve any performance issues, and polish the UI to a high level of quality.

Constraints

  • The new UI couldn't deviate too much for the original, all of the existing backend data and terminology needed to be repurposed.
  • Screen resolution in VR headsets was relatively low, so all of the text and UI needed to be large in order to prevent aliasing issues and improve legibility.
  • Performance was a major concern, so we had to limit the use of transparency (overdraw), replace scrolling with pagination, remove animations, and restrict the use of 3D UI elements.
Design

Discover Page

Discover (#1) is the main menu's home page. It's where users go to discover popular ongoing events, and access various social hubs like "The Campfire." An event's Info page (#2) can be accessed from Discover, and it features a more detailed view of the event.

These pages were redesigned to present more information on screen, make use of the new visual language, and provide a better event discovery experience.

Discover - BeforeDiscover - After
Discover Info Page - BeforeDiscover Info Page - After
View Slider Images

Early Wireframes

I worked alongside Todd Omotani to create UI mockups for the new main menu. We ended up simplifying the menu to just a main panel, the friends list, and a more comfortably positioned bottom nav.

The Discover page evolved from these earlier designs into the layout seen above, which was going for a more informative, Netflix-esque type of content preview.

Main Menu - Wireframe
Main Menu - Wireframe
Main Menu - Wireframe #2
Main Menu - Wireframe #2
Main Menu - Wireframe #3
Main Menu - Wireframe #3
Main Menu - Wireframe #4
Main Menu - Wireframe #4
Design

Events

The Events page is where users can find upcoming events or create their own events. AltspaceVR wanted to be the place to go for events in VR. To reach this objective, we first needed to redesign our Events page, making it easier for users to find the events that they're interested in.

The first tab on the Events page, "This Week," was designed to display event info and a weekly calendar that showed users what was going on that week.

Events - BeforeEvents - After
View Slider Images

Event Creation Flow

One of our goals was to streamline the event creation process and make it easier for users to create and host events. We simplified event creation into a few basic steps:

Event Creation - Flow Diagram
Event Creation - Flow Diagram
Design

More Pages

There were additional menu pages that we updated as part of the UI rework:

  • People - Where users can see their complete list of friends, search for people, and respond to friend requests (#1)
  • Settings - Provides a list of different system options and access to customer support (#2)
  • Sign Up & Log In - Allow users to register an account and enter AltspaceVR (#3)(#4)
Friends List - BeforeFriends List - After
Settings - BeforeSettings - After
Sign Up - BeforeSign Up - After
Login - BeforeLogin - After
View Slider Images

Style Guide

As time went on, I started to compile a few aspects of the new UI into a style guide. It remains unfinished, but what's there shows some of the recurring elements that were used across our menus.

Style Guide - Cover

Results

We succeeded in redesigning and updating the Main Menu. Usability and performance were improved as a result. It took months of effort and lots of bug fixes and polish, but we finally got rid of the dependency on Coherent UI.

03

Level Design

1

Vista Stage

Problem

The team wanted to create a new environment focused around performances. The idea was to build a rooftop space that could fit a small crowd of people, match our wonky art style, and be more than just a reskinned version of our existing rooftop level.

🎯The Goal: Create a rooftop environment that's designed for performances and presentations. Must support 30+ people.

Research

Existing Levels

There were previous attempts at making a late night rooftop space, but most of them just repurposed existing environments rather than being designed for a specific purpose.

Lunar Loft
Lunar Loft (by Travis Fike)
Existing Vista Stage
Existing Vista Stage (by Art Team)
Vista Night
Vista Night (by Art Team)
Rooftop Games
Rooftop Games (by Art Team)
Ideation

Sketches

With my sketches, I was trying to figure out how to give the rooftop three different floors and make the stage its focal point.

Vista Stage - Sketch
Sketch
Vista Stage - Sketch #2
Sketch #2
Vista Stage - Sketch #3
Sketch #3
Vista Stage - Sketch #4
Sketch #4
Design

Layout

The Vista Stage level was designed with a few different functional areas in mind:

  • Lobby Room - Users spawn into the lobby and are kept there until the event begins and the doors open up.
  • Audience Space - The area in front of the stage where people can watch the performance.
  • The Stage - Where the performers stand during an event.
  • Rooftop - A floor that gives an elevated view of the stage, features a bar, and acts as a post-event hangout space.
Vista Stage - Layout
Vista Stage - Layout
Design

Blockout

I blocked out multiple versions of the rooftop in Maya and brought them into Unity for testing. My intention was to make a cozier environment with a clear flow through and visibility of the stage. I designed it to look similar to our other levels so that we could reuse some props and save the art team's time.

Vista Stage - Blockout
Vista Stage - Blockout
Vista Stage - Blockout #2
Vista Stage - Blockout #2
Vista Stage - Blockout #3
Vista Stage - Blockout #3
Vista Stage - Blockout #4
Vista Stage - Blockout #4
Vista Stage - Blockout #5
Vista Stage - Blockout #5

Results

We were never able to get the resources to add art and finish up this level, but it did serve as a good example for what our future performance spaces could look like.

2

Modern House

Problem

The team planned to retire our old MCM (Mid-Century Modern) House environment, and replace it with a new home space. We wanted to give this new home an updated layout, improved performance, and better alignment with our new art style.

🎯The Goal: Create a comfortable home space that gives users several locations to talk, hang out, and engage in activities.

Ideation

Sketches

I drew some sketches to help me figure out how to arrange the rooms of the home around a courtyard. I wanted the house to be a terraced, open space, where you come in on the upper level and descend down into the kitchen, living room, and a large backyard.

Modern House - Sketch
Sketch
Modern House - Sketch #2
Sketch #2
Modern House - Sketch #3
Sketch #3
Modern House - Sketch #4
Sketch #4
Modern House - Sketch #5
Sketch #4
Design

Layout

I created a top down layout of the level that shows where the main areas of the Modern House are:

  • Entryway - The start area that users spawn into.
  • Courtyard - An open space for users to gather in, and the focal point of the house.
  • Kitchen & Living Room - A connected area made up of a kitchen with a large island, and a living room filled with props.
  • Backyard - A big outdoor space for activities, events, and hanging out with other users.
Modern House - Layout
Modern House - Layout
Design

Blockout

I built a basic whitebox for the home. I wanted the interior to feel like you were outside, with every room facing the open courtyard. When users spawn into the entryway, they have a direct line of sight to the courtyard and the backyard behind it. We expected people to spend a majority of their time hanging out in these two locations.

Modern House - Blockout
Modern House - Blockout
Modern House - Blockout #2
Modern House - Blockout #2
Modern House - Blockout #3
Modern House - Blockout #3
Modern House - Blockout #4
Modern House - Blockout #4
Modern House - Blockout #5
Modern House - Blockout #5

Results

The Modern House never received a more detailed graybox pass or the resources needed to replace it with environment art. I had to move on to a different project before I could finish the design, so it remained in an incomplete state.

04

Tutorial

Problem

There were several different tutorial efforts for AltspaceVR that I was involved in. For our main tutorial, I was asked to create a waypoint arrow and an additional mini-tutorial slideshow.

Later on, I had to design a help section for our settings page, which would provide users with further information and access to customer support.

🎯The Goal: Contribute to AltspaceVR's tutorial efforts by creating a mini-tutorial, waypoint arrow, and help section.

Design

Mini Tutorial

The mini-tutorial was a slideshow of images visualizing some of the important features in AltspaceVR. We showed it to new users the first time they enter a space (via UI pop-up cards). It teaches users how to mute their mic, emote, turn on their safety bubble, and add friends.

Our main tutorial didn't cover every feature, so the mini-tutorial gave us the chance to explain more and also provide some guidance to users who might've skipped the main tutorial.

Design

Tutorial Waypoint

The main tutorial in AltspaceVR takes new users through a rooftop environment, where they're taught how to move around, interact with objects, and customize their avatar. I was asked to create a waypoint arrow that guides users between the different tutorial spots throughout the space.

I built a wonky, animated arrow that fit our art style and could grab the user's attention. The arrow's shader draws through walls, making it visible to users no matter where they are. Unfortunately, the shader's draw order was broken when I recorded this video, but you can still see the waypoint arrow in action.

Design

Help Section

I designed a help section for our main menu. It contains a getting started guide, a controller diagram for the user's current input device, access to our online documentation, and the ability to submit a customer support ticket, request a feature, or file an abuse report.

I had already made different controller diagrams for the main tutorial, but the gamepad diagram was a new addition. I also created slides for "Getting Started", which was a short, text-based tutorial that taught some basic information about AltspaceVR.

Help Section - Gamepad Controls
Help Section - Gamepad Controls

Results

Both the mini-tutorial and waypoint arrow were successfully added to AltspaceVR's tutorial experience. The help section never made it into the app before the team moved over to work on Microsoft Mesh.

05

Loading Screen

Problem

The old loading screen, or what was called the "Purgatory" space, had some problems that we wanted to resolve. The space was bright blue, which caused eye strain and hitching issues during loading (visual artifacts from a drop in frame rate). It was also not a particularly interesting or useful space, yet we showed it every time the app loaded and transitioned between environments.

🎯The Goal: Create a new loading screen that replaces the old Purgatory space, fits our art style, and shows some helpful UI.

Technical Requirements

  • The new space must be dark in order to hide the hitching artifacts from loading.
  • It needs to be cheap and performant to run quickly on mobile devices.
  • There can't be too many animations or interactions since there's already a lot of stuff loading in the background.
Research

References

I had many ideas for what we could do with the loading screen. It could be an inviting space with avatars that welcome you in, or maybe a dark, nighttime environment, with a cozy campfire or city in the background.

Ideation

Sketches

During the loading screen, we planned to show users tips that would teach them about AltspaceVR. When I started sketching the UI, I tried to make it more rounded and friendly looking than the main menu.

Loading Screen - UI Sketch
UI Sketch
Loading Screen - UI Sketch #2
UI Sketch #2
Loading Screen - UI Sketch #3
UI Sketch #3
Loading Screen - UI Sketch #4
UI Sketch #4
Ideation

Mockups

I worked with our two environment artists, Travis Fike and Frank Vanderwel, to create mockups for the loading screen. They were responsible for the look of the space, while I primarily worked on the UI and provided feedback.

In the images below, you can see the gradual evolution of both the UI and the environment.

Loading Screen - Mockup #1
Mockup
Loading Screen - Mockup #2
Mockup #2
Loading Screen - Mockup #3
Mockup #3
Loading Screen - Mockup #4
Mockup #4
Loading Screen - Mockup #5
Mockup #5
Loading Screen - Mockup #6
Mockup #6
Loading Screen - Mockup #7
Mockup #7
Loading Screen - Mockup #8
Mockup #8
Ideation

UI Iterations

I experimented with a variety of different panel shapes and arrangements of the UI. We wanted the loading screen to be more friendly and inviting, so I made the UI bright and warmly colored to help convey that feeling. It also contrasted nicely with the dark environment that was being worked on.

Ideation

Skybox Iterations

Our environment artists created the skybox for the space. It started as a dark, infinite grid stretching out to the horizon, but eventually became a large mountain range with a vibrant sky.

I found the bright purple in this new sky to be a bit unpleasant to look at, so I edited the skybox and gave it a nicer range of colors with some warmer pink and green hues.

Design

Final Look

We eventually landed on a final look for the loading screen. It ended up as a serene environment with some tips for users to look at while waiting for the app to load. I created all of the tips and images that were loaded into the space from our backend.

Loading Screen - BeforeLoading Screen - After
View Slider Images

Results

The final version of the loading screen was successfully added into AltspaceVR, replacing the previous Purgatory space. It didn't end up quite as compelling as I initially imagined, but it did the job.

06

Reaction Menus

Problem

AltspaceVR's emoji system let users express themselves through clouds of emojis released over their heads. The existing emoji menu didn't support gamepads, which was needed for our port of AltspaceVR to Xbox. The menu had also suffered as a result of movement system updates, becoming jankier and hard to use.

Our plan was to replace the old emoji system with two new reaction menus: a simple "Reaction Wheel", and an expanded "Reaction List," capable of holding many emojis.We wanted to make it easy for users to find and fire off emojis with as few clicks as possible.

🎯The Goal: Design an extensible Reaction Menu System that's straightforward to use and contains plenty of reaction options.

Design

Menu Concepts

I designed the two reaction menus to be easy to toggle between when a user wants to replace or access more emojis. I kept the UI rough looking, so that the team would focus on the interactions and usability of the menus, instead of their appearance.

For the Reaction Wheel, I added an icon that mirrors the user's input device, popup labels, pagination support, and selection feedback. I gave the Reaction List a top nav with the different reaction types, a search bar, and a scrollable side nav showing emoji categories.

Reaction Wheel - BeforeReaction Wheel - After
View Slider Images
Design

Prototype

I built an interactive prototype of the menus in Figma for the team to test and get a feel for. I made a few variations of the base prototype to help us answer some open questions:

  • Do we default to the left or right joystick for menu navigation? 
  • Should we auto dismiss the menu after an option is selected?
  • How do we give users better visibility of their surroundings while the menu is open?

Results

We started building a Unity prototype for the Reaction Menus, but weren't able to finish it before the team started work on Microsoft Mesh. The rough UI mockup never received a polish pass, but it was still useful as a reference for the Mesh team.

07

Conclusion

Reflection

I worked on AltspaceVR for 3 years before it evolved into Microsoft Mesh and the app was left running in maintenance mode. I made a lot of great friends during the experience and had fun working on a live service product with a global community.

I contributed a lot towards making AltspaceVR the place to go for events. My UX / UI work helped improve event discovery and made the event creation process easier for our users.

Takeaways

  1. While the metaverse is still far away, there's a lot of value in social MMOs that emulate how we interact in real life.
  2. Social apps need activities. They act as ice breakers, shared experiences, and facilitate casual conversations.
  3. There's untapped potential in UGC (user generated content) tools, which allow users to create new content for your app.

Credits

Engineers

Designers

Artists

Project Managers

AltspaceVR Team
AltspaceVR Team