Codepunk 063 Proximity in Virtual Reality

by Bill Ahern, Michael Szul on

No ads, no tracking, and no data collection. Enjoy this article? Buy us a ☕.

This is a written extension of the Codepunk podcast. You can also listen to the audio version or watch the video version at the end of this article.

When discussing virtual reality (VR), there is a specific aspect of design involved—whether world design, production design, or application design. These environments are not exempt from the same design principles available in 2D design environments. In fact, in many ways, some of the core principles of user experience design are even more relevant and important in virtual reality because much of the work we've done in 2D or computer application design has always attempted to take into account a spatial feel.

As fate would dictate, multiple conversations around the topic of virtual reality, remote work, and faux conference rooms collided on the Internet in a matter of weeks. Between Ben Evans tweeting low-blow commentary on VR to Azeem Azhar asking about virtual conference rooms to the figurative explosion of augmented and virtual reality announcements and acquisitions from Snap and Facebook, virtual reality continues to have its moment. It's a moment of confusion, uncertainty, enthusiasm, and high use of the word "metaverse," but it's still a moment.

Around this time, I left the following on a Friday members-only post from Azhar's Exponential View web site:

I'll start with something Ben Evans tweeted where he said that working in VR seems like the opposite of "everything everyone has built in the last decade. It's not about a bigger screen." This is more a statement on the attempted solution and not an acknowledgment of the problem. Although it's true that progress in remote work (and work in general) has led us to mobility, increasing freedom of movement, productivity, etc., the trade-off is a loss in spatial interaction. Every conferencing software has attempted to solve the problems with spatial interaction and spatial awareness through hand-raising emojis, table and grid views, shared whiteboards, etc., and despite progress, we're still using a predominantly 2D interface and organizational system while working. We may have "layers" to our software, but movement and interaction within those layers still only incorporates 2 dimensions. VR/AR and the XR group in general (not to mention several other non-XR software applications) have been working on ways to solve this spatial deficit and eliminate some of the final barriers to a seamless remote work transition. WorkRooms isn't it, but is a good experiment for other initiatives to learn from.

Evans has a habit of poking at VR because he sees it as little more than a subset of gaming. But Mark Zuckerberg wants to re-brand Facebook a metaverse company and sees the future through an augmented and virtual lens. The truth is somewhere in the middle for now, but technological progress dictates that it probably leans closer to Zuckerberg eventually.

But what is this "spatial software?" What does that phrase actually mean?

Think about this statement from John Palmer:

Think about this: there is no app that replicates a deck of cards.

Go ahead and look on the app store, and you'll find a bunch of apps with bad reviews and extremely limited functionality.

If you start designing a deck of cards app as a traditional 2D app the way we think about them today, with 2D panes and menus and buttons, it becomes painfully difficult to think about.

Palmer posits that although in several cases reducing something to a 2D interface might make it easier to understand, there are just as many cases where leaving something as a 3D interface makes it more intuitive since humans are inherently spatial thinkers.

More from Palmer:

In particular, some applications use spatial relationships to suggest how they should be used. Incarnations of this thinking are called spatial affordances.

It was once Palmer started talking about spatial affordances that I was reminded of another concept in user interface design: proximity. And this idea of proximity essentially makes his case for spatial needs in software.

Proximity in design tells us that the closer elements are together the more they are functionally related, and as things become functionally similar in design they become closer together until they are right on top of each other. A good example is an elevator panel. There are three elements: the buttons, the numbers, and the lights. The button selects the floor. The number tells you which floor. The light confirms your choice. All three of these are highly integrated and thus the most pervasive elevator panel design has the button, light, and number integrated into one piece. It would make little sense to have a legend of number and button correspondences on the wall that you need to consult in order to know which button you need to select. To say that this would be bad design is an understatement.

In 2D design proximity is determined on an x-axis and y-axis, so the expectation should be that related ideas and concepts should be closer together on the screen, and how we represent that closeness becomes the spatial aspect of a 2D design.

It's important to note that spatial representation doesn't have to mean virtual reality or 3D software. A third dimension just makes it easier. However, you can represent spatial concepts in 2D and the success of this representation often determines the usability or intuitiveness of your software.

Palmer gives a great example with the chat application Sococo, but you can also look to the popular WorkAdventure. The chat applications are designed like old school video games, but interestingly enough, if used properly you can immediately tell at a glance what people are working on, who is chatting with whom, who is on break, and many other "presence" indicators with much greater accuracy and speed than a simple chat window.

[Sococo is] just a 2D floor plan of an office, with a bird's eye view. Every employee has an avatar. You can simply place your avatar in one of the rooms with other people. The room provides text and video chat for the people inside.

Now try to answer the same question with this software. "Who is everyone at my company meeting with right now?" All of a sudden, it's extremely easy. You just look at the rooms. At a glance, it's immediately obvious which people are working together. The floor plan is a skeuomorphic spatial affordance, one of the few I can recall seeing. It displays rich information and makes that information easier to understand by analogizing a real-world spatial environment.

With 3D design, you now have a spatial environment to work with, but more importantly, when discussing conversational or social applications of 3D software such as virtual reality, spatial software takes on a dynamic much closer to real life.

Bill Ahern in Facebook Horizon

Proximity and presence are much more powerful in virtual environments. Augmented reality might add an extra layer to the physical universe (a meta layer), but virtual reality is about world-building and represents a different experience. When we use text messages, phone calls, and even video chats, there is a recognition of spatial barriers and distance between participants. But videos games started to break down this barrier as multi-player games, open worlds, and chat parties created an environment that could be internalized and create an imagined closeness. You feel like you're with your gamer friends in the same room/universe. Virtual reality takes that a step further. When we chat; When we Zoom—there is this perceived barrier—a screen between us. But when we're in virtual reality, we feel like we're with the other person. We perceive a closeness in proximity, and the best virtual software will fold this spatial dimension succinctly into their design.