Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

### Topics

InfoQ Homepage Podcasts VR Environments for Collaborative Software Development

# VR Environments for Collaborative Software Development

In this podcast, Shane Hastie, Lead Editor for Culture & Methods spoke to Jonathan Schneider and the development team from Moderne about their experiences using an immersive VR environment for collaborative software development.  This podcast was recorded as a video of the immersive experience.

### Key Takeaways

• Virtual reality can be used effectively for collaborative work
• VR feels more personal and engaging than video calls
• The hardware and supporting software is readily available and relatively cost effective
• VR works well for whiteboarding sessions and pair programming
• VR conveys the body language and non-verbal prompts missing in video interaction

Here you can watch the video of this podcast:

## Transcript

Shane Hastie: Good day folks. This is Shane Hastie from the Engineering Culture Podcast. Today, I'm sitting down in a virtual space with the folks from Moderne who are using virtual reality in developer collaboration. So, I'm just going to let the conversation go as it goes. Jonathan, do you want to kick us off, introduce yourself and then let's see who's around this virtual table.

## Introductions [00:35]

Sure. Yes. Thanks for having us Shane. It's a pleasure. So Yes, I'm Jonathan, one of the co-founders of Moderne and we're a software shop. We build automatic software repair, refactoring for enterprise customers. And we're about, a little over 10 people now, and scattered all about. And maybe you could each introduce yourself, and where you're at in the world, because you'll see that while we appear to be close together, we're not very much in reality. So, Pat?

Patrick: Yes, I'm Pat, I've been with Moderne for a little over a year now. Work mostly on the open source side. I'm in Chico, California, which is in the Northern Sacramento Valley of California. Yes, it's pretty fun.

Tyler: And I'm Tyler and I'm in Portland, Oregon. I've been with Moderne for about a year and a half. Almost two years. It'll be two years in this fall. Anyway, Yes, super fun.

Johnathan: Where are you based?

Tyler: Portland. I said that one.

Kevin: I'm Kevin. I've been with Moderne for just over a year and I'm normally based in Texas, but right now I'm in Buenos Aries, Argentina. And I've been here for, what, two weeks. And I'll be here for another month and a half.

Jon: I'm Jon. About a year. I'm the other Jon. Jon as well, Jonathan. So, sometimes need to be more specific than just Jon whenever we're talking. But I live in rural Southwest Missouri, actually.

Kyle: And I'm Kyle. I've been here almost a year, and software engineer as well. I am out of Sacramento, California.

Shane Hastie: So, nice to meet you all, gents. And I'm Shane, I'm sitting in a little town called Otaki in New Zealand. So a fair way away from you gents.

Johnathan: Yes.

## The immersive space [02:44]

Shane Hastie: And, it's tomorrow. And I can tell you the weather forecast is clear and sunny, and looking at the sunlight streaming into your room, your virtual room there, it looks like your room is sunny too. So, what I see is a virtual table and I'm guessing that we all see the same thing, something I also see is avatars. How realistic to you are those avatars?

Johnathan: They're pretty close.

Tyler: Yes.

Johnathan: Really if I look at any of them, I would know exactly who they are, even if I'd never seen the avatar before.

Jon: Yes. We did spend some time, probably each of us going through the various options of tweaking on the face shape and the eye shape and the hair color and our hair in my case. So I actually had to have my wife and my daughter help me because I casted up on the TV. And so there's a hundred different options for very subtle changes. And of course, I don't know what I look like, because I don't spend any time looking at myself. So except in Zoom. So I would just, this is it. And they were like, ah, it's a little more like this one. And so it was a somewhat time consuming process. But in the end I think it got reasonably approx, approximately close.

Shane Hastie: Why VR, everyone else is just going with zoom and we are also seeing asynchronous coming into play. What made you go down the path of VR?

## VR feels more personal and engaging than video calls  [04:26]

Johnathan: I think honestly we use all three of those. We do async, we do sync and then we have different tools for different things. And honestly I was still skeptical when we first said, Yes, we're going to go into VR. I'm like, oh okay. Kind of history, but let's try it. And honestly it's hard to describe until you actually sit in front, you sit in one of these in Oculus on your head. It is different than zoom. It feels, Yes. I don't know. More immersive, more personal, more personal it. Yes, we don't do it all the time. We definitely use zoom a lot too, but just the fact that we're able to use the whiteboard and stuff and we'll have to show that off. That's kind of interesting because we don't have the opportunity to do that since we're all scattered all over the world, basically. So from our experience, there is spatial audio.

