Designing Facebook Spaces (Part 1) — Embarking on a new VR journey
This article is the first chapter of a series about the design of Facebook Spaces.
On April 18th, we introduced an early beta of Facebook Spaces, Facebook’s first social VR experience, on Oculus Rift. With Facebook Spaces, you can spend time with your friends in VR, no matter where they are in the world and feel like they’re here with you.
A people-first computing platform
In early 2016, I joined the newly formed Social VR team as its first Product Designer. The goal for that team led by Mike Booth was both ambitious and exciting: explore the future of social interactions in Virtual Reality. As I stepped into this new medium, I quickly realized how incredible its potential was: it could be a huge step in our journey towards making people feel more connected and closer to each other and to the world around them.
It also became clear to us very quickly that the Facebook experiences would have to be reimagined to double down on what this new platform could provide.
As Mark Zuckerberg described in his keynote at Oculus Connect 3, we’ve spent decades building software platforms that are organized around apps. When we pull up our phones, we see a grid of apps. We have apps for making phone calls, apps for sending messages, apps to browse the web, apps to order food… But unsurprisingly, the ones we spend the most time with are the ones that let us connect with our friends. This way of organizing software around apps doesn’t align really well with our human nature and the way we process the world around us. This doesn’t align with how, as humans, we approach the world. But there is a unique opportunity for VR to be a people-first computing platform. A platform in which people are at the core of the experience, with a true feeling of presence, and where they can choose to do the things they want, together.
Designing for VR
Designing a virtual reality experience is both intriguing and daunting: few of the interaction and visual design patterns we’ve been crafting and polishing over the last decades are immediately applicable to VR. The industry is in its early days, it is a time of exploration and experimentation. Some of the interactions and design patterns we are inventing now may become standards in just a few years, or become completely obsolete as we make more progress and learn.
Facebook Spaces is the result of months of those experimentations. A lot of trial and error combined with a constantly refined design process. But even if VR is still uncharted territory and we don’t yet have all the processes and tools to help us explore it, some of the tools we have crafted over the years for software design are still useful. One of the most significant one is to define your design principles early on in the project, as they will guide a lot of your day-to-day decisions. We early on defined our design principles as follows:
- Promote Agency — People should always be able interact with the content and environment around them and feel like they’re in control.
- Embrace Asymmetry — VR interactions should work asymmetrically when possible (i.e. have a counterpart in the 2D world / with different input systems). Connecting with people both inside and outside of VR should be celebrated.
- A Safe Space — Give people the tools to feel safe.
- Feels like Facebook — The experience should feel new and exciting, yet familiar and have Facebook character.
Another aspect of our traditional design process for building new products or feature at Facebook that still applies to building VR experiences is to answer those three questions:
- Who are we designing for?
- What is the people problem we’re trying to solve?
- What does success look like?
Doing this exercise helped the team understand what we were trying to achieve and what our high level goals should be, which allowed us to stay focused on the right things along the way. We decided to focus on delivering an experience that would allow you to:
- Be “in person” with your friends regardless of where they are
- Experience meaningful content together
- Spend quality time together doing things you enjoy
Process & Tools
Once we have a better understanding of what we’re trying to accomplish, we move on to exploring how we can solve the problem. With VR, exploring that spectrum of solutions is often done with traditional design tools. Whether it’s by drawing on paper, creating a mockup in Sketch or Photoshop, or making a prototype in Origami or After Effects, we try to visualize some of the different ideas we have for interactions or interfaces. This allows us to move quickly and explore a large breadth of concepts and solutions.
But unlike with traditional software design, a lot of the ideas and concepts that seem very powerful and effective in mockups or videos can end up very disappointing or ineffective once in the headset.
- 2D mockups don’t always give a good perspective on the spatial context and ergonomics of the interface or interaction you’re designing. Is this interface 2m large and 1m away, or 1m large and 50cm away? How far do I need to reach out to grab this object or touch this button?
- It’s often hard to predict how an interaction will feel when using virtual hands, in a virtual world. Swiping windows in the air ala Minority Report looks cool in a movie, but when you can’t actually feel the windows at the tip of your finger and your hand goes through them, how effective is that solution?
One of the important lessons when designing for VR is that you should move your idea or concept as fast as possible to prototyping. Trying the interaction or interface in headset gives you a far better understanding of whether or not the solution will solve the problem.
Our team developed Facebook Spaces using Unity, a robust game engine used by many to develop 3D applications and games. Unity is also fairly approachable to designers as it offers a powerful editor that allows them to visualize the environment and make changes to every object without having to jump into the code. You can try your scene, make changes and see them reflected in the headset in real time, which is very useful when trying to fine tune the position, size, physics of an object or interface, for example.
We early on decided to do our prototyping in Unity as well. This means we can not only test our ideas rapidly, but can add them to our app and test them in a social context, with other people in a space with us. To move fast on complex prototypes, designers often pair up with engineers with the goal of standing up the core of the idea quickly to test it.
Another important aspect of making a concept come to life is creating the 3D assets and effects that will support the feature or interaction. Designers often pair up with 3D artists who can model, texture, animate or create the effects that will help craft the solution.
The last part of this process is to test those prototypes with as many people as possible to validate that the solution works with everyone. For us, this means having as many internal employees as possible trying it out and giving us feedback, as well as bringing external people in our research labs to understand how they interact with that feature. It also means looking at how people use the feature once launched to understand what works and what doesn’t.
Building a VR team
One of the biggest challenges of building Spaces was to assemble the team that would solve those new types of problems. Traditional software companies like Facebook have been crafting their team structures and hiring process over the years to facilitate agility and empower people to express their talents. But VR requires new types of skills that are hard to find.
A lot of our time while building Spaces was spent identifying those necessary skills and finding that talent: 3D art generalists, character artists, prototypers, real-time game engine experts… Different industries have developed and leveraged those skills in the past (movie and video game industries, for example). We had to search for those talents, get them excited about our mission, mix them with more traditional software designers and engineers and create the right process for them to collaborate and learn from each other. In the end, we built a team of incredibly talented people with diverse backgrounds and perspectives which allowed us to tackle those new types of problems.