(calming music)
- My name is Josh, (drum kit beats)
I'm the developer advocate for Mixed Reality.
You have Virtual Reality and Augmented Reality.
We think of those as a spectrum.
So on one side is VR,
where you're completely immersed in the environment.
On the other end is AR,
where you can see the real world around you,
with computer graphics overlaid on top.
Mixed Reality is a big part of the future.
I feel like it's the next level of interface.
It's the way we're going to interact
with our computer devices for a lot of things.
You won't even need to use your phone,
it'll be built into your sunglasses,
or into your headphones.
We produced a web browser specifically for VR.
Firefox Reality.
Even if you're looking at traditional 2D web pages,
you can view them inside of a VR headset,
and then if they have 3D content,
jump into that 3D content.
We also created a service called, Hubs.
Hubs is a VR chat system, where you can create a room.
Anyone else can join you in that room.
You just send them a link.
Regardless of what device they're on,
they could just be on a phone.
They could be on their desktop.
They would get a 2D view.
If they're in their VR headset,
they get a fully immersive 3D view.
We also created Spoke, which is a composer tool,
which lets you take 3D objects others have created
and put them together in a scene, to then use with hubs.
Working with 3D is very different than 2D.
I come from a 2D background, so I'm learning
a lot of these things as I go along.
And the tools are traditionally have been
for different areas.
Some were just for TV, some were for movies,
some were for games.
And very high end, required a lot of training,
and or expensive to use.
But all of those things are changing.
So the biggest problem is probably
there's just so much stuff, you don't know
what you should start with.
That headsets often have their own app stores.
It's much like mobile phones,
where everybody has their own silo.
But the web is everywhere,
and so you can make a web page that will work
on any of these devices.
(drum kit beats)
WebGL is a web standard for hardware accelerated graphics.
It essentially is OpenGL2.0,
similar to what you would get on the modern smart phone.
ThreeJS is probably the most popular
JavaScript library for doing 3D on the web.
The key thing is it gives you a scene graph
that uses hardware acceleration.
So you can say, create a cube, create a sphere,
and the library handles creating the underlying
WebGL calls that draw it on the screen.
Sketchfab is an online marketplace for 3D models.
Their are some incredibly talented people
who are amazing artists, they're essentially sculptors.
They sculpt with digital tools,
but they are making these three dimensional objects.
And they could upload them on Sketchfab
to share with other people.
Either for free or for pay.
They're all tagged, so you can search
and find all sorts of amazing things
to imbed in your website, or your web project.
So when you are building a 3D environment,
it's inherently a visual task.
Spoke is a composer,
where I can bring in 3D objects,
combine then into a scene, set up some lighting.
And then export to a single file.
In this case, glTF, which is like the JPEG for 3D.
So glTF is an open specification,
actually created by the Khronos Group,
which is one of the big standard groups for 3D.
Pretty much every 3D modeler tool supports it.
So if you're using Maya, or Blender, or Autocad,
you can export a glTF file, in addition
to their own native files.
(drum kit beats)
so my niece Lauren is gonna turn eight soon,
and I thought it'd be fun to give her a VR birthday card.
So it'll be a card where I will send her a link,
she'll open the link on her phone,
or in her VR headset, and be able to jump
into this little 3D world I created,
with a birthday cake and I want it to say,
"Happy Birthday Lauren"
and maybe play some music.
When you come in, you'll start here,
and then you can walk around to different points.
So to make this work, we're gonna need a model
of the cake, a model of one or two kinds of trees.
Text, we can generate in code.
(drum kit beats)
It's really early days.
This is a good time to jump in.
Like the early days of the web, we were still experimenting.
We didn't know what was really gonna take off.
But it was also really fun.
You don't even need to have a headset.
You can test things just on your desktop.
It's really easy to get started.
Now's the time to jump in and start experimenting.