Virtual Reality is Here, in your Browser (Liv Erickson) – Full Stack Fest 2016


>>Hello, everyone. So I’m going to make a confession. This is the most nervous I’ve been before
I got on stage. Which is why I’m at the beach right now, and
it’s quite lovely. You all should join me. But in reality, I’m right here. And I actually could see when I was walking
on stage, which is how I didn’t fall on my face. But I would like to go ahead and start taking
a picture of all of you and me on stage with my 360 camera as a kind of prayer to the demo
gods that my presentation works today. So I’m going to go ahead and hold this up. Everybody smile. Awesome. So as Bruce said, my name is Liv Erickson,
and I am a virtual and augmented reality developer evangelist. And if that sounds like one of the coolest
job titles ever, it is. My job is basically getting to play with virtual
reality technologies and then teach everybody else how to build with them. So I’m going to go ahead and set this down
here, and I’m going to get right into this. A couple of days ago, I found this tweet that
a friend of mine tweeted saying a 2D website must fit on a computer screen. A 3D website can contain life size mountains
you can actually climb. And I thought this was one of the best 140
character representations of the VR Web and its potential here. Because we have been building websites for
specific sized devices for quite some time now. And with virtual reality, you get this ability
to build entirely new worlds. So with that, I decided I’m not going to put
you guys into slides for this talk. Virtual reality is here in your browser, and
this is a virtual reality application running in the browser. As I said, my name is Liv Erickson, and I
built this site about a week and a half ago now to talk about the VR Web, how it is here,
and how you can get started building for it today. The previous talk did a really awesome job
of explaining some of the things that I had not even seen in terms of bringing 2D interfaces
into the browser, and I’m excited to try out a little bit of that and play with it myself. But what I’m going to talk about today are
some of the frameworks that exist to bring the 3D content into the browser, specifically
for VR is that if you do want to start building these virtual worlds in JavaScript, you can
do so. So we’re going to start on a little journey. I like telling stories. VR is a very storytelling medium. And I’ll start before I even get into the
VR portion of this with my story. So I get asked a lot how do you get into VR? How did you get into VR? And I got into virtual reality by doing something
that I would never give advice for, which is saying basically drop everything that you’re
doing and take advice of someone on a YouTube video that you watch and completely change
your career path to do something that sounds amazing. Which is exactly what I did. I moved to the Bay Area in 2013 searching
for something that I was really, really passionate about and all of this kind of life changing
technology that I had heard about in school but had never really had a chance to build. So I was watching YouTube, and I was watching
a video right around the time that the Oculus Rift developer kit two came out, and I had
this lightbulb moment where wow this whole world seems brighter now that I know about
this technology. I need to start working on this now. And that was probably my roommate turning
off the light switch somewhere else in the apartment but it felt a profound impact on
me as I began to felt about virtual reality and how it interacted with computers. So to get started, I’m going to talk briefly
about virtual reality devices as they stand in 2016. How many of you are already building virtual
reality applications today? Okay. Four or five. How many would kind of like to depending on
what I’m about to show you given the tool set try playing with VR and build it yourself? Yes. All right. Awesome. So like I said I’m going to go really quickly
through this first part. I’m going to talk about VR devices. So the first part of VR device that I mentioned
is really quickly the one that you see here that I’m wearing on my head. And that is a mobile virtual reality device. This virtual reality device is powered by
a smartphone particularly using the gear VR right now because I have a Samsung phone. But you also see this in VR head seats like
the Google Cardboard now day dream devices where all of the interactions are powered
by your phone and the sensors that are a part of that. On the other end of the spectrum with VR devices
today is they’re generally available to consumers is desktop devices and these are things like
the Oculus Rift. Where all of the processing power is being
done on the computer instead of the headset. You’ll have some of the different positional
sensors including the headset to figure out where is the user looking.>>Hello, everyone. So I’m going to make a
confession. This is the most nervous I’ve been before I got on stage. Which is why I’m
at the beach right now, and it’s quite lovely. You all should join me. But in reality, I’m
right here. And I actually could see when I was walking on stage, which is how I didn’t
fall on my face. But I would like to go ahead and start taking a picture of all of you and
me on stage with my 360 camera as a kind of prayer to the demo gods that my presentation
works today. So I’m going to go ahead and hold this up. Everybody smile. Awesome. So
as Bruce said, my name is Liv Erickson, and I am a virtual and augmented reality developer
evangelist. And if that sounds like one of the coolest job titles ever, it is. My job
is basically getting to play with virtual reality technologies and then teach everybody
else how to build with them. So I’m going to go ahead and set this down here, and I’m
going to get right into this. A couple of days ago, I found this tweet that a friend
of mine tweeted saying a 2D website must fit on a computer screen. A 3D website can contain
life size mountains you can actually climb. And I thought this was one of the best 140
character representations of the VR Web and its potential here. Because we have been building
websites for specific sized devices for quite some time now. And with virtual reality, you
get this ability to build entirely new worlds. So with that, I decided I’m not going to put
you guys into slides for this talk. Virtual reality is here in your browser, and this
is a virtual reality application running in the browser. As I said, my name is Liv Erickson,
and I built this site about a week and a half ago now to talk about the VR Web, how it is
here, and how you can get started building for it today. The previous talk did a really
awesome job of explaining some of the things that I had not even seen in terms of bringing
2D interfaces into the browser, and I’m excited to try out a little bit of that and play with
it myself. But what I’m going to talk about today are some of the frameworks that exist
to bring the 3D content into the browser, specifically for VR is that if you do want
to start building these virtual worlds in JavaScript, you can do so.
So we’re going to start on a little journey. I like telling stories. VR is a very storytelling
medium. And I’ll start before I even get into the VR portion of this with my story. So I
get asked a lot how do you get into VR? How did you get into VR? And I got into virtual
reality by doing something that I would never give advice for, which is saying basically
drop everything that you’re doing and take advice of someone on a YouTube video that
you watch and completely change your career path to do something that sounds amazing.
Which is exactly what I did. I moved to the Bay Area in 2013 searching for something that
I was really, really passionate about and all of this kind of life changing technology
that I had heard about in school but had never really had a chance to build. So I was watching
YouTube, and I was watching a video right around the time that the Oculus Rift developer
kit two came out, and I had this lightbulb moment where wow this whole world seems brighter
now that I know about this technology. I need to start working on this now. And that was
probably my roommate turning off the light switch somewhere else in the apartment but
it felt a profound impact on me as I began to felt about virtual reality and how it interacted
with computers. So to get started, I’m going to talk briefly about virtual reality devices
as they stand in 2016. How many of you are already building virtual reality applications
today? Okay. Four or five. How many would kind of
like to depending on what I’m about to show you given the tool set try playing with VR
and build it yourself? Yes. All right. Awesome. So like I said I’m going to go really quickly
through this first part. I’m going to talk about VR devices. So the first part of VR
device that I mentioned is really quickly the one that you see here that I’m wearing
on my head. And that is a mobile virtual reality device. This virtual reality device is powered
by a smartphone particularly using the gear VR right now because I have a Samsung phone.
But you also see this in VR head seats like the Google Cardboard now day dream devices
where all of the interactions are powered by your phone and the sensors that are a part
of that. On the other end of the spectrum with VR devices today is they’re generally
available to consumers is desktop devices and these are things like the Oculus Rift.
Where all of the processing power is being done on the computer instead of the headset.
You’ll have some of the different positional sensors including the headset to figure out
where is the user looking. But you also get a lot more power that you can throw behind
your experiences to get more realistic looking applications and you would get a whole bunch
of added bonuses like room scale V R and be able to track someone as they’re walking around
in a space and controllers and different peripherals that you can use there.
So looking at this, big question is, like, okay. Well, why? Virtual reality, you know,
is a — it’s kind of new technology that’s been around in several different iterations
over the past several decades. And I often hear kind of, like, okay. Well, I’m not a
gamer. I don’t know if VR is for me. And I like to talk about the different applications
of VR in a few different ways. One being that at its core, virtual reality is a very, very
fun technology. I genuinely love what I do, and I have a hard time separating out my hobbies,
other than my he will have I say impersonation hobby, I love what I’m doing when I’m building
for VR because it’s a fun new way to interact and engage with the world around us. It’s
changing the way when we think of computers and operating systems and human computer interaction.
For the first time we’re able to put ourselves inside of these applications that we’re building
instead of using applications that we’re building and, to me, that’s really interesting when
you start to think about different opportunities that that presents for how we’re able to do
things like visualized data and understand different systems around us. And also changing
the way that we interact with each other. I came on stage today because it was weird
because you didn’t know what I was looking at, if I could see you. But when you start
to look at things past one person in isolation standing on stage, virtual reality starts
to show a lot of promise for how we’re able to relate to each other.
So this is an example that I like to show when I talk about this. This is me from about
three or four months ago on vacancy visiting my parents. This is my mom and my dad and
my sister wasn’t able to come on this trip with me to visit my parents. We live on opposite
sides of the country and for the first time having the ability to take a 360 picture let
my sister transport my sister from California to North Carolina to my parents. And I get
happy about this because I get to visit these moments in time where I’m able to share memories
from not just a picture and experiencing something but what it actually felt like to sit in a
given location. So I’ve taken a lot of pictures from the conference today that I’ll post up
online shortly. Some being from the audience and some being from backstage, so you could
even put on the headset or even in your browser as I’m about to show you, walk around and
see what it was kind of like to experience this very event in someone else’s shoes.
So we’ll move on from that. So when we start to think of virtual reality,
we wonder — okay. What type of technologies are available to me? And why does the browser
make a really good place for virtual reality application anyway? So there are a lot of
benefits to the Web, which I think everyone in here is probably familiar with. You have
the ability to build sites that an application — and applications that don’t really care
what they’re running on. They just work. They’re able to interact with different kind of connected
first atmospheres where you’re building things that rely on data components and the Web is
built around networking and inner connections based on devices, data, and people which translates
well into virtual reality once you start looking into that. You have in the VR world, you know,
a lot of new concepts around what an application or an experience even is. If something is
a six minute piece, is that an app? Is it a movie? Is it a video? How do you distribute
that? And as we’re trying to figure out kind of as a whole what reality experiences are,
we’re also faced with kind of some interesting distribution problems like is this something
that goes in the Appstore even if it’s only six minutes of content? And the Web removes
those barriers. It removes the need to build applications to work on specific devices.
You know, I can build a VR application that doesn’t care if I’m on a Google phone or desktop
VR headset. You saw building VR on the Web a little bit previously, and I’m going to
dye deeper into two things. One how the heck does browser allow you to build I do have
reality experiences in the first place? And two what are the tools and the libraries that
are enabling people to build virtual reality experiences today? And what do they look like?
I mentioned this is an example of that. So my wonderful graphics programming that was
standing. I’ll dive into the specifics of how I built one of these in just a couple
of minutes. But first it’s important to look at the Web VR API because that’s underlining
all of this, and it’s some really, really cool technology. So at the root of everything,
the Web VR API is — and it just hit 1.0 a couple of — I’m going to say weeks ago. And
it’s at the experimental exploratory API that ended up landing in some major browsers shortly.
By the end of the year I think in some of the beta builds in different Chrome and Firefox
got VR at 1.0 I want to say, like, two weeks ago. And what it does is off loads all of
the information about how to represent a device that an application is running on, and it
gives that to the browser and says I don’t want to think about this. You do it for me.
And then the browser will then look at the device that it’s running on, and it will abstract
whether it’s a desktop VR device or a mobile VR device away from the developer and the
user and say can I get positional data from this device? Yes, I can. It’s a phone. It
has a gyroscope in it. Look at a VR — desktop VR headset, and I can pull out the information
about the positioning of that headset at a given time. It has parameters to look at the
system and say, hey, I found other sensors that are tracking the entire room. Do you
want the data of the person as they’re walking around?
And a developer can apply this to my application by calling regular camera transforms within
my 3D scene. So for this particular application, my browser
doesn’t care that it’s running on a headset, it’s just going to work. It will say you don’t
have a VR device attach, I’m not going to let you enter.
And because of the API and the Ecosystem being built around it, there are tools that are
coming into play that make it easier in these 3D environments. If you’ve never done VR development
or graphics programming before, one of the hardest parts about getting, you know, kind
of familiar with virtual reality development isn’t anything specific to the devices themselves.
But it’s a lot more of a challenge to start thinking about your applications and your
interfaces in 3D — three dimensions instead of two. So a lot of tools are evolving around
this that are helping make that easier. So this here is A-frame. A-frame is a project
from the Mozilla VR team and that’s what I use to build this website. And A-frame is
a mark up style language that uses an entity component system to write reusable and highly
flexible components to your application and to your environment that sits on top of one
of those JavaScript layers that you heard about in the previous talk to do 3D graphics
rendering. So you have already here this markup style
language that you can use if that’s more comfortable for you when you’re learning to do VR development.
And you also have different JavaScript frameworks like Babylon, Three.js. And all of this kind
of wraps together to create these little scenes. So this scene in particular is something that
I put together very quickly, so it’s very low resolution, I don’t have any high polygraphics
in here. But the technology all exists, and I’ll show you some better examples of that
in just a couple of minutes. So let’s continue on looking at what this looks like. And I
won’t spend too much time here because you’ve already seen a little bit of this in action
in the previous talk. But this is a sample application that uses Three.js to draw objects
onto a scene. Now, I work for Microsoft, so I sometimes use a little program called excel.
And I’m not a spreadsheet, so I have trouble looking at data sometimes and saying, yes,
this data makes sense, I can pull that information out right away. And viewing 3D data and 3D
charts in 2D just isn’t the way that it was meant to be. It’s not really intuitive. I
could go into a lot more depth about mixing kind of 2D and 3D devices and U I’s and interfaces,
but I think that that’s another 30-minute talk in and of itself. But the basics of what
this application does is it’s doing a couple of things with Three.js and WebGL. So the
first several lines, and I think that that’s a little hard to read, so I’ll put the code
all up on GitHub, and I’ll show you some links for where you can find that later. So you’ll
just have to trust me for now that this is what it does. You have a renderer that’s drawing
to the page. You have your WebGL Canvas, and you have your scene. And none of this is really
special to VR. You’re creating a perspective that you can use to kind of look at your 3D
environment. And we have a couple of different settings that we apply to that camera. The
only three lines of code that’s specific to VR in this Three.js scene are a controls object,
which will apply to the camera and say if the user turns their head, this needs to be
represented in your application too. The second one being a VR effect, which is what’s going
to render this side by side stereo scopically if my phone screen is this big, it’s going
to a lot different than rendering something on a headset that’s much larger than that.
So it helps calculating the screen size of the VR device that you’re using and figuring
out how to make that comfortable and look right for the user.
And then you have VR manager that switches in and out of VR mode, depending on when the
user triggers that. One of the really interesting things about Web VR is that we have a very,
very rich Ecosystem of Web applications today. And it’s unlikely that one day everyone in
the world is just going to switch to VR and that’s that. It’s really important then that
we have applications that can switch in and out of VR mode like if you’re browsing something
at a store, and you want to see it up close or move it around before you purchase it.
That’s something that will be really beneficial to have this flexibility with that isn’t really
there in other types of applications for virtual reality.
The rest of the code up on the screen is just general plane JavaScript that’s creating a
couple of cubes, and it’s reading information from an excel graph to then generate the size
of those cubes and render them into this screen. So that looks like this.
It does not look like that. I’m going to go ahead and switch over to the application itself.
You get a demo early this time. So what this is suppose to show is the application
running on the mobile device so that you would be able to see what that looked like running
split side by side on a phone. So what I’m going to do instead is show how it looks,
like, in a regular browser. But since I don’t have a VR headset attached to this computer,
I’m not going to be able to run that. So — all right. That doesn’t want to work either. So
we’re just going to play the video instead. Why you have backups for your backups.
So you can see here that this is a regular website, I use Bootstrap to render everything
kind of nicely, and I have a filchers where you can pass in an excel spreadsheet. And
this particular spreadsheet that I chose is one that represents the cost of living in
different cities in the U.S. San Francisco has a really big problem right now with housing
and affordable housing in particular. And I wanted to create something that visually
showed differences between this and other cities in the U.S. So this is actually a relatively
simple project like I said. It’s only using three lines of specific code to VR itself.
And it will run on a mobile phone just as smoothly as it will run on a desktop site.
Of course everything loads after I do the demo, so I’ll go ahead and see if I can make
this a little bit bigger. And I’ll show you a little bit more of the code behind this.
So most of this is just using the ASP.net files to do all of the front-end rendering.
But the interesting part comes into our scripts when we look at our page scripts file. So
this is going to be where everything is happening. Aha. Here we go. Now you can see the code
which was a showing earlier. And it has this function Canvas where everything is being
rendered to the screen. I already talked a little bit about how it’s just using Three.js.
We have a camera here that we create, and then we apply VR controls to it. We have our
VR renderer here, which you saw in the video applying to the mobile phone. And the VR manager.
And then the rest of it is just calculating the objects that we have. It’s creating these
different cubes out of that information by giving it a geometry, it’s a cube material.
In this case a normal material, but you could change this depending on the esthetic of your
own application. We set the position and the sizing of all of those cubes. And then we
create some text here to put that in front of the cubes so you know which cities you’re
looking at when you render all of that. Once we do that, we’re adding our could you
be. We create a plain for the ground, reposition that plain, and then we switch and handle
the rendering based on whether or not we’re in VR mode.
Web VR uses a special version of the request animation frame that lets you hit the frame
rates required for virtual reality. It has to be better than 60 frames per second, which
is one of the biggest areas that people are looking into for Web VR is making it perform
enough to run with that kind of performance. So looking in here, I added a couple of little
move behaviors with the camera and if the position of the camera goes less than zero,
aka if you walk off the edge of the platform, it will reset you.
So coming back to what that looks like in this application, I’m going to go ahead and
show you the code behind the presentation that I wrote.
So this in contrast to the demo and the application that I just showed you is using A-frame to
render everything instead of just writing it in pure Three.js. So what this is doing
is we’re loading in the A-frame JavaScript file. We’re loading in an extra text component
so that we can add the text into the scene without using the geometry itself. And then
I have another page component scripts here that handles the interactions of things in
the browser. And then I have a font file in here as a JavaScript file because that’s what
the text component uses. So the first thing that I do here for my A-frame
is I create this A scene element. Everything that uses the A-frame markup style uses the
— elements with the A tag. So you have A scene and saying everything in here is A-frame
related and should be rendered here as such. The next thing we’re going to do is set up
our assets. And the assets are the things that we’re going to be interacting with inside
of our scene. So I started off the presentation with a tweet, and I just have several images
in here that I’ve been using to kind of fake having UI elements or 2D elements in my scene
until I can find or make some pretty nice models of the headsets themselves. I was just
putting them in pictures. But you also have the flexibility of loading in OBJ files or
other 3D models to make complicated scenes. I also have the video that came in and did
not play that I brought in. And then I have my font mix in, and that’s really standard
kind of asset loading in here. You also see that you kind of are starting to recognize
a pattern here with how these elements are created. So mix in, I’m able to define that
I have a font, and I can just assign this mix in to any of the text objects that I have.
I could also assign it to any other objects that I have that wasn’t text. But since a
cube doesn’t have a font, it doesn’t make a lot of sense. But you can create these mixing
components to change-up how you want your application to look and not to have to be
rewriting the same components for everything. Once I’ve loaded in my assets, I’m going to
start building my scene elements. So instead of having to come in and bring in a Three.js
camera and apply all of these different things to the scene like I did in the previous experience,
I just say that I want a camera, and I wanted it at this position.
I can also do things like start adding in lights and adding in entities. These entities
are components that I’m creating that can really be whatever I want them to be. So in
this case, I create a stage that holds everything that’s kind of default with this theme. So
the pathways that you saw, the couple of little trees that I built, all of those are held
in the scene so that when I want to go back in and when I showed you that image that the
360 picture, you could actually see that right away. And I can show and hide that without
looking at all the different individual components to that.
So I created a couple more of these, and they all have these different elements to them.
So instead of having to set all of the specific components to the geometry, to a geometry
object and then assign a material to a material object and colors and normal values to that,
I can just view all of that to one object here. So my path is made up of a couple of
different boxes. I set the width and the length of those positions. I change the rotation
for some of them. I assign them colors. And then I have my box taken care of. And what
this is doing in the A-frame JavaScript code is converting all of that to JavaScript items
so you can interact with the underlying code behind those objects, but you don’t have to
unless you really want to. So I built a couple of trees here. I put in
some clouds. And then I come in, and I start defining different areas of my talk with kind
of the different sections they go to. So I have this pretitle slide, which is the place
holder that I use to just create something that sits in front of the camera and uses
the tweet as a place holder to start my talk with. And I then go into my title. And as
I’m creating the title, I’m putting in things like a picture, I’m adding in different entities
with text so that I can define kind of what you’re looking at in the scene otherwise with
context, it may not make a lot of sense. And then I’m creating these boxes that have custom
components and — custom elements that I’m building called the it does start what you
expect it to do. It clicks, you click it, and it hides the start menu.
And what this lets me do is come over into my page components and write some really simple
JavaScript to register the click hide start component as a function and an event that
I can trigger when I’m interacting with the object on that — on that particular object.
So in this case, what it’s doing is it’s listening for clicks. And when I click a particular
box, it will hide its parent element. I go in and this is how I define pretty much all
of the behaviors in my scene for this particular application. I can register different components
to show and hide the different parts of the election that I’m using. But it looks pretty
standard. It’s pretty straight forward. It’s not really fancy JavaScript. I’ve only been
doing Web development for a couple of years, and it’s almost entirely been for Web VR.
And this has been a really straight forward way for me to start defining custom behaviors
for things in my environment. What I should probably go do is figure out
why clicking the video didn’t work. Oh, and I can see it. So I made a typo in terms of
what I made this. Anyway so moving kind of back into the index
that HTML file, I go through these different components. But the really interesting and
fun part about using these to build VR applications is that it’s all less than 200 lines of markup.
And I have all of this to generate essentially an entire conference talk for me, which is
kind of fun. And that’s kind of one way that you can build these VR experiences. But as
I showed you, you can also be writing it directly in JavaScript using those libraries yourself.
On top of all of that, there are a lot of — a lot more tools that are being developed
to start kind of using things like WebAssembly, ASM, to generate Web VR code from things like
the unity or unreal game engines. So I have another video that I’ll pull up really quickly
that’s showing an exported unity application that runs in Web VR. So I have this running
on my desktop, and I’m wearing my okay louse lift in this picture and looking around the
scene that I’ve built. And I’ve clicked — and you can’t see it here because you don’t see
me. But those little button down here is what’s allowing me to toggle in and out of VR mode
for this. And this is interesting because it’s providing another route to applications
in the browser that work with Web VR, even if you’re building that somewhere entirely
separately like unity. So there are a few other things that I’ve
started playing around with here. One being what about JavaScript that doesn’t run in
a browser itself? But may run on the desktop? So a couple of — about a week and a half
ago, I taught myself a little bit about NPM and got an electron application running. So
what you can see here is that this is actually my talk. Almost exactly as it was running
in the browser. Running in electron now. It’s been wrapped in its running on the desktop.
And there’s a lot of really interesting use cases for this. You know, you get to write
desktop applications now in JavaScript using electron that work in theory for VR. This
version of Chromium that electron uses doesn’t actually support Web VR yet. But since Chromium
and Chrome are slated to get Web VR support within the coming months, it’s probably a
matter of time before you can put that into VR mode because everything else works without
any changes. I just wrapped it up in the electron package.
Of course there’s so many other things right now that are happening in kind of the Web
world that continue to be really exciting for virtual reality. Things like WebAssembly.
Being able to create experiences that maybe you surface when you’re at a particular location
using, you know, smart devices and being able to pull in all of this information and start
working with it in a virtual sense really, really exciting.
So kind of moving back to the end of the presentation, there are two last things that I want to show
you. One, I mention that I was hanging out backstage. So here’s a quick little picture
of me backstage before I came on. There’s me. I took this with my 360 camera, and I
put this up online using a tool called visor, which meant at the time I took the picture
to getting a VR ready 360 photo up and distributable was about two minutes. And you can go to this
URL here, and you can look at this own phone right now and see how that works in a mobile
browser which will, again, have that VR support. And you can take a look at what it would be
like to be sitting backstage with me. So with that kind of in mind, you hopefully
have had a chance to start to see that we’re really just at the beginning for a lot of
this. It’s a really experimental time for the virtual reality industry in general. Specifically
for the VR Web. But it’s one of the most exciting places that I’ve had the joy of kind of working
in because it’s changing really fast, and it’s growing really fast, and it just enables
so many different scenarios. So I’ll go ahead and tweet this link out later and kind of
switching back into the last thing here, if you want to learn more about virtual reality
in general, the Web building for the VR Web, I have a repository up on GitHub here called
learn VR where I’ve basically just been putting everything I find that I think is a little
bit helpful for virtual reality development up here. You can follow me @mislivrose if
you want more VR tweets than a person can ever generate, that’s me. More than happy
to continue answering questions offline, and I haven’t had a chance to add this into my
experience yet. But I did actually just release a book on getting into virtual reality development.
So if you want to learn more about that too, find me later, and I’ll be happy to chat with
you because it’s free for a couple of days. So you should. With that, I’m going to say
thank you. See if we have any questions, and come find me later if your questions are not
answered. Thank you so much. [Applause]
>>Amazing stuff. I have lots of questions.>>Perfect.
>>Will Web VR revolutionize gaming?>>I think that there’s a lot of benefit to
gaming once the kind of browser is able to support it at the performance that virtual
reality kind of needs. I think that the bigger question is kind of looking at how virtual
reality and the VR Web is impacting gaming already. And a big thing that I see is one
we’re already starting to see examples of games being built with A-frame, and I think
that that’s really powerful because what it kind of shows you is that there’s this potential
to release a game that works on the browser whether or not you’re in VR mode. You can
add that support with relatively little and that’s a dangerous thing to say because there’s
a lot of optimization that generally goes into photo realistic games, especially for
VR at this stage. But I think that potential is all there, and we’re waiting for more people
to get excited about developing for it and creating those experiences. I’m talking about
all of you there.>>What other industries is it likely to get
into?>>I think that — and I might be optimistic
because it’s my job a little bit. But this is generally believed that everything has
the potential to be revolutionized by virtual reality. I kind of look at, you know, where
we were — not even ten years ago with mobile applications or even Web applications at the
time. And you’re starting to see, you know, industries picking up, virtual reality very
quickly. Things like medical industry and being able to do things like pain management
or doing, you know, kind of share techniques in VR, getting over phobias is a really big
one in the medical industry. I like to show the excel graph visualizer that I built as
an example because Incas big data gets more and more prominent, we’re going to see a lot
of opportunities to start to see visualizing data in new ways. One of the things that I
wanted to do but haven’t had a chance is replicate that project but do things like finance. How
much more interesting would my bank account be if I could see it in stacks of dollar bills
everywhere and be able to relate to that instead of, like, I think that number may have been
lower or higher than yesterday but I don’t see where it was going. Whereas if I had a
VR experience for my tractions, I could see my money get into a little car and drive away
if I got a car or something like that. We’re not there yet, but I really do think there
are examples of virtual reality that are just going to come and change everything. And a
lot of the really cool stuff hasn’t even been thought of yet.
>>Somebody maybe more skeptical asked will R — will Web VR suffer the same 3D fatigue
that the movie industry went through after its initial hype?
>>I don’t think so, but I can’t speak for an entire planet of people —
>>You can.>>That’s a lot of power. In which case then,
no, everyone’s going to love VR. There’s no questions there. I think that it’s important
to be realistic about what the technology is capable of today. But I think that given
what I’ve seen, I don’t see hype going away. And I haven’t over the last two and a half,
three years as, you know, releases for different products were delayed and were only really
just at this very, very tiny beginning of this Ecosystem that’s building up. You know,
people like to look at low percentages of adoption but realize that we’re still so early
on that it’s kind of like looking at a super Nintendo and saying, oh, that’s not actually
going to change gaming. No one’s going to have consoles in their house in ten years.
So I am very excited about VR. I don’t think that it’s going to go anywhere because I think
we’re already starting to see cases where, you know, enough value has started to be provided
by virtual reality experiences that there’s not really a reason to say okay. Well, maybe
just because it doesn’t have as much hype as we thought, it didn’t already do some significant
things. One thing that I — one example that I just really illustrates that question and
the one before it is that about a year ago, a doctor was able to save a little infant’s
life by walking through a 3D scan of her heart. And that’s not something that ever could have
been done before this technology could have come into play. So if you ask that child,
you know, like, do you think the hype for VR is going to go away? Probably not because
it’s already shown that it has some really very real implications. And I think that as
we kind of look at the consumer space and what people expect from it, that’s going to
evolve a lot over the coming years. But I think that the value that it’s already adding
to so many places is just not something that you can take away easily.
>>Cool. Last question is less philosophical and more DEV focused. How can you possibly
automate tests for Web VR?>>That’s a really, really good question,
and it’s something that a lot of new startups right now are looking at. They’re looking
at how do you capture analytics and VR anyway? Are you train station everything a user is
doing as they’re walking through your environment? How are you generating those depth maps of
where they’re looking and engaging? So I think that it’s really interesting because right
now, you’re at a stage in the industry where more of it is, like, is the user even understanding
where they’re supposed to look? And how do you build techniques around that? But I think
that when you look at this, the tools will evolve around 3D development, 3D environments.
I could write a script pretty easily that would walk through that. And if I had done
that, I wouldn’t have had a video that didn’t play when I went out on stage. And that technology
exists right now. It’s just a matter of having developers who are passionate about it building
these tools. And like I said there’s so much opportunity right now for taking all of the
information that you have available on the Web today and synthesizing that into things
that are going to help VR better. So I — it’s not probably an actionable question to answer
right now. But I think that potential is there, and I’m really hoping that maybe next time
I’m at a conference, like, maybe next year at this conference someone will have built
that library to do that.>>Cool. Thank you. Give it up for Liv Erickson.

Leave a Reply

Your email address will not be published. Required fields are marked *