The Stack Overflow Podcast

Here’s what it’s like to develop VR at Meta

Episode Summary

Over the last few years, Mark Zuckerberg has made it clear that he wants his company to be at the forefront of building the Metaverse, and that to do it, the tools and technologies underpinning VR and AR have to be open source. Facebook has seen great success with open source projects like React, so what does it mean, tactically, for developers who want to contribute to their VR ambitions? On today’s podcast episode, we’re joined by Cami Williams, Engineering Manager for Platform and Reality Labs Advocacy at Meta. Cami has done the full FAANG tour with engineering roles at Apple, Google, and Amazon. But let’s be real, her most important job title has been our co-host Cassidy Williams’s sister.

Episode Notes

Cami and Cassidy take us down memory lane, sharing how they got into computer science together, hosted a web series (and still podcast together sometimes), and overlapped at two jobs together.

We discuss the technologies being used to build in/for the Metaverse like  Horizon WorkroomPresence Platform, Insights SDK, and of course, React

Cami shares how object and scene recognition work in VR.

Cami reveals a family secret — so listen up if you want to know how to beat Cassidy at board games.

Blackbishop wins the Illuminator Badge for answering and editing 500 different questions on Stack Overflow.

Follow Ben, Matt, Cassidy, and Cami.

We’re taking a break for the Thanksgiving holiday so no podcast this Friday…have a good one, and see you next week.

Episode Transcription

[intro music plays]

Ben Popper Hello, everybody. Welcome back to the Stack Overflow Podcast, a place to talk all things software and technology. I am Ben Popper, Director of Content here at Stack Overflow, joined as I often am by my wonderful colleagues and collaborators, Cassidy Williams and Matt Kiernander. Hi, y'all. 

Matt Kiernander Hello. 

Cassidy Williams Hello! 

BP Cassidy, we have a super special guest today. We're keeping it in the family. Your sister, Cami Williams, is joining us from Meta. Hi, Cami. 

Cami Williams Hello, everybody! Hey, Cas. Nice to see you again. 

Cassidy W Oh, hey. I'll call you later.

BP So the two of you grew up together working on computer science and technology, do I have that right? And even worked at some companies together? Tell us a little bit about this sisterhood of the traveling programmers. How did that happen?

Cami W Oh my gosh! Let's make t-shirts.

Cassidy W I kind of like that actually. I promise we didn't just code. We didn't code until later in life. We did other things. 

BP Of course. I’m not accusing you of anything. 

Cassidy W We played with Lincoln Logs. We went outside occasionally. We touched grass. But then we both ended up majoring in computer science and we've overlapped at a couple places. We worked at a startup together called Clarify and at Amazon together. 

Cami W I forgot we worked at Amazon together. We were having our little pre-convo and I was like, “Yeah, we've worked together in the past but haven't really collaborated much since then.” 

Cassidy W Are you kidding me? 

Cami W We fully worked at Amazon together. I totally forgot. 

Cassidy W Yeah, we ran a live streaming show, Cami. 

Cami W Yeah, wow. That was a lot of fun that live streaming show. But yeah, when we were growing up, granted Cassidy is my older sister and I wanted to be cool like her. “Cool,” quote unquote. So we definitely favored tinkering more, Legos, K’NEX, all that good stuff, Lincoln Logs. We really liked creating different things. I think growing up we created across our living room this giant Lego ski lift that ran by itself and then the Lego men would like–

MK Whoa! 

Cassidy W That was a feat of engineering.

Cami W Yeah. So we were those kids. But then Cassidy grew an affinity for being on the computer, I guess, sooner than me and discovered how to actually build websites and games and stuff. And for me, when I was in high school trying to decide what I wanted to do the rest of my life, I was like, “Well, I guess I'll try out what Cassidy is doing and see if I like it.” And I did, which was kind of cool and somewhat of a happenstance. And so that kind of set the tone for the rest of our careers, I guess. 

BP That's so fun. But you did part at one point. This is not like the Jedi and the Sith.

Cassidy W That's true. We haven't been totally attached at the hip. 

BP The great divide of front end and back end. What pulled you in opposite directions do you think? 

Cassidy W Angst.

Cami W Yeah. I mean, Cassidy and I in college both interned at big companies and when we were working at Clarify, I'll admit for me it was a lot as a first job out of school. It was an amazing product and amazing company, amazing culture. I really enjoyed it, but it was kind of too much for me personally. I wanted more hands-on technical mentorship as my first job outside of school.

Cassidy W It was less than 20 people, so it was a pretty small startup to join right out of school. 

BP Gotcha.

