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).

Everything Wrong with Traditional Data Visualization and How VR is Poised to Fix It

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.

This article may contain affiliate links. If you click an affiliate link and buy a product we may receive a small commission which helps support the publication. See here for more information.

  • Evan

    “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.”

    Had the same thought! Although I have a hard time believing most code bases would output as nicely as the demo one tho. On the other hand, visually spotting spaghetti code before it is checked in could help with code reviews.

    • Primitive

      Creator here. We’ve designed the visual layout system to be 100% procedural. You can see for yourself with this walkthrough of deeplearning4J (640k lines of code):

      Hope you give Primitive a try!

      • Trevor Chandler

        The one missing piece is the fact that coding itself is transforming due to artificial intelligence, reinforcement learning, and other related technologies. Now if we could get insight in 3D space of hidden layers of neural networks, and 3D spaced hierarchical dendrograms and starburst diagrams into combinatorial types of data that represent information otherwise to complex to be viewed with any immediate understanding, that would be great.

        I’ve been using Dendrograms in 3D to display all the characteristics of a system since the oculus DK1 and DK2, that being said, it’s so much easier now. The challenge is taking what looks ‘cool’ and making it into something that is useful and that represents data in a way that an understanding is achieved that could not be achieved in a 2D format.

        There have also been javascript 3D diagrams and other powerful utilities that give you the illusion of a 3D visual now, however, moving through it in a real 3D env has got to be difficult.

        I think this is great overall because we need to move in different directions, that being said, the coding of the future will be more like training a dog to sit as opposed to typing low level code that takes a developer to understand what is going on. There will always be a need for low level developers, but the need will decrease as systems that can learn and perform in real-time, like AI, will start being more commonly used.

        Just my opinions of course,

        Thanks for helping push things forward!

  • FireAndTheVoid

    I have 13 years of software development experience and few of the code bases that I have worked on would neatly translate to visually intuitive graphs. I would like to see this tech applied to a large, real-world application before I could be convinced of its utility. Despite this, the demo is impressive – something you would expect to see in a sci-fi film. I wish the best of luck to Primitive. What they are trying to accomplish is very challenging.

    • I’ve tried it on my Vive… honestly as a pure developer, I was not amazed by it. I don’t think using images, but using text… and it was not the ideal tool for me. Nice idea, though.

  • I gave it a quick try some weeks ago and I have to admit it is not the right tool for me: I find it easier to navigate into code using the classical Visual Studio tools. But it depends on who is the person that uses it: my colleague would love it a lot, since he is a visual guy. It is a nice idea, though.

  • The Bard

    Not useful in reality. Writing this as a programmer with 20 years of experience.