So Tyler does sound like he's over to my right now. And so it's a bit more immersive in really subtle ways that you know, are used to a more flat zoom experience. I noticed one of the first team meetings we did in here, Kyle, I think was sitting next to me. And normally if we're on zoom, nobody knows if you're doing something else on your laptop at any given moment. But here when Kyle was speaking, I actually had to face him or he could tell that I actually paid attention to him. So it's just kind of interesting, the little things that get lost from, in person over those sorts of environments.

Shane Hastie: So now I'm not present in your virtual space. So how do I appear to you?

Kevin: You're on a little screen. It's kind of like you're in a meeting room, we're in a meeting room and you're remote. And so you're meeting with us remotely. Yes. You're projected on the wall out there.

Tyler: You're on a floating TV.

Johnathan: Fortunately. I think that means you can't see the beautiful ocean behind you.

Tyler: Not yet.

Johnathan: We can change that.

Tyler: Yes. I think we can change the, actually change the configuration.

Johnathan: Move them around.

## Changing the view and presentation mode[06:36]

Tyler: Yes. I bet if we change to the presentation mode and so there's different modes actually. Well I think you could probably see the ocean behind us now. Yes. Yes. So in this mode it sets us all up on, in a row where we can all see the whiteboard in front of us. If somebody was presenting, we can share our screen to the front whiteboard as well. We can show that in a little bit. So there's this mode. If more people join just another row will appear behind us. So the room scales, according to the number of people that are in here to try to give it that cozy feel at any given time. So I know unless you one time. Yes, go ahead. Unless you're the one person that ends up going to the second row, then you're the only person down there.

Kevin: It doesn't rebalance. It just puts one person back there, poor Aaron.

Tyler: And then this is the last one. This is almost the more formal board table sort of view of the world. And one thing I will say that's different about VR is right now, even I'm kind of a personal space guy and Jonathan's a little bit too close in real life. I would never allow this. Right. It's too close to me. And you get that impression. It's the feeling a little bit of someone in your personal space. I think there's actually a setting now or there will be a setting in some of these that's a personal space protection thing where if one of the avatars starts to get into your personal space, that it'll automatically keep them out of that. I wish I had that in real life sometimes with me every day.

Shane Hastie: Well let's geek out a little bit on the technology. Tell what is the technology that is running all of this and doing this for what's involved in setting it

## The technology in use  [08:35]

Tyler: I was going to say the barrier to entry is pretty low. You just have to buy in Oculus and then honestly there's some time setting it up. There's going to a time commitment. And I think all of us probably spent an hour or two setting things up. So that was kind of a hassle. But once you do that, it's pretty straightforward and that's really it. I mean, Yes, Oculus and there's plenty of options. The way that we chose to do VR is using the quest two headset in particular. And this is their workrooms application, which is on the quest. And I don't think it's available on rift. So I think that you could use some of the other ones and I don't know if you can use an HTC or some of these other headsets. So it's pretty specific to Meta’s headset.

But if you're there's other applications out there that do this sort of conference room or collaborative type thing, and you could use those applications with other headsets than the quest. So the thing that I like about the quest is that it's all self contained. And so even though it's heavier and because it's got all of the processing is happening in the headset, which is limiting on the amount of processing power it can handle and the number of objects and things that it could track at any given time, which is why you would use a more powerful PC based on for doing an intense gaming or something like that. But for doing collaborative work and being able to see avatars and get that personal feeling, that's different in VR than it is in a 2d zoom, then you don't really need a lot of stuff.

But then if you wanted to do more than that, if you wanted to do in depth screen there, there's beyond just collaborating like we're doing now and talking to one another, there's the ability to you could actually work in VR. If you wanted to put up a screen and you wanted to have multiple screens and you wanted to have browsers open and things like that, you can do that. And there's different apps that do it in different ways, but it requires more set up on your part. It requires in some cases, more computing power.

Johnathan: So it's sort of like, what do you want to get out of it? Exactly. So I think one thing we probably haven't made clear is that we actually have our laptops. So these keyboards that you see on the screen in front of us are actually our keyboards, but positioned, virtually exactly where they are physically with respect to us. So the cameras on the bottom of the Oculus are actually looking at where our keyboards are physically and positioning the virtual one right there.