Cami W It was a lot, but it was fun and I learned a lot and I would totally do it again and recommend that company to anyone. But so we lived in New York and our commute was also really annoying, and so I was like, “Okay, what is a big tech company I can go to that has some good mentorship opportunities where I can learn and grow and use that as a launchpad into whatever’s next, and what is on the train line that is closest to us?” And for me that was Google, so I applied to Google and I went there, and that was also a really great experience. And for me it worked, it clicked. That environment was one that I thrived in more so than the startup environment, and I can't necessarily say with confidence that today I wouldn't consider a startup. I think startups are great. I just haven't been in that type of operational environment in a long time. 

Cassidy W She's almost gotten all the FAANG infinity stones though because she's gotten Google, Apple, Amazon, Microsoft, and now Meta. 

BP Wow. 

Cami W Yeah, I'm wearing purple because I am almost Thanos. But yeah, that's what worked for me so I continued to stay on the big company track and Cassidy has not. 

BP If we don't stop you before you work at Netflix you could just flip us all out of reality? Is that what you're saying? You must be stopped.

Cassidy W Yeah, she's going to snap the tech industry.

BP Tell us a little bit about the job you're working on now, because I know it relates pretty closely to how developers can interact with Meta and VR and AR and stuff like that. Tell us a bit about the work you're doing these days. 

Cami W So I am a Manager of Platform Advocacy at Meta, and platform advocacy is Reality Labs and React Technologies, which again, Cassidy, hello. No, but our Developer Advocate Team started in Meta Open Source. I could actually think about what are some technical solutions that we're able to do with Meta Open Source that I haven't seen elsewhere. And so starting in that space, we've grown now to different product areas. Our team supports Family of Apps, Reality Labs, and so for me working on Reality Labs, it was a shift mostly out of just interest. I started in ML on PyTorch and wanted to dive into VR because I'm definitely a generalist at heart. I don't like staying in the same technical field for too long, and so I never did VR and I wanted to dive into that. And it was also just an interesting time making that switch because it was a few months before the entire company changed their name to Meta. But also prior to that point, and this isn't gospel, this is just kind of me reading in between the lines, the temperature that was Oculus and the VR developer community was that it was very much so an expert field, quality over quantity if you want to look at it like that which is a little snarky, but by no means was the developer content or offering catered to the masses. There was kind of this high barrier to entry. And so it was that connect last year where suddenly the narrative shifted and it was really exciting because I was able to help build that narrative where it was like, “We want to build the Metaverse in the open, so please anyone and everyone come help us do this, help shape what the Metaverse can be, but also build really cool things in VR.” And so tying back to open source, we see a lot of that similar philosophy in the open source space, and so bringing that over to VR was one of the first things that I helped to do. And so now the team that I work with is continuing to help build and shape content for developers around the SDKs that are being released by Quest, but then also React is one of the most popular open source projects for Meta, and potentially in the industry, and that audience helped build and make the product what it is. And so it's no coincidence we've kind of paired that Reality Labs messaging with a tried and true successful product. We want to take the things that have happened and we've learned from building React as a very successful open source project with the community and bring that into Reality Labs. And so the teams that I currently support are helping us do that, helping us maybe build the bridge for mobile and web developers, but more so identify things that went really well in that space and apply that to some of the principles that we have in Reality Labs.

MK I'm very curious, because you mentioned that you are a generalist at heart, and with your experience moving from what you were doing before into virtual reality, what kind of skill set, what kind of challenges and technical workarounds did you have to kind of learn about progressing into working in VR? I'm assuming, as far as I'm aware, there's Unity and Unreal which you can do VR and AR development in, but developing SDKs and stuff like that, can you run through the process of your day to day work, how you're developing things, what you're doing? 

Cami W Yeah, definitely. So one of my management philosophies, –

BP I’m only laughing because when you use that joke voice it's exactly Cassidy's joke voice. It really gets me. My mind is boggled right now.

