Learning UX from Video Games
The User Experience (UX) of a program, app, website, or video game encompasses both the look and feel of the product. The design of a program from keyboard shortcuts to fonts, has an impact on the usability of the product. Menus that are difficult to navigate slow down every action. Fonts that are hard to read can add eye strain and introduce additional human error. Every design decision in the UI should consider the impact on a user.
Case Study: Autodesk Navisworks
Navisworks is a 3D Model review software used in the architecture and construction industry. When a building is being designed, builders and engineers are able to use Navisworks to virtually walk through their model, and spot potential issues before breaking ground. Navisworks is a little different from other CAD programs in that a majority of the modelling has already been done, navigating, observing, and collaboration are the key functions.
Presenting a 3D world to a user through a 2D medium (a screen) poses challenges for navigation and spatial orientation. These same challenges are shared with video games. A player being able to immerse themselves in the virtual environment, and being able to efficiently navigate are key to enjoying the experience. But over the years, gaming has found a few solutions to these problems, and the CAD industry could benefit from.
The minimap is a common site in games where a player is required to navigate a virtual world. Typically situated in the corner of the screen, the minimap is a small representation of the larger world around the player. Minimaps have a few distinct features:
Simplified for quick and easy reading
Provides both orientation and position information
Includes key information about your surroundings, either land features, quests, or other players
In the above example, the game Dota 2, has a minimap providing at a quick glace: enemy and ally positions, and status of various buildings. An example we can take inspiration from.
Navisworks does include a navigation map (plan view), but it's missing a number of elements that make minimaps so useful. Firstly, it's hidden away in a tab, and when that tab is expanded it covers the model view. You can either see the model, or know where you are in the model. Minimaps usually exist as an overlay to the main screen. Tucked away in a corner, it gives positional context at a glance, without sacrificing the core content or main view.
Secondly, the Navisworks plan view is a top down image of a viewpoint. It shows the same information as if you were looking top down on a model. Converting this view into a minimap wouldn't work exactly. Small details would be shrunk down and more difficult to read. The context of your position wouldn't reflect in the map, for example, showing a slice or floorplan of the current level would be more helpful than always showing the roof.
In the above image is my concept of Navisworks with a Minimap, seen in the bottom right corner. Taking up much less screen real estate, the minimap provides positional context while navigating large plans. No more asking "where are we" during meetings.
Computer peripherals weren’t designed to work in a 3 dimensional space. We’ve been able to adapt them for use in 3D software, but not without limitations. Typically only one or two axis can be manipulated at once, Ex, look around but not move. Much of the CAD industry will point towards the one or two 3D mice on the market, but instead, I wanted to look at another approach.
Video game consoles have been shipping with specialized input devices since Pong. These controllers are designed with 3D space navigation, speed, and ease of use in mind. To see how it would fair in the CAD world, I created a plugin for Navisworks to use a controller from a Nintendo Switch for navigation.
Switch controllers (joycons) use bluetooth to communicate with the console. Connecting it to a computer like a wireless mouse lets me read the inputs, and manipulate the camera position in Navisworks. I set it up to use the joystick to look around, D-Pad for movement, shoulder buttons for elevation. Joycons contain many more inputs that could be utilized, from a gyroscope to an accelerometer, and more buttons on the controller. Meant to be used in pairs, a second controller would double the given inputs.
How did it turn out? Well, not as amazing as I hoped. The Navisworks API isn’t meant to be used for controlling the camera, so there is a bit of a delay in any action. Any camera changes require a re-update to the render, which causes Navisworks to be slower than normal. Reading inputs from a joycon was relatively easy, but making sensible controls in Navisworks proved to be a challenge.
Video games have been around for a similar amount of time as computer aided design. While the CAD industry might not be looking over the shoulders of gamers, it couldn't hurt. Technical challenges in software have come a long way in the past few decades, but good UX development requires creatives ideas. Video games and enterprise software have similar challenges, and one thing that video games have over enterprise is the ability to radically innovate. There are no small independent CAD software companies, but the video game industry is full of them. These small studios can take risks on novel ideas, and when the rest of the industry sees a great idea, it spread like wild fire.
I the future, I would like to see more innovation spread from video games to CAD software: interactive tutorials, better program settings pages, in-client collaborative tools, etc. There is a plethora of ideas that would be of great value to the industry.