Image courtesy Primitive

‘Primitive’ Visualizes Complex Code for Collaborative Analysis in VR

Primitive represents one of the most interesting use-cases I’ve seen for VR so far—it creates 3D visualizations of source code that can be collaboratively explored and analyzed in VR. It’s creators believe that bringing a spatial understanding to otherwise flat code enhances the development process of complex code created by distributed development teams.

HTC runs the Vive X fund, a venture capital accelerator which the company says is the most active investor in VR startups, with 100 investments to date. Vive X regularly hosts events for invested companies to present and network with the broader investment community.

Primitive was among a handful of companies pitching to investors at a Vive X event this week in San Francisco.

During his presentation to a crowd of investors and press, Primitive founder John Voorhees framed his pitch around the idea that software is the foundation of the 21st century; companies across all industries rely on software to get work done, and much of that software is now created by distributed teams who may not work in the same building or even country. Much of the code base that underpins everything from banks to retail to infrastructure, and everything in between, is very large, often quite old, and only growing in complexity.

To that end, Voorhees argued, the companies which have the best understanding of the code they are reliant upon will have an advantage over competitors. And given the distributed nature of large scale software development these days, much of the challenge is in figuring out how to keep everyone on the same page, he said. That, of course, is where Primitive comes in.

Using VR as a foundation for intuitive, immersive visualization, Primitive has developed plugins for popular code writing programs like Visual Studio and JetBrains tools which take source code, and with the click of a button, maps it into a 3D visualization which shows how the mass of coded is structured. As Voorhees explains, the visualization reveals the complex nature of how ‘object-oriented’ code interacts with itself to modify various bits and pieces. Users can select any part of the code and dig down to see the finer details, including the source code itself.

Multiple users can connect into the visualization with various VR headsets, and actually walk around and interact with the code base with other people standing in the same virtual space. The use of spatial audio and avatars allow users to discuss the code together.

Image courtesy Primitive

Though I’m not a developer by trade and have only a bit of programming experience, seeing code visualized in this way was surprisingly intuitive compared to looking at raw source code and hierarchies. Not only was it intuitive, but the ‘spatial’ factor helped anchor the code’s underlying structure in my spatial memory (which is huge for me as a highly audio/visual type).

Primitive not only visualizes the structure of the code, it can also show how it behaves when its running. It’s possible to play back a trace of the code in Primitive, which shows a line (representing the processing thread) jumping around between apparently disparate parts of the code to show how the thread is executing various instructions and ‘where it’s going’ as it runs.

Image courtesy Primitive

Multi-threaded applications show multiple, color-coded lines to visualize processes running in parallel (something that’s difficult to see at glance with traditional methods). As the lines jump around the code, it’s even clear to see which threads are being underutilized because of how they sit around and wait for the work of other threads to be completed before they can move forward.

Colored lines representing a the four threads of an application. | Image courtesy Primitive

To get a better understanding of how useful Primitive could actually be, I spoke to a proper programmer who also demoed the program during the pitch event. The developer told me that this kind of visualization could be especially useful for onboarding new developers who need to get an initial grasp of a complex code base that they’re unfamiliar with. They also said that Primitive could be extremely useful for understanding and optimizing multi-threaded programs, since it’s challenging to intuitively write code that for parallel execution. Being able to easily visualize the activity and even ‘location within the code’ of various threads could reveal how well optimized the code is, especially in the case of massively parallel processes designed to run across hundreds or thousands of GPU cores, they said. Primitive doesn’t currently visualize GPU work, but it’s something the team says they’re considering.

– – — – –

At the Vive X event this week, Voorhees said that Primitive has raised $1.1 million in seed funding thus far, and has its software running in a handful of companies to the tune of $250,000 in recurring annual revenue. Currently Primitive is hoping to raise $4.5 million for its Series A round.

Primitive released demos of its VR code visualization program earlier this year, as well as plugins for IDEs—both of which can be found on the company’s website.