Cami W One of my management philosophies is that as a developer advocate, I don't think you have to be an expert in any particular technical field but you do have to be an expert in learning. And so when I started at Meta, or even at my previous role as a developer advocate at Amazon, I kind of just take six months to dive in and learn not only how to build for VR in this case, but then also what a community member has to deal with when they're also learning. And it's one of the benefits of being a DA where we can act as that hacker zero, developer zero, and we can just say, “Okay, I'm going to shut out all these internal teams,” and approach this problem just like any external community member would. And so that's what I did when I first started learning VR development. I took Unity courses, Unreal courses, looked at some YouTube tutorials, read the blogs that we were publishing on a daily basis, for six months and then compiled my learnings and brought that back into internal teams. And that's kind of what my day to day today even looks like, and it's somewhat cyclical where if we take that six months to learn and then follow up with another six months to a year of publishing what we've learned in a way where I think people can potentially learn it better, build product feedback, help to shape the roadmap in a way where it does reduce that barrier to entry and then rinse and repeat. And a lot of people I think at other companies do it on a feature basis. So for example for me, I work on Presence Platform, so we look at the stuff that was released with Presence Platform today and are spending our six months today learning, dissecting, diving in. And then in the next six months, you can expect to see new content and courses from our team. And again, it's kind of all at a different cadence but that's just kind of how I operate. So my day to day is to make a long story even longer, meeting with these product teams, figuring out what's on the roadmap, all of that too is aligned with products and features that want generalists and hobbyists or people from different developer audiences to be working with their products. Myself, building prototypes with that offering and then working with the engineering and product teams to hopefully make it better based on my feedback, if it makes sense, and then creating content around it. 

BP So when you say presence I think of two things. There was a new high end Oculus headset that looks very cool. There's always new avatar stuff. Now they have legs! Yay, legs! But presence is talked about a lot– that's one of the key things. Like, I feel like I'm in the room with this other person. I'm kind of getting the social cues and that means a video call is so much richer and more immersive, so much more intimate. If I'm calling my grandparents across the world or for a work setting, you mentioned you work in Horizons, it's just much nicer to be able to do. So when you say the Presence Platform, can you enumerate for us kind of what that covers? 

Cami W Yeah, so Presence Platform is a suite of SDKs that developers can use to create that immersive experience for our customers, bring that into their VR apps. So it's currently in three parts and it is constantly being developed. So the first part is the Interaction SDK. So the Interaction SDK is essentially hand tracking everything that you can do with your hands not using controllers. So currently we recently revamped the Interaction SDK. Now developers can have built in gestures that we give them. The easy ones are rock, paper, scissors, ASL. You can also use the SDK to define your own hand poses and gestures. And this is especially the piece that we strongly want to convey that we need developers to help us build. Obviously, everybody's hands look different. The way you speak looks different with your hands, and potentially the way you would hold a pencil looks different. I hold my pens weird. I hold it like this. That's not normal. 

Cassidy W Yeah, you get hand cramps. 

Cami W Yeah. So using, again, that open source philosophy, let's build this together, helping to identify different hand poses. The Interaction TCK allows you to not only build those different poses and gestures but also share them. So that's one part. The second part is the Voice SDK. Voice is not new, and for me it's kind of my bread and butter because I came from Alexa. I don't know if any of you have her in the room. I'm sorry if she's going off. 

Cassidy W We got headphones on. We're okay.

Cami W Okay, cool. But it's kind of taking those principles that we've learned from the other voice technology out there and bringing that into the VR space. And again, this is something that we need to build together because people say things differently and to encapsulate the whole vocabulary of the world in one. ML model is not possible and so we need people to help us build those intense voice interactions with us. If you say ‘hello’, you can say, ‘hey’, ‘howdy’, ‘how are you’, ‘aloha’. That's not something that we expect a developer to list out through their VR app, so let's build that together, let's develop that ML model together. And then the last piece is the Insights SDK, and Insights is the coolest. It is also the one that is currently still being worked on because it is pretty new technology. With this new headset it's just going to be that much better. But Insights is essentially bringing anything in your physical world into your VR space. It's kind of the mix of VR and AR. It does object recognition and scene understanding, where if someone puts on their headset and they enter into their office, the developer can then with the customer's permission identify the desk in the room, and maybe they bring that desk into their virtual space or they overlay it to make it look like a log, I don't know, something. Or if you are for example in your living room, put on the headset with the Insight SDK and you can identify the TV in the room and then use the passthrough API to build a VR space around everything except for the TV. So you can potentially sit on a cupcake and candy canes all around and watch your TV.

[music plays]

BP Auth0 by Okta has your back for all things authentication. Their developer center makes it easy to get started with Identity. Identity tutorials, code samples, rich identity tools, and an active developer community. Visit today at developer.auth0.com/stack. Make sure to check out that link and you'll let them know the podcast sent you.

[music plays]

BP You mentioned before that you sometimes use that for work and to me that is such a cool idea. Like, I can see my computer desktop but I'm sitting in a rainforest and I've in that way shut out all these distractions. I think that is such a neat application potentially. 