When we look down at our keyboard, we see a pass through to our hands sitting on top of a virtual keyboard. So your hands move at the same rate they would because it's just a camera passed through to your hands. And then we see a virtual screen in front of us and we can make that screen small or large. And any one of us can project our screen onto the front. I don't know if somebody can do that. My computer is connected right now, but Yes. So this is a projection of Kevin's actual desktop on his desk up to the screen on the front so we can do sorts of things so we can do of laser pointing and this kind of thing, pointing different things out here and that's part of it.

## Bringing customers into the space  24:42

It's a low cost investment to get another experience to your team. We actually had, since we do enterprise software, we work with other companies as well. In one case, we had a customer engineer join us in our room and kind of working on a problem together. And I remember him saying, can I just come back in the evening and hang out here? And so as a company that's working, especially a small company, that's doing enterprise software. The idea of actually having customer engineers come to your space and potentially collaborate together and is obviously an advantage, I would say different.

Shane Hastie: What else surprised you?

Kevin: So two things for me, the hand tracking is almost really good is almost really, really good. It's really good, except for when you cross them or whatever the other one is. Jon mentioned the mouth movements. So this figures out what I'm saying or how my mouth should move based on the sounds that I'm making and not what my mouth is actually doing. Those two things surprise me. Probably the most that I can point at Pat, I can give thumbs up. I can point at people and be like, Hey, do you have anything to say about that or whatever? And it's very good because there's like, I don't know what 12 cameras on this thing that just are used for tracking. Yes.

Tyler: I think the spatial audio was a big amazement too. Yes. And honestly, I really like the fact that if you're on your computer and trying to type and why you're, there's no way that you can be distracted and people don't know, people will see you on keyboard.

I kind of like it. Yes.

Patrick: On that same note, I actually like that for presenting in here because when you present on zoom, usually you're sharing your screen. All you see is your screen. If you have the little gallery thing, maybe you see other people, but presenting in here, you can really see people's interactions like would, if you're presenting an actual conference room, just those small subtleties, it's nice to queue off them.

Tyler: It could go up to the lectern and present from up here. I could see this being sort of hybrid for meetups as well. The presenters, whoever can join joins virtually and then everyone else joins a lot like you actually.

Shane Hastie: Obviously you are a tech company and getting a lot of value from that. We haven't given you much opportunity to tell us about Moderne. So this is the two minute who's Moderne?

## Introducing Moderne [27:38]

Johnathan: Sure. Yes, absolutely. So do automated source code repair. So we started focusing mostly in the Java ecosystem and infrastructure is code, but we do a big heavy list like spring boot, one to two Java, eight to 11, J four to five, that kind of thing. So think modernizing your applications. But we go and repair the source code itself in a style preserving fashion, a hundred percent accurate.

And then we do that at scale. So our open source product is called open rewrite, the core refactoring technology and all the recipes that we write to perform transformations, our Apache license. And then as a commercial company, we apply those same recipes at scale, to up to hundreds of millions of lines of source code to affect those changes very quickly across an organization. Our belief is that software used to be built from the ground up and now it's more assembled from components than anything. And that those components are moving out from under us all the time. The APIs are changing. Things are being deprecated and removed. And if you don't keep up your software, doesn't keep functioning. So we're trying to help with that.

Shane Hastie: Thank you very much. If somebody wanted to continue the conversation, ask you more questions about this, where would they find you Jonathan?

Johnathan: I think the easiest thing to do would be to just go to Moderne.io and my calendar link is a button right there on the front page. So my calendar is wide open to you if you're interested in this or anything else.

Tyler: And then the entire team is on a slack organization. That's off of our open rewrite. We go to GitHub and go to open rewrite. There's a slack channel to join and all of us are always on that. So yep. Love to see you there.

Shane Hastie: Thank you so much, folks. I really appreciated this insight into the use of VR in reality. Yes.

Johnathan: Yes. Thanks for having a Shane.

Patrick: Yes. Thanks. Thank you so much.

### Mentioned

You can keep up-to-date with the podcasts via our RSS Feed, and they are available via SoundCloud, Apple Podcasts, Spotify, Overcast and the Google Podcast. From this page you also have access to our recorded show notes. They all have clickable links that will take you directly to that part of the audio.

Style

## Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p