180 lines
58 KiB
HTML
180 lines
58 KiB
HTML
<article>
|
||
<header/>
|
||
<section>
|
||
<header/>
|
||
<p data-name="Nirav Patel"><span class="overidecolr">Patel</span><span><a data-m="8600" class="thewords">Thank you, everybody, for coming. I'm really excited you're all here, and if it doesn’t sound like it, it’s because I haven't gotten much sleep in the last few days. So, I'm here to guide you through a slice of the decision-making process and development process we went through when we were building the first Rift development kit that kind of helped us reboot VR two years ago.</a></span></p>
|
||
<p><span><a data-m="27100" class="thewords">And, you know, there was an enormous effort by the SDK team, the software team, building the SDK, the sensor fusion, this cross-platform thing that ran on Windows and Mac and Linux, and working with devs to get all this going. There's some really incredible and interesting stories around that, but that's not what this talk is about.</a></span></p>
|
||
<p><span><a data-m="44700" class="thewords">This talk is only about the hardware side of the story.</a></span></p>
|
||
<p><span><a data-m="48900" class="thewords">So building a virtual reality headset is really hard. Building 60,000 virtual reality headsets is a hell of a lot harder. We needed to go from this one-off foam core and duct tape kind of prototype with commodity components into something that we could build thousands of to get to all of your doorsteps on a really really short schedule.</a></span></p>
|
||
<p><span><a data-m="70700" class="thewords">And it was an enormous learning process for us in the company. You know, we were this tiny team of less than ten people. We'd never really built hardware before. We'd certainly never built a production virtual reality headset before, but even any kind of mass volume consumer electronics device. We didn’t have the experience.</a></span></p>
|
||
<p><span><a data-m="87600" class="thewords">So we went in with a lot of uncertainty about how to hardware development. We had a lot of risk that we had to take. And really the biggest one was being willing to ship something that was imperfect. We were willing to accept that worse could be better as long as the pieces that we let be worse weren't outweighed by the pieces that were better.</a></span></p>
|
||
<p><span><a data-m="106300" class="thewords">And building a product is always about making tradeoffs, but in this case we had to make quite a lot of tradeoffs. And we made choices around what we needed to get right on the first revision, versus things that we could defer to future revisions. It’s kind of a software-style development model where you ship out an alpha, and then update it with a beta, and then ship a final version.</a></span></p>
|
||
<p><span><a data-m="126100" class="thewords">But software is not hardware. Hardware, if you ship an alpha and it has a bug in it, you can't ship a patch to someone's doorstep. You kinda have to live with the mistake you made. So there's a lot of risk around that.</a></span></p>
|
||
<p><span><a data-m="137700" class="thewords">But you know, we took the risk. We decided that was the right thing to do. And we could've shot for perfection. We could've shot for, you know, building the perfect virtual reality headset and spending a lot of time and effort into getting it exactly right. But it’s possible that we never would've shipped anything, and certainly we wouldn't have had all of you in this room today, and the tens of thousands of people out in the world building virtual reality content right now.</a></span></p>
|
||
<p><span><a data-m="160400" class="thewords">We decided to take a different optimization and optimize for getting the virtual reality ecosystem seeded as quickly as possible for the sake of figuring out what is VR, what works and what doesn’t work in VR? And for that we needed help from all of you, which required us to take the risk and build a product really really quickly.</a></span></p>
|
||
<p><span><a data-m="179400" class="thewords">And in doing so, we accepted some glaring flaws in functionality, but we also identified some key pieces of the product that we really couldn’t compromise on. Stuff like making it inexpensive enough that anyone who was interested in virtual reality could go ahead and back the Kickstarter and get the kit and start playing with VR. We didn’t want to build the 20 or $30,000 military headset that almost nobody could effort.</a></span></p>
|
||
<p><span><a data-m="202300" class="thewords">Also stuff like making it lightweight and comfortable enough that you could actually use it to develop with. You know, we didn’t want the giant CRT headset that needs a tether on your head to prevent your neck from collapsing. We wanted something that was lightweight and reasonably comfortable.</a></span></p>
|
||
<p><span><a data-m="216300" class="thewords">And we also needed to make sure that the performance that was there to allow you to figure out, you know, what is VR, you know, basically just to give you a glimpse of what VR could be when we got it right.</a></span></p>
|
||
<p><span><a data-m="228700" class="thewords">And that doesn’t mean getting performance perfect. It doesn’t mean getting retinal resolution and getting a full field of view and getting everything right the first time around. Really, what it meant was getting a wide enough field of view and high enough resolution that you could develop virtual reality content and figure out what works and doesn’t work in VR.</a></span></p>
|
||
<p><span><a data-m="246800" class="thewords">So the low cost and lightweight and wide field of view pieces were kind of solved by Palmer architecturally in what the Rift was in itself, which was a really simple optics design — one lens per eye, really cheap and lightweight — along with a commodity tablet panel, actually. And we kind of leaned on the tablet and smartphone industry for the sake of getting that high-res, lightweight, low-cost panel in existence.</a></span></p>
|
||
<p><span><a data-m="272700" class="thewords">You know, it wouldn't have happened for VR alone. And so sort of one of the remaining pieces that was on the hardware side that we needed to figure out on our own, and we felt that it was sort of a small enough self-contained problem that we could build a team to solve it very quickly, was getting orientation tracking — head orientation tracking — done correctly.</a></span></p>
|
||
<p><span><a data-m="290400" class="thewords">And that was, you know, making sure it was accurate enough, precise enough, and low latency enough to get that sort of fast reaction time you need to feel like your head is really inside a virtual space. And just a brief detour on sort of my background and how I ended up involved in this.</a></span></p>
|
||
<p><span><a data-m="306100" class="thewords">I was actually a software engineer with no experience building production hardware, let alone virtual reality hardware. I had been hacking on this thing in my spare time, which is the Adjacent Reality Tracker. It’s a wireless, low-latency USB interfaced inertial measurement unit that was actually open-source. I released it under some open licenses.</a></span></p>
|
||
<p><span><a data-m="326000" class="thewords">And pre-Oculus I had actually handed out one of the few working prototypes to Palmer, and I think it’s probably still in his house somewhere.</a></span></p>
|
||
<p><span><a data-m="334200" class="thewords">And so this is sort of relevant in that the components were all there for the tracker that we did eventually want to build in Oculus.</a></span></p>
|
||
<p><span><a data-m="341500" class="thewords">So when I jumped in, I worked with the software team, which was just about two or three people at the time, on spec'ing out and figuring out what it is that we needed to get low-latency and accurate and precise head tracking built ourselves really quickly.</a></span></p>
|
||
<p><span><a data-m="355300" class="thewords">And so what we did was sort of identify what are the different sources of error in orientation tracking, and what were the actual performance requirements? And we figured on performance we'd just shoot for, go as low-latency as we possibly could and go as high-sampling rate as we possibly could.</a></span></p>
|
||
<p><span><a data-m="371500" class="thewords">So we built this one-kilohertz sampling rate sensor that throws as much data as possible over USB as we could get away with. And we just sort of deferred the decision of how much data do we actually need, how many samples do we actually need to do sensor fusion, for the sake of getting the thing built, and having them all there, and then figuring it out later.</a></span></p>
|
||
<p><span><a data-m="391200" class="thewords">And we also figured out, you know, what were the different sources of error in orientation tracking? And one of the big ones was calibrating the sensor. So these low-cost, commodity MEMS gyroscopes and accelerometers have all these different sources of error — scale error and cross-axis and offset errors, and all of these errors actually change over the temperature that the device is being used in, and all the errors actually change over time.</a></span></p>
|
||
<p><span><a data-m="415700" class="thewords">So the Rift that you might’ve bought two years ago is probably woefully out of calibration, which is unfortunately an issue we didn’t catch until after shipping — so, sorry about that. Uh, and there's also these weird little things that you wouldn't even think of normally, like the gravity in China is actually... or, you know, in the place we're producing the tracker in China, was actually different than the gravity in California where we we're testing it.</a></span></p>
|
||
<p><span><a data-m="440000" class="thewords">So we had to take that into account in the calibration procedure.</a></span></p>
|
||
<p><span><a data-m="445900" class="thewords">And, you know, in parallel, while we were building this thing, the tracker end of the thing, we also needed to consider taking that foam core and duct tape architecture of the rift and figuring out how to turn that into an actual mass producible product. And there were a buncha pieces we didn’t have the engineering team for, and we knew we couldn’t scale up an engineering team quickly enough of solve —</a></span></p>
|
||
<p><span><a data-m="467100" class="thewords">Like doing industrial design and mechanical engineering on the housing, optics engineering, tooling, process engineering to actually get this thing built. We knew we didn’t have the time or the team to get that together quickly. So this is one of the big places that we had to take a risk on letting worse be better sometimes.</a></span></p>
|
||
<p><span><a data-m="486700" class="thewords">We needed to find a manufacturing partner that we could lean on for solving all these problems — a manufacturing partner that could solve problems roughly and really quickly without an actual specification in place. And we didn’t actually have a specification in place because we were kind of learning the specification as we were prototyping this thing. And so we found just about the roughest and quickest contract manufacturer we could find in China.</a></span></p>
|
||
<p><span><a data-m="512000" class="thewords">And a couple of the people at the company had had prior experience with this factory, and that was actually really crucial, because the contract manufacturer themselves had to take an enormous risk on us. We were this ragtag group of less than ten people, a company no one had ever heard of, building a product that no one thought was even possible at the price point that we were trying to build it.</a></span></p>
|
||
<p><span><a data-m="533200" class="thewords">And you know, we're trying to build 12,000 of them, which was an absurdly small order for a contract manufacturer in China. So they took a big bet on us, just like we took a bet on them.</a></span></p>
|
||
<p><span><a data-m="543100" class="thewords">We handed them this foam core prototype and worked with them over a couple of months to figure out how to make this plastic kit that we could build a few hundred or a few thousand of a day, rather than the one-off foam core kit that Chris Dycus in Oculus in Irvine was making one or two of every week.</a></span></p>
|
||
<p><span><a data-m="561000" class="thewords">So for one example of how we worked with — back to calibrating those sensors — we had this one rate table in California that we were using that's sort of normally used by the aerospace industry for calibrating sensors used in planes and missiles. So there are a few problems with this.</a></span></p>
|
||
<p><span><a data-m="575800" class="thewords">One was that you can't export that into China. And the other one is that even if you wanted to, it would take you five or six months to buy one because they're all hand built by the company. We didn’t have five or six months, because five or six months was after units needed to be on all of your doorsteps.</a></span></p>
|
||
<p><span><a data-m="590700" class="thewords">So we worked with the factory to come up with an alternative solution that you can see there. Those are actually standard Stanton DJ turntables that we hacked up to be computer-controlled, and that's a USB interface tachometer that we reverse-engineered and rigged up to a computer so that we could get precision that was on par with the pretty nice turntable that we started with.</a></span></p>
|
||
<p><span><a data-m="608600" class="thewords">And we hacked together the first one with the factory, and they kind of took it from there and were able to replicate it and expand it in parallel, so instead of taking ten minutes to calibrate one like we were in Irvine, we could calibrate a dozen in parallel at two minutes a piece, and build hundreds of units a day.</a></span></p>
|
||
<p><span><a data-m="631600" class="thewords">And you know, despite being made in China, those turntables can't actually be bought there. So we kind had to get creative on getting the first few units in. Hopefully the statute of limitations has passed on this, so I can get back into the country. But I got caught at the border of Hong Kong with one of them, and I think it’s probably still sitting in customs there.</a></span></p>
|
||
<p><span><a data-m="650500" class="thewords">This is all part of building hardware as a small startup in China. You make strange mistakes and have interesting stories to tell out of them. And you go on these one-week factory trips with people like Nate and Palmer that turned into two or three-week factory trips where you start losing your mind a little bit, and it can test your patience.</a></span></p>
|
||
<p><span><a data-m="669400" class="thewords">But small contract manufacturers in China can also move shockingly quickly when you need them to. For example, you could show up one morning and get a piece of plastic for part of the Rift, and it would have an issue, and you'd point out the issue, and you'd say, "Well, we need to revise it this way," and hand it to them, and you'd expect that it would take days or even weeks to modify steel tooling and [chute] new parts and assemble a new headset for you to try out and make sure that the fix actually worked.</a></span></p>
|
||
<p><span><a data-m="696000" class="thewords">But you know, we'd come back from lunch the same day, and you'd find a rift waiting for you with a fix there, just incredibly enough.</a></span></p>
|
||
<p><span><a data-m="702900" class="thewords">And you end up with some weird, entertaining results when you don't actually provide specifications on these things. Like this picture, we actually spent hours over one of the trips rubbing different foam interfaces on our faces to figure out what the Rift should actually ship with because we hadn't specified a material.</a></span></p>
|
||
<p><span><a data-m="720900" class="thewords">And hopefully you guys enjoyed the one we did ship with in DK1, and that paid off.</a></span></p>
|
||
<p><span><a data-m="726800" class="thewords">And you might’ve caught optics earlier as one of the pieces that we chose not to solve internally. It’s another one of those pieces that we didn’t actually really specify. It’s kind of, we took one of the lenses out of Palmer's batch of headset lenses that he'd collected over time, trying to put together his DIY headsets, and kind of took it to our factory in China, and they took it to another factory in China that we actually still don't know the name of, and that factory went and measured the curve, and started tooling up a replacement tool for it, and was able to build a few hundred thousand of 'em just immediately.</a></span></p>
|
||
<p><span><a data-m="760000" class="thewords">It’s really pretty incredible, the kinds of things you can do in southern China.</a></span></p>
|
||
<p><span><a data-m="765200" class="thewords">So a normal product development process takes something like eight months to go from end to end. And that's starting with a locked specification and locked industrial design, and we didn’t have either of these things when we were doing the first Rift.</a></span></p>
|
||
<p><span><a data-m="777900" class="thewords">And you'd normally have phases for engineering validation, where you'd go and test your electrical design and your mechanical design, and make sure that you made all the right choices as you were designing the thing. Then you'd have a design certification stage, where you'd actually tool up and make sure that the parts you're chuting fit together properly, and the electronics work, and everything passes emissions testing.</a></span></p>
|
||
<p><span><a data-m="797900" class="thewords">And then you'd have production verification testing, where you'd set up your factory line and train factory workers and make sure all your testware works and your yields are high, and all the stuff functions perfectly end-to-end before you do mass production. We had to choose a different process.</a></span></p>
|
||
<p><span><a data-m="812200" class="thewords">So our Kickstarter ended in September, and the original ship date for units was December. Now, this is pretty insanely short, and actually ended up being completely unrealistic, and we're sorry we had to delay a few months, ultimately. But even the real schedule that we did go with, the one that ended up shipping in March, was extremely aggressive, and really actually pretty risky.</a></span></p>
|
||
<p><span><a data-m="833600" class="thewords">But we did it to optimize for getting units out the door as quickly as possible. And so to do that, we kind of had to design the headset, start cutting steel tools for plastic injection molding, and test headsets that were coming off of this plastic injection molding, all in parallel. And this is as risky as it sounds, because as you can imagine, if there's an error at the end of the line, you don't really have time to go back to the beginning and fix it, and fix the whole process end-to-end.</a></span></p>
|
||
<p><span><a data-m="860900" class="thewords">There's really no room to recover from error, which was especially bad, because we did have error. As you guys might know, we initially started with this 5.6-inch LCD panel in the Rift, which would've made the thing pretty nice and slick and small, kind of like the rendering that everyone stuck to from the DK1 Kickstarter.</a></span></p>
|
||
<p><span><a data-m="878900" class="thewords">But ultimately that thing ended up being end of lifed before we could even get our hands on them, and they weren't stocked anywhere in China. So we kind of had this mad rush to switch to this seven-inch panel, which resulted in this kind of big lunchbox thing we ended up with on everyone's faces, unfortunately.</a></span></p>
|
||
<p><span><a data-m="895400" class="thewords">But it also meant that that panel didn’t really match the rest of the design. It didn’t match the industrial design, it didn’t match the face interface mechanisms, and it didn’t really match the optics. We had all this dead panel area that was going to waste. But it was a tradeoff that we made for the sake of getting units out the door and getting content built as well as.</a></span></p>
|
||
<p><span><a data-m="914100" class="thewords">And we took a lotta different risk on refinements in the design and in the product for the sake of that. You know, we had design flaws, like those goofy removable eye cups that let dust in anytime you changed the lens, and things like that eye relief mechanism that annoyingly requires a quarter to adjust. No one wants that.</a></span></p>
|
||
<p><span><a data-m="930800" class="thewords">And that plastic rainbow piece around your nose in the first dev kit that cuts in if you have a nose that's slightly bigger than average, like myself. And a lens to screen distance that we actually adjusted several times during the process, even though we didn’t really have the ability to. And honestly, I'm still not sure we shipped with the right distance.</a></span></p>
|
||
<p><span><a data-m="949400" class="thewords">And we also had a few issues that we did catch, thankfully. We had batches of lenses that weren't cooling properly, and ended up with ripples in the plastic. So you'd end up with these pretty nasty-looking things in your vision. And stuff like this issue here, where after some amount of time, basically every headset would fail with permanent green lines etched across the screen — thankfully we didn’t ship with that, would've been pretty disastrous.</a></span></p>
|
||
<p><span><a data-m="971700" class="thewords">And we also had issues like gyro-calibration in the first few thousand units was actually doubling the error on almost everything, rather than eliminating it, which we thankfully fixed with a firmware update out the door, but hopefully didn’t affect anyone too badly.</a></span></p>
|
||
<p><span><a data-m="986700" class="thewords">But you know, these are all issues that we caught, and we actually caught a few extra ones after shipping. Hardware's not really like software, in that you can't ship patches, but you can correct as you go, and hope that, you know, the people who got the later units get slightly better experiences than the early ones that you had to ship to get out the door.</a></span></p>
|
||
<p><span><a data-m="1006900" class="thewords">In exchange for all of this, all these compromises we made, we got kits out the door really early. You know, earlier than actually we probably should've. [laughs] But we were able to get units on the floor on GDC in 2013, and you know, there were thousands of developers who showed up, and hopefully some of you are among them, and we were able to turn a lot of people into believers in virtual reality in a single day.</a></span></p>
|
||
<p><span><a data-m="1029100" class="thewords">Despite those hour-long lines that day. And we got some incredible early content out of the community. We got stuff like "Blue Marble" and "Titans of Space", and we were able to put on our own game jam really early, and got some incredible stuff, like "Dumpy: Going Elephants", which was one of my personal favorites.</a></span></p>
|
||
<p><span><a data-m="1046200" class="thewords">And ultimately we think the initial risk paid off. It was good enough, the Rift DK1, it was good enough at the right things, and not so bad at the wrong things, that you could use it to develop virtual reality content and get a feel for what VR could possibly be. And as you built these amazing things, you guys out there, we got this amazing boost in interest in virtual reality, and this boost in DK1 orders to go along with it, which our factory was certainly happy with.</a></span></p>
|
||
<p><span><a data-m="1071700" class="thewords">And it kicked off this virtuous cycle where we were able to hire great engineers and get great content built, and ultimately use that great engineering team to build better VR headsets, to fix some of those flaws that we kind of kicked down the road the first time around. And we did that. We built the HD prototype with higher resolution, and "Crystal Cove", and ultimately DK2, that hopefully all of you guys have, with low persistence and positional tracking.</a></span></p>
|
||
<p><span><a data-m="1096600" class="thewords">So this was hopefully an interesting, informative look at some of what it took to build the first Rift Dev Kit. But we want to give you some deeper insight too, and we're gonna do that by giving you the full design.</a></span></p>
|
||
<p><span><a data-m="1108000" class="thewords">As of today, we're happy to announce that the first Rift Dev Kit is now fully open source. [applause]</a></span></p>
|
||
<p><span><a data-m="1121400" class="thewords">So that includes the tracker firmware, the PCB and schematic, and also all the mechanical pieces. And all this stuff is up on GitHub right now, and as soon as I hit the "make public" button, which I'll probably do when I get off of this stage, it’ll be available for all of you to poke around at, so you can look at those files and see some of those design issues and mistakes that we made, and you'll see some of the patches, especially in firmware, where we kind of went in and tried to fix retroactively some of the issues that we shipped with, like that calibration issue.</a></span></p>
|
||
<p><span><a data-m="1149400" class="thewords">And this is most of what you'll need to build a DK1 equivalent headset. It’s actually not everything. It doesn’t include the panel or the display driver, partially because you can't actually source those components anymore. As you guys might know, we stopped shipping DK1s, actually, because we were no longer able to source that panel.</a></span></p>
|
||
<p><span><a data-m="1167700" class="thewords">But ultimately you guys are probably better off. Anyone who's interested, we would be better off poking around the internet, going to some of the DIY headset communities and finding alternative screens and video controllers that are readily available.</a></span></p>
|
||
<p><span><a data-m="1181100" class="thewords">So we'll jump into some of the individual pieces that we're releasing. So this is the tracker PCB. It’s actually probably the cleanest part of the Rift DK1 design, and that's thanks to one of our electrical engineers, Lyle, who really put a lotta love and care into making it look nice and perform well.</a></span></p>
|
||
<p><span><a data-m="1197100" class="thewords">The design's in Altium, which is unfortunately a pretty expensive and hard to get your hands on software package. But we also released the Gerber files that you could take directly to a board house if you want to get boards back pretty cheaply and quickly.</a></span></p>
|
||
<p><span><a data-m="1210200" class="thewords">The design is sort of hand-solderable. It’ll be kind of painful. But there are also board houses you can go to to get boards assembled pretty cheaply as well. And this is a slight modification to what we shipped in the first Rift. It actually adds a USB port for the sake of making it slightly easier to use.</a></span></p>
|
||
<p><span><a data-m="1228100" class="thewords">Otherwise, it’s identical. It’s got the same STM32 microcontroller. It’s got the same InvenSense gyroscope and accelerometers, and it’s got the same Honeywell magnetometer.</a></span></p>
|
||
<p><span><a data-m="1238400" class="thewords">So for the firmware we also actually started internally with an expensive and hard to source IDE and compiler tool chain. But we ported the project over to CooCox, which is a free IDE that uses the GCC ARM embedded tool chain, so that all you guys can get access to it much more easily.</a></span></p>
|
||
<p><span><a data-m="1256200" class="thewords">And you can actually program and debug this firmware using some pretty inexpensive ARM programmers. And actually if you aren't afraid of modifying your first Rift, if you have a DK2 or you just don't care about your Rift DK1 anymore, you can actually put a programming header on your tracker inside of your older Rift and use this exact firmware to start hacking on it.</a></span></p>
|
||
<p><span><a data-m="1278000" class="thewords">So the mechanical pieces that we released are a little bit less useful, but we released 'em just because we couldn’t find a good reason not to. Unless you have the money for production tooling, steel tooling for a Rift would probably be something like $100,000, so I don't recommend actually doing that. You don't want to use the files directly. They aren't going to be what you'd want to use for 3D printing or other low-cost methods of fabrication.</a></span></p>
|
||
<p><span><a data-m="1300900" class="thewords">But hopefully someone in the community kind of pokes around and modifies them a little bit, and makes them easier to use for that.</a></span></p>
|
||
<p><span><a data-m="1306700" class="thewords">Your best bet for, if you do want to build your own Rift, would actually be to do what we did starting out, which is use foam core and duct tape and magnifier lenses and off-the-shelf panels, and kind of hack it together that way.</a></span></p>
|
||
<p><span><a data-m="1321200" class="thewords">And there are plenty of online communities. Like there's a subreddit called /r/diyrift that links to a bunch of good instructions on cutting your own foam core shape to build a headset.</a></span></p>
|
||
<p><span><a data-m="1331300" class="thewords">So you can build a headset. But really we're more interested in seeing what people do with the individual components. Like the tracker is a low-latency, low-cost USB interfaced inertial measurement unit with the firmware and the board available right there, that you can use kind of as the base of a whole bunch of different things.</a></span></p>
|
||
<p><span><a data-m="1348700" class="thewords">And the mechanicals, they're not perfect, but there's a pretty good facial interface, we think, and there's that geometry for the lens cups that's in the DK1 and the DK2 that you can use to build little things kind of like the latency tester that we built that pop into the headset.</a></span></p>
|
||
<p><span><a data-m="1364100" class="thewords">And there's also the CAD for the carrying case if you want a cool fashion accessory — you're welcome to do that. [laughter]</a></span></p>
|
||
<p><span><a data-m="1369800" class="thewords">So ultimately, the reason that we opened all these things is for the sake of sharing what it is that we've learned. We don't want everyone to have to take the same risks that we took and make the same mistakes that we took, and have to relearn the same lessons that we took. We just want to share the things that we've learned so you don't have to do that.</a></span></p>
|
||
<p><span><a data-m="1385400" class="thewords">And ultimately, that's the reason I'm giving this talk, and that's the reason we're holding this conference. We want to share what we've learned, because we're all in this to build virtual reality together. [applause]</a></span></p>
|
||
<p><span><a data-m="1411400" class="thewords">All right. Thanks, everybody. We have time for questions, if anyone has any, about the Rift or about the open source project or anything. Yes?</a></span></p>
|
||
<p><span><a data-m="1419800" class="thewords">Okay, hold on, you got a microphone coming to ya.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1425800" class="thewords">So when are you gonna open source all the DK2 stuff? [laughter]</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1429000" class="thewords">I expected that question to come.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1431500" class="thewords">Well, here's your chance.</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1432700" class="thewords">Yeah, that is a good question. So, you know, just like with this, actually, even open-sourcing the DK1 was a debate that we had internally over the last year or so. You know, for everything that we do, we do actually discuss internally, "Is this something that is useful to open source, does it benefit the community?"</a></span></p>
|
||
<p><span><a data-m="1447400" class="thewords">And we always want to have that conversation and make sure that we're doing the right thing. So we are interested in hearing your feedback always, but I can't actually answer when we would or if we would open source it.</a></span></p>
|
||
<p><span><a data-m="1461500" class="thewords">Yeah?</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1463100" class="thewords">Can you talk a little bit about the collaborative process at an early stage, in terms of working with others in the community? And perhaps how your collaborations early on with Valve affected the technologies or the development of the product that ultimately came to market.</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1488200" class="thewords">Okay, sure, yeah. So, a lot of what we did early on was kind of identify people out in the community who were capable of taking really rough, really early technology, and just playing with it to figure out what works and doesn't work. And as you identified, Valve was one of those groups.</a></span></p>
|
||
<p><span><a data-m="1505000" class="thewords">So as we were building early foam core prototypes, we handed them out to folks at Valve. Also, places like Epic, we handed some units out to. And you know, part of it was because we were a really tiny team. We didn’t have a huge software engineering staff, we didn’t have graphics engineers, really, aside from sort of half or one, maybe.</a></span></p>
|
||
<p><span><a data-m="1524400" class="thewords">And we didn’t have game designers or anything like that. So it helped to lean on the other interested people and companies in the world, like Valve and Epic, to kind of get assistance on those parts of it.</a></span></p>
|
||
<p><span><a data-m="1537100" class="thewords">So getting units out to them, having them actually try to build content with it and see what falls out of that.</a></span></p>
|
||
<p><span><a data-m="1543000" class="thewords">A lot of that was on the SDK side more than the hardware side. But we did get feedback on comfort and face fit and adjustments and stuff like that.</a></span></p>
|
||
<p><span><a data-m="1554500" class="thewords">Any other questions? Yes?</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1557500" class="thewords">Is Oculus going to continue to focus on hardware? Or are you guys going to sort of like source out, kinda like Google and their operating system, how other manufacturers actually make the actual hardware? Is Oculus leaning in that direction or...?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1578300" class="thewords">Sure. So that's a little bit out of scope of this.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1581300" class="thewords">I'm sorry, I thought —</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1581800" class="thewords">But no, no, it’s fine. But you know, actually we announced the Gear VR partnership a couple of weeks ago. That's kind of an example of, we don't have to build all of the hardware. We just want to make sure that virtual reality works the right way. That's not to say that we're going to continue to head down one path or another. Just right now we have a project that is Oculus software and algorithms and research that's not our hardware, the Gear VR.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1614800" class="thewords">So yeah, the panel change was fun. I miss the old panel. I liked that.</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1618800" class="thewords">[laughs]</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1621400" class="thewords">How did you cope with that? And how did you find the new panel, how did you decide, "Yeah, we're gonna use that," and just accept that pretty nasty change?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1634800" class="thewords">So it actually helped a little bit that we didn’t have a solid specification or design in place, and that we weren't actually throwing away that much when we switched panels. But it was ultimately one of those things where you lean on your contract manufacturer and count on their connections to other people and companies in China and Taiwan and Hong Kong to source out, "Where can we get a $35-6 panel that's somewhere in the range of five inches to eight inches, that interfaces roughly to the video control board we were already developing?"</a></span></p>
|
||
<p><span><a data-m="1665900" class="thewords">And they come back to you with a set of samples, and you poke around and you try them all out, and we tried out a few different ones. And this one was the least bad out of the group. That's how we ended up with it.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1687100" class="thewords">Can you talk a little bit about how you see the advances in manufacturing processes, whether it’s 3D printing or etc., how you think it affects these kinds of endeavors in the future, the near future? Taking an idea from prototype to manufacturing thousands or hundreds of thousands of units in a relatively quick period of time.</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1711100" class="thewords">Sure. So just around 3D printing, we probably couldn’t have built any of the things that we built without 3D printing. You know, it was just sort of an essential part of the prototyping process. You'd come up with an idea, throw it out to a MakerBot, get plastic back, and it would be, you know, imperfect plastic, and you'd kinda have to shave it around a little bit and make the pieces glue and fit together.</a></span></p>
|
||
<p><span><a data-m="1730200" class="thewords">But it lets you test out your ideas really really quickly. You know, you don't have to have these long cycles where you come up with an idea and send it out to a machine shop and wait for parts to come back, and then fit 'em together and see if it works. You can do fast iterations, and you can even do things like, there's the lens to screen distance, right?</a></span></p>
|
||
<p><span><a data-m="1745400" class="thewords">"I don't know, let's print out 30 different eye cups that are reach .1 millimeters apart, and then try 'em all out in sequence and see which one's right."</a></span></p>
|
||
<p><span><a data-m="1753100" class="thewords">But as it goes towards mass production, ultimately it’s you want the thing that you can get repeatable and cheap results with, and I don't know if 3D printing is going to be that.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1762900" class="thewords">I mean, but given how difficult it still seems to be to get a hardware operation off the ground, do you see that actually changing in the near future, or is that something that you think is more distant? That it’s always going to be, as they say, hardware is hard or much harder than software.</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1778900" class="thewords">Sure. I think it’s always going to be hard, partially because of those things where you can't ship patches, you have to iterate and get it right, and verify that what you're doing is correct. But I also think that, especially over the last few years, there's been a lot of support framework that's been built up both in California and in southern China that kind of helps people jump into southern China, find people to work with, and find factories that can help you out.</a></span></p>
|
||
<p><span><a data-m="1800900" class="thewords">And I think that's sort of paid off recently. It’s going to continue to get more and more interesting. We leaned on that a little bit, but we actually kind of went our own way as well. [We didn’t kind of use] one of the accelerator groups.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1817200" class="thewords">So first off, releasing this open source is really awesome. I'm sure that the community will do some interesting things with it. One of the challenges with these sort of open source projects, though, is that it has some limited use in terms of where the community's already moved on to with the DK2 and everything else.</a></span></p>
|
||
<p><span><a data-m="1836100" class="thewords">So I'd like to — I'm curious on your thoughts of, with the background that the Oculus project has had in the do-it-yourself kind of community, and as a platform, how, as you're developing products here, balancing the idea of developing a hardware platform, where hardware hackers can leverage the DK2 and have access to internals, versus a product that's just kind of, "Take it as it is," you know, sealed product.</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1865100" class="thewords">Sure. And you know, there are a lotta really interesting tradeoffs around that. You know, in DK2, for example, we have this USB port on the headset, and part of the reason that we put it there was for the sake of, you know, just seeing what could people do with it? Can people come up with cool things to use?</a></span></p>
|
||
<p><span><a data-m="1879100" class="thewords">But there's also tradeoffs there. You know, it’s another exposed port, it’s geometry, it’s space taken up inside the headset, it’s weight and it’s cost. And so you kinda have to make tradeoffs as you go, and you have to figure out, you know, if you're building a consumer product, do you want something that's smaller and lighter and more compact and more reliable and more stable, or do you want something that's more open?</a></span></p>
|
||
<p><span><a data-m="1897100" class="thewords">And, you know, just personally — I can't speak for the company specifically on this — but personally I like things that are easy to open and easy to use, and easy to hack on. But that's, you know, there are all these tradeoffs involved in that. So I can't really answer the question of what we're gonna do going forward — just my personal feeling is that I agree with you that I like products that are easy to hack on.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="1920700" class="thewords">So you said you took, I guess, a random-ish kind of lens. How did you go about then calibrating the distortion and the chromatic aberration on an off-the-shelf lens?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="1930200" class="thewords">That's a good question. [laughs] So I think probably every software engineer, and maybe half of the hardware engineers who have come through Oculus in the last two years, have had a shot at trying to solve this problem. And probably, I actually see a few of you in this room as well who have tried to have shots at it.</a></span></p>
|
||
<p><span><a data-m="1947300" class="thewords">The one that we have settled on at the moment, which is maybe not... Maybe I shouldn’t tell that story. [laughs] But I will say that a lot of it is sort of coming up with procedures where you align grids and actually visually verify if the distortion that you're mapping is correct or not.</a></span></p>
|
||
<p><span><a data-m="1966300" class="thewords">Part of it is, you know, we built rigs internally with lasers, cameras and other devices to try to map the actual profile of the lens. 'Cause actually, even if you do have the design going in, the thing that you're manufacturing is not necessarily going to be exactly the same as the thing you've designed.</a></span></p>
|
||
<p><span><a data-m="1980600" class="thewords">So you want to tune for or make your distortion map to the thing that actually came off the mold, not the design that went in at the start.</a></span></p>
|
||
<p><span><a data-m="1988300" class="thewords">So I guess there are several different procedures we've done. The one that we actually use right now, I'm not going to talk about. [laughs]</a></span></p>
|
||
<p><span><a data-m="1996600" class="thewords">But we are working on other ones that are potentially better as well.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2007200" class="thewords">During the lifespan of the DK1, there was a lot of indie development and games and demonstrations. So do you find that any of this content on the software side shape or form the hardware decisions for DK2 and moving forward?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2021900" class="thewords">Yeah, I think they do. I think a lot of it is just people coming up with use cases that we hadn't really considered or didn’t think were that important going in, and then someone builds something cool, we try it out, and hey, it is good. We better take this into account when we're designing this thing.</a></span></p>
|
||
<p><span><a data-m="2036100" class="thewords">You know, stuff like if you want to use a rift in any manner other than sitting in your chair — like if you want to lie down or lean over or something like that — you know, there's hardware ramifications to that in your ergonomic design.</a></span></p>
|
||
<p><span><a data-m="2046900" class="thewords">So there's a lotta things around that.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2052200" class="thewords">Early on, it was suggested or said maybe Oculus would actually be selling the tracker as a individual part, I guess. Is the open-sourcing of that kind of the end culmination of that idea? And also, could you give us a little bit of detail on the latency tracker and its design process, if you were involved?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2068900" class="thewords">Yeah, sure. So on selling trackers individually, I don't know if we ever actually said anything publicly about doing that, but yeah, this does ultimately serve the same goal. Anyone who wants to could, you know, set up their own online store or whatever they want to do.</a></span></p>
|
||
<p><span><a data-m="2083900" class="thewords">The licenses are open enough that you can make it and sell it and do really whatever you want. So this does solve that problem. And yeah, the latency tester was another project that kind of went under a different production and development process.</a></span></p>
|
||
<p><span><a data-m="2099600" class="thewords">We actually built that thing entirely in California, or at least the first batch of 500. We kind of wanted to test out, could we build a product in California? And that's plastics and electronics and assembly, all just local. And we ended up with this $100 price point that was higher, maybe, than people were expecting, and actually higher than we were expecting internally, partially because we tried this new thing.</a></span></p>
|
||
<p><span><a data-m="2124600" class="thewords">And we, I think, actually lost money on each one of those latency testers, amazingly enough. But it was another one of those, you know, sort of go in with a rough spec, build something quickly, because we knew that, well, internally we knew that DK1 wasn't too long for the world because we were developing other stuff internally.</a></span></p>
|
||
<p><span><a data-m="2140100" class="thewords">So wanted to make sure that the tool was out there early enough that people could actually get advantage of it and develop their content and check their latency and get their latency lower.</a></span></p>
|
||
<p><span><a data-m="2152400" class="thewords">Any other questions? Yes?</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2155600" class="thewords">Why Oculus Rift? Like where did that name come from, and when did you guys decide to call the headset that?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2161400" class="thewords">That is a Palmer question, if you want to hand the microphone over. [laughter]</a></span></p>
|
||
<p data-name="Palmer Luckey"><span class="overidecolr">Palmer</span><span><a data-m="2166500" class="thewords">Hi, I'm Palmer. [laughter] So I guess the name Oculus was... Oculus as a company was decided quite some time before the Rift was even a fully coalesced product. I had been doing consulting under that name. I actually picked that name because — without much thought — because I remember when I was working at ICT, some people had been sitting around talking, and a new Ph.D. candidate came in, and somehow he ended up using the word "oculus."</a></span></p>
|
||
<p><span><a data-m="2196700" class="thewords">We said, "What’s that? What’s that word?" He says, "Oh, it means like a circular opening or window." We're like, "So like glasses are an oculus?" "Yeah." "And like if you do this, is this an oculus?" And he says, "Oh yeah, definitely."</a></span></p>
|
||
<p><span><a data-m="2209400" class="thewords">And we were like, "Wow, that's a sweet word, wow. Someone should use that for something," and I kinda filed it away. The Rift as a name also had very little effort put into it.</a></span></p>
|
||
<p><span><a data-m="2222100" class="thewords">I was actually — I remember I left someplace, and I decided while I was there, I was like, "I'm gonna do this headset thing, I'm gonna actually put them as kits on Kickstarter." It’s like, "Okay, well, let's start thinking, what would you call it? It’s like a tear in reality, a portal in reality. No, Portal's already a thing. Aperture? Oh shit." [laughter]</a></span></p>
|
||
<p><span><a data-m="2242500" class="thewords">So I was running out of options. And then at the first red light, I was sitting there, I'm like, "A rift, ooh, that's cool. It’s kinda like in 'Jurassic Park' sequels where they have the tear through 'Jurassic Park' for the I or the II or the III. It’s Rift, you know, like a tear in reality or something."</a></span></p>
|
||
<p><span><a data-m="2257900" class="thewords">And I was like, "That's pretty good." So I got home and I posted. I said, "I'm launching this project, the Oculus Rift." [applause]</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2278900" class="thewords">It’s okay, Palmer. [laughter]</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2281600" class="thewords">The Chinese manufacturer that took a risk on you guys and that you took a risk on, are you still working with them?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2289000" class="thewords">I shouldn’t answer that question. [laughs] But we did continue to work with them, and that Rift order certainly got bigger and bigger over time. And you know, it was a good relationship that we established, and we got a lot of equipment and processes in place. But I can't actually answer whether we're continuing to use them or whether we're using them now.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2316300" class="thewords">How many units are in the field currently, like DK1 and DK2, total? How many have been shipped?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2323000" class="thewords">That's a good... I think it’s over 100,000 right now, but I can't give an exact number.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2339100" class="thewords">Do you think you got lucky with your Chinese partners, or are they generally that agile as an industry?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2351800" class="thewords">I'm sorry, could you repeat the question?</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2353700" class="thewords">Do you think you got lucky with the partners that you chose for the manufacturing in China in their agility, or is that a general...?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2362300" class="thewords">Sure. I mean, so, you know, we're still doing a lot of rapid iteration and rapid design work. But it takes a different kind of process to build a million or a few million of a consumer product, as opposed to a few thousand or a few tens of thousands of a development kit that has a different set of expectations.</a></span></p>
|
||
<p><span><a data-m="2379800" class="thewords">You know, if you, as a consumer, buy something on Amazon and get a box on your door, you expect a certain level of fidelity and reliability that we honestly didn’t get with our dev kits. But developers have different sets of needs.</a></span></p>
|
||
<p><span><a data-m="2390000" class="thewords">They need a tool that they can use to develop with. So we do need and are using a different process as we head towards a consumer product. And we'll take just one more after this, and then we can let you guys go have some cocktails.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2409300" class="thewords">The biggest challenge I've found so far — I'm Greg Roberts with dsky9 — the biggest challenge I've found so far is the jarring reality from going from the mouse and the 2D screen to the goggles-on 3D experience. I'm wondering two questions:</a></span></p>
|
||
<p><span><a data-m="2424000" class="thewords">One, is there going to be an OS kind of infrastructure, so you can stay in the Rift longer without having to do fiddling in the 2D system? And the second part of the question is are the OSs going to start to recognize an HMD as a specific type of display, separate from just a 1080p flat screen, so that they have some kind of intelligence to that?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2445600" class="thewords">So those are really interesting questions that I unfortunately cannot answer. [laughter]</a></span></p>
|
||
<p><span><a data-m="2453200" class="thewords">Okay. Anyone else? Oh, one more.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2468600" class="thewords">What was the most valuable lesson you learned in that whole process that you would probably do differently, or maybe to help you, or that helped you with the development of DK2 or [CB1]?</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2480600" class="thewords">Yeah, that is a good question. I think, you know, a lot of what we learned in the first dev kit was stuff that — you know, I went over a lot of failures, and I didn’t do that to point out that we built a terrible product. I did that to point out that we had a lot of lessons learned in this development process.</a></span></p>
|
||
<p><span><a data-m="2497600" class="thewords">So, you know, as we were building a second dev kit — I don't want to go too much into the second dev kit — but we did have a better process. We had a better spec going in. We had a better verification flow, and we certainly built a better and hopefully more reliable product out of it.</a></span></p>
|
||
<p><span><a data-m="2509900" class="thewords">So it really was, making those mistakes let us learn what to do differently. Sorry, guys, I think that is... Or do we have...?</a></span></p>
|
||
<p><span><a data-m="2518000" class="thewords">Yeah, sorry, that is it.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2520500" class="thewords">I was just gonna ask if you're ready to push the button.</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2522800" class="thewords">[laughs] Okay.</a></span></p>
|
||
<p><span class="overidecolr">Male Voice</span><span><a data-m="2523800" class="thewords">I want to tweet the URL. Push the button.</a></span></p>
|
||
<p><span class="overidecolr">Patel</span><span><a data-m="2527200" class="thewords">I will actually push the button live. [laughter]</a></span></p>
|
||
<p><span><a data-m="2534300" class="thewords">Sorry. No, I'm just gonna let you know when it happens. [laughter] It says, "I understand, make this repository public."</a></span></p>
|
||
<p><span><a data-m="2543800" class="thewords">And it is... nope, I have to put in my password. Sorry. [laughs]</a></span></p>
|
||
<p><span><a data-m="2547500" class="thewords">This is what happens when you do things live.</a></span></p>
|
||
<p><span><a data-m="2556100" class="thewords">Okay, that's it, it’s public. [cheers, applause]</a></span></p>
|
||
<footer/>
|
||
</section>
|
||
</article>
|