Cami W Yeah, so this is the technology that internally we're using within Horizon. So there's Horizon and there's Horizon Workrooms. So when I step into Horizon Workrooms, we can see the Presence Platform at play with the Interactions SDK. I can use my fingers to type, I don't have to hold onto controllers. We have the passthrough APIs so I can see okay. My monitor is in front of me, my keyboard and my mouse, and then we can also use voice where I can say in the application, “Hey, take me to my next meeting. When is my next meeting? Start a chat with Matt, Ben, and Cassidy.” All of that is kind of built in and so you're seeing the stuff that we're putting out there for developers actually being used in some of our most successful VR apps.

MK That would be bizarre to be doing this podcast every week in a different virtual environment. That would be quite cool. 

Cami W Yeah, it is cool and especially now that avatars are getting better it's going to be even cooler. 

BP I like it a lot. So I guess from your perspective, thinking about all the announcements and the stuff that you've been working on, if developers are interested in dipping a toe into this world, where would you suggest they start? Because I was impressed also by some of the announcements that Meta made about how many games are active on the platform and how many of them are earning significant revenue. I know a lot of people who have really bought into that VR fitness world. I think that's a great use case. So if somebody said, “This stuff, I feel so passionate about it. This is the future. I’ve got to try building an app.” Where would you suggest they get started? 

Cami W Yeah. I think it's really important that developers start learning this technology. And I'm not a tooth teller, but we can look at the recent history of the tech industry and for us, we like to look a lot at the mobile community, like I said, with React and what we've learned from that. When we think about mobile development pre-iPhone or whatever, it wasn't really a thing, honestly. It was really just web development but made smaller. But then iPhone was introduced. There was this call to action for developers, “Hey, come build for this marketplace, there's immense potential for you to make money.” It was those initial apps created by these large corporations where it was like, “Okay, I'm going to make a mobile app that's the exact same thing as my webpage but smaller.” If you want to zoom in, you have to click a button. If you want to scroll, you have to click a button. But it was indie developers and hobbyists, people who created things like Angry Birds for example, that incorporated physics into mobile apps. They redefined what interactions were, so now suddenly to zoom in it wasn't clicking a button, it was pinching to zoom. And now you see little babies at the airport doing that and it's like, “Oh my gosh, that little baby is playing Angry Birds like a pro, no big deal.” Now it's become a part of our innate understanding. So fast forward, we're thinking about VR. There are principles from web and mobile that we're applying to VR, but there's still that level of friction I think that if you play any VR game you probably can feel. It's like, “Cool, but I'm not fully immersed. I definitely know that if I take off my headset, I'm not in Santorini. I'm in cartoon Santorini and no one has lakes.” We are hoping that indie developers help us create this next level deeper of interaction, of immersion. There's so much potential to help create this because literally no one has done it yet. We're maybe starting to see it, but it's wide open. You can build whatever you want to build and chances are it doesn't really exist right now. And it doesn't have to be this fully in depth Call of Duty, first person shooter VR game. One of the most successful apps on the mobile app store for a long time at the beginning was a flashlight app. Easy, right? It doesn't have to be this $39.99 app. It can be a 99 cent app. So if you want to learn VR development, this is Cami talking, this isn't Meta talking. This is Cami. I love the resources that Unity has. Unity’s learn portal– I'm going to name my first child Unity. So good, really amazing. They have a really great course set where you can not only learn Quest development but you can also learn about the other headsets. And at the end of the day, I'm a developer advocate, I'm not a salesperson. I'm going to tell you to build for Quest, but also there are other marketplaces out there that are also important to learn. Quest is the best right now, but you want to be able to build your app to scale. So if you're interested in learning, start there. But if you want to be on this cutting edge and help us to find what the Metaverse is, definitely look at Presence Platform, stay up to date on the news that we have being released with Connect. We're going to have several more pieces and case studies that are going to be released in the next couple weeks. Join our conversation and our discussion because we need help. At the end of Mark's big state of the union, whatever he called it. 

BP Yeah. State of the Metaverse. 

Cami W Right. He literally said, “We want to build this together. We want this to be open technology, not closed technology.” And that's what we're thinking right now. Maybe we're wrong, help us figure that out if we're right or wrong. But truly, it's an invitation to you. Again, we're at these humble beginnings with VR. There are some really great titles out there that have made a lot of money and proven that consumers are interested in VR. Let's take it to that next level together and define what VR can actually be. 

