Engineering & Product Development in Virtual Reality
Although Virtual Reality gets a lot of media attention for its possibilities as an entertainment venue, companies will find many practical uses for it, including the software engineering space.
Currently, software engineers use a keyboard and mouse, and 2D screens, to interact with an Integrated Development Environment. Translating the source code into a 3D environment that could be directly manipulated would make it easier for software engineers to design programs and operating systems efficiently and effectively, with more freedom and creativity.
Complex interactions are more easily understood if viewed as natural, 3D images the engineer can manipulate. This will speed up developing of complicated systems, making them like putting together a jigsaw puzzle, though only trained experts will understand the rules. The developer then more efficiently stress-tests the resulting solutions more efficiently, though this process should result in fewer bugs than current programming environments.
According to a paper by Anthony Elliott, VR offers many advantages to software engineers. Currently, devices such as the Oculus Rift, a VR device mounted on the user’s head, offer stereoscopic rendering so the developer will view in-depth how the source code currently fits together, thus engaging the spatial parts of the user’s brain, resulting in a fuller understanding of the design elements involved. Microsoft Research studied how engaging user spatial perceptions and memory increased speed and performance.
By wearing VR body equipment, the developer will use their body movements within the perceived virtual environment to further engage their brain, increasing speed and accuracy.
It’s ironic, but for software engineers working in a VR environment will be a far more physically active experience than their current work practices.
One early example of a VR environment for software engineers is RiftSketch. The user starts out in a VR world empty except for a simple text editor floating in front of them. As they type in code, they instantly see how it affects the world. It uses live coding to edit the program as it’s running instead of waiting for the traditional cycle. Therefore, developers more easily spot which line of code caused a bug.
Another benefit of software development inside a VR environment is remote collaboration. Just as VR will enable multi-user games in perpetual play across international broadband networks, so multinational development teams can meet up in the VR IDE to solve problems. Their avatars could discuss the issues, suggest solutions and try them out.
Switching from current practices to developing within a VR environment will not always be smooth, but software engineers help create the future. Technological advances affect them as well.