The Changelog – Episode #285
We couldn’t afford an Oculus so we built one
with Maxime Coutté
Max Coutté joined the show to share his journey of learning the math and programming required to build an open source Oculus headset for $100. Max is 16 and lives in a small village in France. And one day he and his friends decided to built an Oculus headset because they couldn’t afford one. This show takes you through Max’s journey, how his teacher (aka Sensei) made all the difference, and how the chief architect at Oculus, Atman Binstock, advised him to make it all open source.
Rollbar – Our error monitoring partner. Rollbar provides real-time error monitoring, alerting, and analytics to help us resolve production errors in minutes. To start deploying with confidence - head to rollbar.com/changelog
Linode – Our cloud server of choice. Get one of the fastest, most efficient native SSD cloud servers for only $5/mo. Use the code
changelog2018 to get 4 months free!
Google Cloud Platform Podcast – Google Cloud Platform Podcast is where Google developer advocates Melanie Warrick and Mark Mandel answer questions, get in the weeds and talk to GCP teams, customers, and partners about best practices—from security to machine learning and more. Hear from technologists all across Google about trends and cool things happening with our technology.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform.
Notes & Links
“I’m 16, I’m all alone in France, and I just want to recreate a virtual world like they have in my favorite animes.” – Max Coutté
Click here to listen along while you enjoy the transcript. 🎧
Max, we’re pretty excited because you live in a small village in France - I’m gonna tell some of your story for you - and you say that you’re the only teenager… You’ve got a teacher who you call ‘sensei’ and a buddy that you pulled into this, and this is an open source project around VR; the headline here is “We couldn’t afford an Oculus, so we built one.” That’s the tee up of this whole story. How did this begin? What’s the back-story?
Okay, the fact that I’m really into computer science is a bit new, because when I was young I was more into art and music; when I went to middle school I completely fell in love with mathematics. I was just so fascinated about it, at the end of each course of mathematics I was going to talk with my teacher, Jerome Dieudonne, and I was always asking him for more. He was that kind of teacher that really made you feel so passionate about the subject he taught… And every single course of math that he was giving was a crazy experience, because he was opening me each time some kind – even some kind of really basic things about math, he was doing it in a way that expressed math, you can feel that he was really passionate about math.
I think after one year of learning math with him - even sometimes I was not going to the French course or stuff like that, and I was going to his course of math instead of going to the other one. After one year, I think, he started teaching me about computer science.
[04:03] So it began with math, a passion for math, a teacher who was willing to invest in you…
Then what was your entrance into computer science?
I don’t know if it’s the common path, but I asked him a question about – I think it was the evolution and growing of couples of rabbits, and what happened if you start adding some constant and some variable to this population of rabbits. He just told me “Okay, I will show you something… You can do this using this with a sheet. Just go to Google Sheets and you can do it this way, and you can see how all the population is growing, and gender variables, and basic stuff.”
Then he told me “There is another way to do it that is better, because you are not limited by the number of case and you can edit it more easily, and I think you will like it. Tomorrow just go to my class and I will show you.”
I said “Okay”, and I was super excited. He said, “Look, this is called Python”, and he started showing me Python work, and I remember that we wrote this little code about evolution and growing of population, and having fun with some variables to add, and adding other species and rules for all species, interact with each other… And then he told me “You know what, next week come on Monday in my classroom.” The next week I came, and there were other students, I remember… It was Gabriel and Jonas.
These were your buddies, these were your partners in this project…
And basically, those two guys were the other two – because you know, in France there is like a classment… Does this word exist in English?
Like a classment, somebody you go to class with?
Did you say assessment?
No, I mean some kind of – it’s not public, but there is some kind of list where you can see who has the best grades in math, and stuff like that.
It’s not public, but every student knows who is the best in math and who is the best in French…
How do they know if it’s not public? How do you find out?
Because when a teacher gives back her work, everyone is asking “Hey, what grades do you have?” and there is this kind of feeling that everyone knows that “This guy is the math guy, this guy is the French guy…”
I see… So you get a reputation.
Yeah, exactly. And me, Gabriel and Jonas – that’s funny, because Jonas was the Latin guy, because he was studying Latin, the French guy because he was better than everyone in French, the math guy because in his class he was the best in math… And basically the same for Gabriel. And by the way, the funny thing is that my middle school was a really little one, but that was the first time that I met them.
[08:13] So basically your buddies are top of the class and interested in mathematics, and your teacher, Jerome (that’s my anglicized way of saying it), which you call him ‘sensei’ - I can see why - he gets you guys going in math, and then he basically kind of tricks you into computer science, with spreadsheets, right? He basically shows you those spreadsheets…
…which is interesting, because a spreadsheet (I guess in a corporate world Excel) is very much a gateway drug for many people into programming.
But many of those people have to live in Excel and in spreadsheets and feel the constraints for years, until somebody opens their eyes and says “Did you know if you use Python, for instance (or insert scripting language here), you can do these things that you’ve been banging your head against in Excel?” and that leads people into programming. But for you, it happened almost immediately, because he teased you with Excel, and then he said “Come back on Monday and I’ll show you something amazing.” What a great teacher.
Yeah… I think it’s the teacher that had the most impact in my life.
Well, if you’re out there and you’re a teacher, and you’re listening to this, you can see probably through the rest of this call the impact you can have on somebody’s life if you invest… So keep doing that.
Yeah. I met them, and we – what is the expression…? We hit it off.
You guys hit it off.
Yeah. We quickly became best friends, and each weekend we started working on little things. Soon, sensei said “Okay, I can teach you the basics about C. I’ve just heard about this robotics contest. Do you want to apply?” Because of this, sensei created some kind of robotics club and we started competing in robotics contests.
So that was when you were 13 years old, correct? And now you’re 16, so you’ve been doing computer science by way of this robotics club for about three years.
Yeah, yeah. That was an amazing time, because we started with really basic things like Arduino. Those kinds of projects are really fun, because you can fast start working on really fun stuff and I could improve them really fast. Basically, we ended up building some really fun robots and drones and stuff like that. This is basically where we started really working a lot together.
It’s interesting, so you had some time to kind of get to know one another as friends, but then also as peers, in terms of your skillset around math and computer science and programming, and working with hardware and creating software; you’ve had some time to kind of experiment and get to know one another, and then eventually this VR thing came around. How far down the line is that? When did you start to experiment with what we’re currently talking about, which is relative?
[12:00] It was approximately one year ago. To be exact, the story is that two years ago we started working for one of the biggest robotics contests in France, and we made this project which was kind of – when I say that, people are like “Wow, this is crazy!”, but it wasn’t; it was just a really simple operating system that was connected to really basic hardware that you can use to control your house device.
For instance, it was like a little bus with pin for serial communication, and you can just plug servo motors and some solar panel, and use the servo motor to control the solar panel, and with the little operating system implement first some script to control the solar panel, or stuff like that. It was a little project, but it was really fun to make.
We’ve done some contests, and after doing it, we were like, “Okay, so this project was really fun, but now we need to find another project.” I think it was the wrong way to approach this, just sitting and saying “We have to find something else.” And doing this, we started to have some really bad ideas, like “Hey, we can build some kind of drones that we will control with this”, and some kind of fun brainstorm where you can have some crazy and really bad ideas…
We decided that we will watch again Sword Art Online, which is one of my favorite anime… Did you ever watch this anime?
Say the name again?
Sword Art Online.
No, I’ve never heard of it. Tell us.
It’s an anime where the main character, Kirito, is using VR headsets, and he is plunged into a role-play video game.
So a world within a world, hm…
We saw it and we were like, “Oh, we need to build our own virtual world and spend time after school in this virtual world” and creating some kind of VR experience of World of Warcraft, where we could spend hours and hours.
Life imitates art. You see it, you experience it… Art being Sword Art Online. You consume this art, which is this show, and then it compels you to say “I want to do something similar to that”, so VR is the next step for you, so it’s an example of life imitating art.
That’s interesting how they’re looking for the next idea, and it’s like “Hey, here’s our favorite anime.” And in this anime, the main character is experiencing his/her world via VR, and whatever the storyline is… And they’re like “Hey, we should create a VR world. Let’s do it!”
Like, how often do you do that, Jerod?
I’ve never done that. [laughs] I’ve never done that. You see, I live vicariously through people like Max, because I’m sitting here, and my takeaway so far is “I should go back to school and have a bunch of free time.” That would we awesome. That’s my current takeaway.
[16:00] Yes. But the hiccup here, with your idea of “Let’s live in a VR world”, Max, is you guys could not afford an Oculus, right? That’s the punch line there.
Yeah, exactly. Because we just sit down and said, “Okay, so what we need to do is buy an Oculus, and learn Unity and start creating war games.” But the first step was just impossible, and I remember I was like “Okay, so how can we find this money to buy an Oculus?” and Gabriel said “Well, maybe it will be easy to build the VR headset ourselves.”
And I said, “Yes, that will be easier!” [laughter] “Yes, it would be easier to build the headset”, which in fact wasn’t true, but it was a lot more fun.
How much does an Oculus cost?
It’s like 600 EUR, something like that. I’m not sure, because the price went down recently.
So in U.S. dollars it’s about $750. 600 EUR is around that much.
So you guys thought that building your own would be easier than somehow scratching together 600 EUR.
Yeah. [laughs] Because he said that and I was like, “Yeah, it’s just a screen and some components… Yeah, we can do that… Like, next week.” [laughs] At this time we had no idea about how VR works, and we just asked ourselves, “Okay, so we will build the headset ourselves, so what are the most fundamental things about a VR headset?” And the most fundamental thing about a VR headset is that it tracks your movement and your position. Knowing that, we just said, “Okay, so we need a component that will help us knowing the position and the movement of the player.” And it turns out that the most efficient component to do that was using a magnetometer, an accelerometer and a gyroscope.
So we bought them and we started trying them and seeing, “Oh, okay, so this is how this component works, this is how this one works…” And after one weekend playing with them we just said to sensei, “Okay, so we have these components, we are able to get acceleration and absolute position using the magnetometer, and now we want to use these to have the position of the player. How can we do that?”
So this is the original teacher, going back to like “Hey, we’ve gotten so far… We’ve kind of hit a bottleneck on how to actually know where the person is in the world”, and now you’re back to math, finding out algorithms that help you figure out what the person’s placement is and whatnot, is that right?
Yeah. We said that, and he said “Okay, I will teach you about antiderivatives.” So we started learning about antiderivatives, acceleration and proper acceleration, and then a bit about Quaternion… And we started going each time a little deeper about those concepts in math, and I think we spent like two months learning about this math concept, and dig into them, and do some exercise, and really just focus on the math side.
[20:15] Then we said, “Okay, this is how it works, so now let’s find some good open source library to do that”, because it seems that it’s something that has already been done a lot of times. We programmed in Python, we created some funny things with antiderivatives and stuff like that to have the position, and we even created some Quaternion to alert angles and a lot of funny algorithms. Then we started implementing this. That was the first part - implementing those algorithms, which was not as hard as learning the math concepts.
So Max, the first step in building this thing was to figure out how to manage all the math required to detect location, and distance, the physics and all that… It’s pretty cool your teacher was basically using this VR headset project as a laboratory to teach you all kinds of math concepts, even ones that I haven’t heard of before, like Quaternion, which apparently he’s an expert in… And I’m just now finding it on Wikipedia, saying “Hm, interesting…”
…that that actually exists. He’s an expert, and you’re just finding it out…
Right. So that’s pretty cool. What was interesting to me about that was what you found out as you would go and learn the math, apply it to the code, is that that was actually easier to implement and to get done than you thought it was going to be… Which is always great, when the light bulb moments happen. Tell us the next step. Once you get past those difficult concepts, you have some things working in the code - where did you go from there to get to a finished product?
[23:52] Yeah, he taught us those math concepts in a way that was really useful; he gave a course, then we did some exercises to be sure that we really understood the concept, and then we tried to code everything that we think that we understand, just to be sure that we really master the concepts. We’ve done this with the first component, the first accelerometer, and after having played with it and implementing some little thing, we switched from a component that is the MPU, and that of DMP, that does all the calculation and send us the Quaternion.
To be honest, we could have directly buy this component and use it with some documentation, and build the headset without knowing anything about the math concepts behind it, but we felt like we need to understand the math black boxes inside of these components. And I really feel like it was necessary to understand this math; if you don’t know about those math concepts you can build the headset, you can improve it, you can even do better than us, you can improve it in a way that we haven’t thought about, but we learned those math concepts just because it was a pleasure.
The component that we bought, the MPU - basically, it does all the calculations for us, because… In fact, that will be a little bit hard to explain with the language barrier, but I will try. What an accelerometer does is that it only detects acceleration. What is acceleration? If you akek a graph and you look at position and time, and you draw the function of position and time, and you search for the derivative function of position by time, you have what is called the speed. And if you look for the derivative function of speed, you have the acceleration. To go back to the position, you have to do two antiderivatives on the acceleration, to have the position.
Doing that, there is some drift happening because of all antiderivative works. Those two derivatives took a lot of calculation. Inside of the component there’s a part that is specialized only to do that. The core headset only asks the component for the result of this computation, and the component sends us the Quaternion, and we basically send them to the game.
So there is on your readme - which we should include this image in our show notes… A nice picture of all the components laid out there on the table. The one that you’re talking about, the accelerometer, is the MPU, correct?
[27:54] Okay. So you learned all of the math to do that, and you understand how to calculate acceleration, but at the end of the day am I hearing you right, that this MPU is basically giving you those readings for free?
Yeah, the MPU sends us the angle in Quaternion, and what we learned is how to do this. But the MPU already does this.
Okay. So that’s nice.
Maybe just to throw that in there, too - we’ll go over costs later, but that’s a dollar, based on your components list? The MPU is a dollar?
That’s a lot of functionality for a dollar.
Yeah, exactly. If you can get that for a dollar, why wouldn’t you?
Yes. This is intense math… Sensei is a master, of course, but it’s not easy math.
Easily packaged math, though… You can package it up and sell it for a dollar; that’s called leverage right there. Pretty cool. Great, so keep going… Get us to a working deal, because we wanna go through the components list and the pricing, and I wanna hear the story about - was it Jonas? That got some discount products by talking to some manufacturers, and stuff. So keep going down that path, and get us to where you guys finally hit pay dirt, or finally had success.
So after having done this, we started working on the game rendering parts. We’ve done this in Unity, because the actual SDK is only compatible with Unity. But we will release one for Unreal soon.
After some time working on the headset and having created the first prototype, we discovered that we could help democratize VR. We had a lot of fun, but what we’ve done wasn’t useless, and it could help some other people to democratize VR. The thing is that, like every other technology, the two main aspects to democratize VR I think are price and content. For example, if you look at the mouse, the democratization of the mouse is due to those two things - the price of a mouse, I think it went from $300 in a Xerox lab, to something like $15 in Apple’s one. So that is for the price aspect.
The other aspect for democratizing something is the content. For the mouse, it’s the fact that it became feasible to create gyro application to use the mouse inside of them. And for VR, it’s a bit the same. The first step for the democratization of VR is the price, and I think we could help on this, because our headset is a lot more affordable than an Oculus. And for the content, we try to create some kind of easy SDK to let developers create their game easily.
Let’s start with the component prices, since you said the first part of this democratization is price, right?
So let’s talk about what you’ve come up with, because the pitch and the description of the project is “Build your own VR headset for $100”, which as we said before, an Oculus in U.S. dollars is about 750 at the time of recording… Let’s talk about the individual components, because you do list them out, and we can add them up and we can see where the price all comes in. Because $100 is quite a lot cheaper than $750.
What all do you need? What are the different parts and how much do they cost?
The first one is the Arduino Due, which is basically the core of the headset. The Arduino Due is a bit expensive, it’s like $10 for a Chinese clone. But we chose this one because when we decided to put the project open source, we wanted to have a component that was easy to use and easy to understand for a lot of people. Most of the people know about Arduino and they are comfortable with this, so even if an Arduino Due is a bit expensive, it was some kind of obvious choice to make the headset more easy to build.
It’s not only expensive, it’s also currently sold out, if you go to Arduino’s website. The $37,40 one is currently sold out.
Yeah, but we don’t buy the official one because they are too expensive…
So the knock-offs you’re saying are about $10.
Yeah, for a Chinese clone.
A Chinese clone, $10. Okay. So there’s $10. What else goes into this?
Then there is the MPU, which is $1 on eBay. Then – I just noticed that the link to GitHub is the wrong one… But there is the screen, which is the most expensive part. The issue with this part is that the price varies a lot.
You’ve gotta do some shopping.
And is it the 5.5 because of the housing hardware that you’ve chosen? Like, if you wanted to do a 7-inch screen, you could do a 7-inch if you could manage that, but you’re spec-ing it 5.5 based on your kit…?
Yeah. The funny thing is that some people on the fellowship – we created a server on Discord which we called The Fellowship of Open VR…
The thing I always say is it’s like The Fellowship of the Ring, but without Sauron and with Sensei. [laughter]
You guys are full of the references, I like that. So The Fellowship of the Open VR. This is a Discord group that you have going?
I think it’s linked down at the very bottom of this readme too, and it does say that - “Chat with me and the fellowship.”
So if you wanna hang out with Max and the fellowship, check out the Discord link at the bottom of the readme.
Some people bought some 4k screens, which are a lot more expensive than 2k screens… But they were like “Yeah, but I can choose the spec of my headset, and it’s like–” and some people buy screens with lower resolutions, and some find some middle spec screen for like $15… You have to do some shopping. It’s a bit hard to find the latest screen that you want.
Have you found a difference in like the resolution playing a part in the quality of the experience? Like, is the less than a 2k, or even a 4k screen - does it make a difference since your eyes are so close to the screen?
[35:57] I haven’t tested a 4k screen, but the comparison between full HD and 2k, I think - and this is why I recommend this screen - that a 2k screen… I’m sorry, I’m searching the American expression for it; like, when something has the right price.
Oh, it’s… What is that word? It’s affordable.
Yeah, I was searching for another one. I have the French expression, but not the American one.
Say it in French. Let’s hear how it sounds in French.
Yeah, in French we say “cela vaut le coup”.
I think that means “perfect price.” I think that’s how it translates, “the perfect price.”
Best bang for your buck, that’s what I would say.
There you go, Jerod. So a 2k screen…
Yeah, so 2k is a bit more expensive, but this price comes with a better resolution, and this better resolution makes the experience really better.
And the final component - at least from what I can see here - is Fresnel lenses.
Yeah. I just noticed that, once again, Fresnel lenses are – the one that we’re working on is $3, but you can find a cheaper one. The reason why we recommend this one is that this is the one that we bought and we are absolutely sure that there is no issue with them. And those are built in Europe, I think, so the time travel for them is really different than if you bought them from Hong Kong. But you can find some Fresnel lenses for $1.
So I’m doing the math over here on the low end and on the high end, just following along… And if you go Arduino Due and go high-end, and you go with the most expensive available 2k screen on Aliexpress, you’re only hitting about $150, high-end. Low-end, if you go to a Chinese clone and you find the cheaper one on Aliexpress, you’re looking at like maybe $55 US. So even cheaper than you guys are advertising is if you can get at the best deals.
Yes, but those kind of deals are – we just want to be sure that… We don’t want to sell it too much.
Sure, I get it. I’m just pointing out that maybe it’s even better than we think it is.
What he’s saying too is that it’s accessible, and there’s a lot of people out there who are just like “I just wanna tinker, and I don’t wanna tinker and spend $1,000 on tinkering. I just wanna spend maybe $100 or $200”, or whatever in Euros, like…
Yeah. I think that’s pretty interesting, that you can have some fun, tinker a little bit, play with some open source, and it doesn’t have to cost you a ton of money. It’s something you can do with kids, in the case of sensei a student… You can have some fun with this, and it’s accessible to people.
So on the second side of your democratization of VR you mentioned content. So you said you can help with price, and we have a list of parts here, and instructions, and you can put it together yourself and it will cost you anywhere from $50 to $150 US. What about the content side? How are you bringing that to more people?
Yeah, actually we will release soon a big update to Relative and the core of Relative, but the current version came with FastVR, which is an SDK for Unity that helps you create VR games really easily, and the SDK is really easy to understand and to customize.
[40:09] I’m not sure that it will increase the number of VR games, but truly hope that some developers will be interested in the fact that this SDK is fully open source, and it will somehow help to create VR content. But actually, the most interesting thing about Relative is that it’s compatible with Relative games, and soon we will release the update that will make Relative fully compatible with SteamVR What it means is that you will be able to play some Oculus or HTC games with it.
…which could help a lot, because if there is no content that is Relative-compatible, it’s okay, you just launch the little software and then you can run some SteamVR games. And if you’re a developer and you don’t want to use the SteamVR technology but you want your games to run on Relative, you can compile your games to be native compatible with Relative.
Very cool. So if I’m understanding this correctly, FastVR is your open source SDK, that works with Relative to create VR games in Unity.
So that will help people to create content for it, right?
Yeah, I hope.
You hope, right? In addition to that, you’re modifying Relative so that it will work with SteamVR.
Is that via some sort of emulation? How is it accomplishing that?
In fact, thanks to the fellowship, because they help a lot… What we do is there is a very cool project, OSVR, that is an open SDK for VR headsets. OSVR can be connected to SteamVR thanks to some plugin, and we just found a way to connect Relative to OSVR. And by connecting Relative to OSVR and connecting OSVR to SteamVR, it works.
The reason why we’re having this conversation, Max, is because 1) it’s a cool subject, and your story is super cool, but on the flipside, you’ve open sourced everything, and through this journey you got to level up your math skills, make some new friends, play with some cool new tech - potentially even say it’s a bleeding edge tech - and in a lot of ways innovate, but then you’ve also gotten to meet people from the Oculus team, and I believe it was – Atman is how you say his name? From the Oculus team?
Yeah. From Oculus…
The chief architect - I mean, that’s a big title. And that person said “Hey, nice to meet you. Cool thing, you should open source it.” Can you kind of wind that out into the real story? What was that like? How did you get to meet that person?
Yeah, how did you meet him?
In fact, the real story is a bit more complicated…
It always is.
So the real story is that I became obsessed with democratizing VR, and I was wondering what is the best way to do that. One of the things I thought was to create a Kickstarter and setting up a company. And I was like, “So I’m 16, I have no idea of how to launch a company”, so I cold-emailed Oussama Ammar, who is the co-founder of The Family, which is an investment firm in Europe, which is the European equivalent of Y Combinator… And I just sent an email saying “Hey, I’m 16, I’ve built my own VR headset with my best friends and my math teacher. Can we meet?” In less than one minute, he responded “Yes, see you in Paris.”
And I was like, “Whoa…”
And this day was funny because I’ve chosen three people - two billionaires, and the co-founder of this investment firm - I’ve sent them a mail, just like “Who knows what can happen? I will send them this, and I risk nothing”, and they responded.
All three of them?
Yes, but only one of them accepted to meet me. He just said, “Yes, meet me in Paris.”
Well, how do you know where in Paris to meet, and when, and how?
It was in the local of The Family Paris, and I just went there with my father. We arrived, and we said “Hi, I have a meeting with - I think he is one of the CEO’s of the company.” They said, “Okay. How old are you?” “Oh, I’m 16, and I just got back from high school.” And they were like “Wait, we’re looking at his schedule and we don’t see anything with you. What is your name?” I said, “I’m Maxim. You know, he said yes to the mail.” And they were like, “No…? He doesn’t have anything planned.” I was like, “Oh, what happened?”
Then Oussama Ammar arrived, and he saw me and he said “Hey, are you the high school guy?” I said, “Yes.” He said, “Come on.” He came, he said hello to my father, hello to me, and we started talking.
[48:08] That’s so cool.
We just sat and I told him the full story about sensei and my friends, and he listened really carefully to the story, and he told me “Listen, Max. I know it can seem to be a good idea to start a company, but I’ve done the same when I was 16, and it was not a good idea to start a company at this age. I really want to help you, but I don’t think it’s a good idea to set up a company. But what we can do is I can bring you to Silicon Valley and I can introduce you to some people that will give you good advice about what to do with this technology.” I was like, “Oh, awesome. Yes.”
What he did is he started inviting me every weekend so we can talk about the project, and he was giving me some advice, and he was convincing me that creating a company wasn’t a good idea. I remember the first lunch with him I was so excited, and he told me about his story, and I was really impressed. He told me “Do you have a passport?” and I said, “Yes.” And he said, “Do you want to meet the CEO of Core?” and I said, “Yes…” He said, “Oh, cool. And what about meeting the CEO of Oculus?” and I said, “Yeah, that could be fun!” He said, “Okay, so let’s say in one month, tell your parents that I will take you to Silicon Valley.” I was like, “Okay…”
My mother was like, “Who is this guy?” So my mother met him, and all my brothers and my family, and they said, “Okay, you can go with him.” Then we went to Silicon Valley and he introduced me to a lot of really friendly people, and it was an amazing moment. I understood that it wasn’t a good idea to start a company, and that I can help by putting the project open source. And it was Oussama Ammar who made the introduction to Atman Binstock.
And Atman Binstock gave you this advice, to open source it?
Yeah. But to be honest, there were three people who gave me this advice: Oussama Ammar, Atman Binstock and Dorion Carroll, who is VP of product of Amazon Mobile. I’ve met her in Silicon Valley with Oussama… And I remember this because it was really moving. He told me his history, and he started explaining me all this code, even if it’s not perfect, not the same as an Oculus, that even if it’s not as good as Oculus, there is obviously some people somewhere on Earth that will find that this code is cool, and that this code will obviously help at least some people somewhere.
[51:54] Right - if it’s not Oculus… Obviously they’ve got many engineers behind that, maybe several senseis, you know? So they’ve got something up on you, obviously, but that doesn’t mean it’s not valuable; that doesn’t mean what you did isn’t worth something to the world.
And let me also add that I’m in agreement around the starting the company. I think you received great advice all around, because – and we don’t necessarily wanna focus all about your age for this conversation, because there’s merit to what you’re doing regardless of your age, but… I mean, you’re 16 years old, you’ll have your entire adult life to start companies and go down that path. There’s no need to rush into that. I think the end result of what you’ve accomplished is amazing, and the fact that it’s open and freely available, and you’re following this desire to democratize VR, and you have this group of people in the fellowship - it’s so cool what you’re doing… And none of that would have happened at the scale it’s happening at if you kept it proprietary and tried to sell it.
Absolutely. And you probably would have driven your parents crazy… Er. [laughter]
No… My father was in IP. [laughter] So he was like “Do you want to open source it? Okay, that’s cool.”
[laughs] So tell us about your sensei’s thoughts, and his feelings through all this… Because this is an amazing story, if you’re flying to Silicon Valley, rubbing shoulders with all these important technology people, and getting this advice from the chief architect of Oculus… It has to just tickle him to have inspired this turn of events in your life, that have led to such fortune in terms of your education and experience. Has he been involved all along the way?
Yeah, he really tried to help us… I don’t know if this word can be used, but grow.
As a person, and not only in the scientific way but he taught us – for example, some of my best friends I’ve met thanks to sensei, because he not only created that kind of perfect ecosystem for learning math, he also created a tabletop role-play club. And we went to this club and it was really amazing to be with – by the way, sensei was the master of the game on the tabletop game… It sounds a bit strange. [laughter]
Does that mean he was the best, or does that mean he was in charge?
No… You know, when you play a tabletop game there is a – I don’t know the word in English…
Yeah, MC. Exactly.
The Dungeon Master.
Dungeon Master… Now, Jerod - okay, so everybody listening can tell that you grew up in the ’80s, just because you said that. We had that game when we were kids… Dungeon Master.
You’re showing how out of touch you are, because that game is still very much alive, and people still very much play it.
They still play it?
Wow… Okay, I am out of touch then. [laughter] I didn’t know that DM didn’t mean Twitter DM’s, or something… It was Dungeon Master.
Operator overload, but yeah, it definitely still means Dungeon Master.
Well, let me say this, Max… First of all, the next time I’m in France, I’m stopping by to hang out with you and sensei and the whole team, because I would love to just play tabletop games with you guys…
That would be awesome.
[56:00] It sounds like an awesome scenario. And secondly, I wanna point out what you say in the section about open sourcing, just to get back to the story with Atman Binstock giving you the advice, and this whirlwind tour of rubbing shoulders with bigwigs… You decided to open source it, and what you say - and I think we’ve all had this feeling, when we go to open source something - is that you deleted all the code and you started rewriting it from scratch, when you decided… Tell us about that.
[laughs] Yeah, I remember… It was on an Uber with Oussama Ammar in San Francisco, and I said, “You know what, Oussama? I will open source everything”, and he said, “Cool. What is the first step?” “Deleting all the code.” [laughter] And he was like, “What?! What are you doing?” and I was like, “Yeah, there are some mistakes in the code, and it will be easier if I delete it.”
It was because the first version of the code was really raw/rough, and the new one is still a bit rough, but it’s a little bit better. And yeah, it took a little bit of time to rewrite everything from scratch. To be honest, I’m not sure if it was really worth it to do this, because for the moment I’m not really sure that it has been helpful… I hope, but I’m not sure.
Well, the industry experience with a big rewrite in software development is that it’s rarely ever worth the effort, even though it always sounds like the right idea when you’re in a certain circumstance… Rewriting everything from scratch rarely pays off. Everyone once in a while it will, but rarely it does. In your case maybe it was a small enough project at the time, and the investment in rewriting wasn’t too much… I don’t know how many weeks or months you spent rewriting, but yeah, we often find that the thing that we come up with the second time either never finishes, or is better, but not worth the 6-12 months that it took…
Yeah… I don’t feel like it was that much needed to do that, but it was an experience.
For sure, for sure. Well, tell us where you’re going from here. You have the fellowship, you have your buddies… I’m assuming you’re still in high school, but you have this goal of democratizing VR, and you mentioned the next step, which is really getting it to run the Steam games, and that will be a big step. What else do you? Have you been thinking down the road, and where you’re gonna take Relative from here?
I think there are two issues with the headset. The first one is that the headset is a bit ugly, and the second one is that it’s a bit hard to set up. The second one is maybe not a big deal, because for the moment we focus on developers, and for them I think it’s easy to build the headset… But even knowing that, I want to improve the setup of the headset to make it a little bit more easy. And after doing this, what we will do is try to improve the design of the headset, and then some optimization in the core headset.
[01:00:05.00] For the moment, the roadmap is the following - we focus on SteamVR compatibility, then creating all the resources to help everyone create their own headset. We plan to shoot a video to release a wiki and some resources to make the building up the headset even easier. Then if you have any suggestions, you can join the fellowship and give us some idea. For the moment, the roadmap is short-term; it’s focused on SteamVR and making it easier to set up.
On that note, I was thinking about the casing it’s in; you may have said this, but I don’t see it in the list, so we didn’t go over it, but I’m curious… Because you like to go into different routes that you’ve never gone before and learn new things; have you considered maybe 3D printing your headset, rather than buying a kit, or anything around printing parts?
The main case has been 3D printed.
One step ahead of you, Adam.
Yeah, he is. It seemed like it was 3D printed; that was what was curious… Because it’s not in the list.
Is it not on the list of components/
Yeah, it’s under Building the hardware, I think.
Yeah, there it is. It’s under Building the hardware.
Yeah. Some people told us that they feel like the headset is a little bit too big, so we will try to improve something on both the design…
Well, look at that right there, Building the hardware - he’s got all these files I’m assuming are in the repo, for 3D printing that part, too. I missed that. Did you miss that, Jerod?
I’ve read it, but I didn’t mention it.
You didn’t comprehend that it was part of printing the hardware?
I did, but I guess I just didn’t focus on it in my mind.
I was just thinking, like what’s next to do here? I was like, “Oh, let’s tinker with printing your own parts.” Done it!
Anything further down the road? I mean, you mentioned short-term, which is integrating with Steam and offering that. You’re young… Do you have a plan to kind of keep this vibrant for many years? Is this just a fun project? I know you’re taking advice from smarter people than Jerod and I, but where do you see this going in like two years, three years from now? Do you plan to keep working on it until it’s just done, or what’s your plan?
[01:02:54.00] Oh, for me it’s absolutely not done. The long-term goal is to have a simple website where you can just click and buy your own DIY kit, like for example you buy some 3D printed parts on 3D apps, some components… Making the process that much easy that even non-technical people can do it. And because the goal is democratizing VR, all the work on maintaining this project will be to always keep updating the projects as VR evolves. If something new came out in VR, we will try to replicate it in an open source way. That is the long-term goal of this project - having a community that when the company is releasing something in VR, we replicate it in open source and we publish it.
For example, a lot of companies are working on pay tracking. That is one of the things that we will work on. And when something new will come out, we will update the project to always try to democratize all the elementary things about VR.
Very cool. Well, thank you so much for coming on this show and just kind of sharing the story. I mean, it’s such an interesting story… You have such a rich life already at a young age; I can’t wait to see what you do when you’re Jerod or I’s age… So exciting.
Thanks a lot for having me. That was really cool.
Our transcripts are open source on GitHub. Improvements are welcome. 💚