MK One of the things that I'm very curious to get your take on is that you mentioned mobile really kind of revolutionizing the way that we interact with web and mobile, everything else, and for me at least, that was because the iPhones, even though they're expensive, they're accessible to kind of a mass audience so there was already an ample market there. And it was a very functional purchase because people were using it to go on phones, everything else. It was great. And where I see a potential hurdle with the VR stuff is that you need access to a headset, a gaming computer with specific GPUs and all that kind of stuff. And so I'm curious between the adoption phase of this, my initial impression was that augmented reality, something where a functional day to day basis would be kind of like where the mass adoption kind of came into play. And so I'm curious between AR and VR and how accessible these things are, what are your thoughts around that?

Cami W I think you're right. I think AR is the future. Because at the end of the day, what sounds cooler? Going into a VR landscape and playing Pokemon. or putting on glasses, contacts, whatever, and being like, “Oh my gosh, there's a Snorlax in front of me! I'm going to catch it!” That sounds amazing, right? And I think when we think about the Metaverse or when you look at the visuals that were in Connect, a lot of the captivating ones are AR. If I want to play chess with Cassidy, I can go into Horizon and currently play chess. But I think the future would be, “I'm looking in front of me, she's right there and we are playing chess and I can knock over all her pieces if I want to.” 

Cassidy W When you lose. 

Cami W Hah. Probably. I'm not that good at chess. So I think that's right. I think we're working towards that and we're seeing some really great innovations in the AR space with Spark AR. We're starting with VR though because I think that's where we can put forth a lot of the resources needed to achieve these experiences. Quest is standalone. You don't need to have a computer which is great. The graphics are getting better. This new headset, it is pricier, it's a Quest Pro and so everything is kind of upgraded. But the idea is, let's dive into the hardware to be able to achieve the experience, and then as there are hardware improvements and evolutions we can use that to eventually merge into this AR space.

BP I mean I'm no prophet myself, but I can almost foresee that there will be a price cut on the older one, which is now 399, and it'll go to something even more affordable, and then the pro version will be for folks who want to develop on it, always need to be on the cutting edge or actually working with it and stuff like that. 

Cami W Just like mobile phones.

BP So I mean, $200 is a lot less. What you need to do is, the way mobile phones get you is with the phone plan where you don't pay upfront. You need some kind of VR plan. 

Cami W Yeah, who wants that? 

BP Yeah, exactly. That's how they get all those units moved. I want to say thank you for coming on and ask you the most important question, which is what don't we know about your sister that we should know? Because we podcast with her all the time. She's a great co-host. She's a new CTO. What should we know about Cassidy that we don't know yet? No, I'm just teasing. You don't have to out her.

Cami W I have something. One of the things that bothers me the most about Cassidy–

MK Straight to it. 

Cami W When you want to play a new board game with Cassidy, you have to tell her the rules like three times. You can see as you're saying the rules of the game, her attention just starts to wander.

Cassidy W That's just my brain!

Cami W Cassidy is absolutely, based on my experience, the worst at understanding the rules of a board game the first time she plays. Eventually she gets it, but the first time it is the most aggravating thing. 

BP I'm going to put that in my back pocket for later.

Cassidy W I did learn a board game yesterday on the first try of rules, so I'm learning.

Cami W I don't believe you.

BP Don't believe it. 

Cassidy W I know, but still.

[music plays]

BP All right, everybody. Thank you so much for listening. As we always do, we want to shout out a member of the community who came on and helped to spread some knowledge. Today, I want to shout out Black Bishop who won the illuminator badge, meaning they came on and edited and answered 500 different questions. This badge has only been awarded 165 times, so it is quite the rare honor. Thanks to Black Bishop for contributing so much to the community answering and editing. We really appreciate you. All right, everybody. I am Ben Popper. I am the Director of Content here at Stack Overflow. You can always find me @BenPopper on Twitter. Or email us with questions and suggestions, podcast@stackoverflow.com. If you like the show, why don't you leave us a rating and a review. It really helps. 

Cassidy W I'm Cassidy Williams. You can find me @Cassidoo on most things. I'm CTO at Contenda and I like memes. You should send me some.

MK I'm Matt Kiernander. I'm a Developer Advocate here at Stack Overflow. You can find me online at @MattKander.

Cami W Thanks again, everyone. My name is Cami Williams. You can find me on Twitter @CWillyCS, or just go to Cassidy's profile and I'll probably have liked some of those tweets. Definitely check out our Connect content that we released. Check out the Presence Platform and if you are interested in getting started in VR, have built something cool in VR, or want to have an interesting conversation about the future, whether it's bleak or full of rainbows and unicorns, feel free to hit me up.

BP All right, everybody. Thanks for listening and we will talk to you soon. 

MK Bye! 

Cassidy W Bye!

[outro music plays]