Hello, everyone.
I'm Nathan Martz.
I'm the developer PM for the Daydream team.
And I'm here to talk to you about enhancing applications
and websites with embeddable VR views.
I'm sure all of you have heard a great deal this week
about our brand new platform for immersive long form VR,
Daydream.
Now, Daydream is amazing, and you've heard a lot about it.
But today I'm going to talk to you about a different mobile VR
platform from Google called Cardboard.
And even though we're talking a lot about Daydream today,
Cardboard is alive and well.
In part because it has some really unique properties.
Cardboard still is the world's most affordable and most widely
distributed VR platform.
It's really, really good at bite size experiences.
It's something you can drop into and drop out of really,
really comfortably.
It also works on my iOS and on Android.
And it's super easily branded if you
want to use it in a marketing campaign or a give away.
And especially the bite size nature
of the content, the fact that you're not necessarily
locked into VR for a long time with Cardboard
makes us think of some interesting applications.
That's what I want to talk to you about today.
Also the heart of Cardboard, and of Daydream in general,
is this idea of VR for everyone.
And when we say that we mean not just VR for every user,
but actually we mean for every developer,
and also hopefully for every business.
Google is investing in VR because we
believe it's a potentially transformative technology.
And so we're always thinking for ways
to apply that technology outside of the most obvious
applications of games and media, into the real world,
into the businesses that most of us run and support.
And with that I'd like to talk to you
about a specific insight, a specific opportunity
we've been thinking about.
So imagine you have a travel website.
Now, travel is a huge part of internet search and commerce.
People spend tremendous amounts of time and money
when they try to plan their vacations.
And today, whether it's an app or a website,
we do the best we can with the tools available.
So if you want to tell someone about Machu Picchu,
we have a beautiful photograph.
And we have text and copy that tries to support that, maybe
some charts and graphs.
But if you're traveling to Machu Picchu
you'd really like to know what it
feels like to be on top of the mountain,
to look around the ruins.
It'd be so much more amazing if you
could feel like you're immersed in that space, physically
present.
If you're planning a trip to Machu Picchu
and you're like, ah, that's what it looks like, it's so amazing,
you might be more likely to travel there.
And this idea of embedding immersive media
into more traditional websites and applications we think
is actually a very large opportunity,
and not just for travel.
For example, if you're in real estate,
maybe you're a home builder, your whole business
is you have to sell homes that haven't been built yet.
And some people are going to come to your office,
and they're going to be excited about your home,
but they're going to walk out the door because they have
a hard time buying a house if they
can't look around the kitchen and then
walk to the living room.
Well, embeddable immersive media could let you do that.
If you're in retail, or support retail,
you want to have somebody design a room, or look at a show room
without leaving the comfort of their home.
You can do that with immersive media.
Maybe you work in news and you want
to really leverage the power of VR as the empathy machine,
to bring people into the stories in a really remarkable way.
Immersive media can do that as well.
And of course education is another opportunity,
where if you want to take your students on virtual field
trips, teach them about the world, take them to places
they could never go that are thousands or millions of miles
away.
This is all possible.
And so we know that even though there's
this great potential most businesses and most developers
don't have a large team of VR experts on standby
just waiting for this stuff to happen, right.
Building a VR app from the ground up is expensive.
But we want to make it accessible.
And that's why I'm here to talk to you
about a technology released just a couple months ago
called VR Views.
And I'll tell you about it in a great deal of detail
over the next half hour.
So it's much easier to experience VR Views
than it is just to talk about them.
So if anyone has a smartphone, I suspect a few of you
have these crazy things called smartphones,
there's a short URL which will take you
to a live version of this demo.
So check it out.
I'll leave the URL up for just another second.
It's pretty fricken cool.
And bonus points if you actually brought a Cardboard, or a VR
viewer of your choice.
Even better.
So the starting point for VR Views is an embedded window.
We know that most apps are not going to start users in VR.
You're going to start in 2D.
And you want to bring this window into an immersive world.
You want to bring it to users even before they've entered VR.
In fact, we know that, of course,
not everyone has a Cardboard with them all the time.
And if you're going to build this technology
and integrate it into your site, you
want it to work in VR and outside of VR.
The cool thing is that with the embedded Magic Window on mobile
when you move your phone around you'll
see that the picture actually responds.
It's alive.
You're looking through this magic window
into this other world.
Now, from there you've got a couple of choices.
There's a full screen button in the lower right.
And if you press that you get Magic Window,
but in full screen.
It's the most immerses you can get without Cardboard.
Now, of course, the best option is the VR option.
And if you press that you get stereoscopic real time
viewing designed to be compatible with all
of our Cardboard viewers.
And the cool thing about VR is it's
the most immersive, especially if you have stereo 360 content.
And we'll talk about how you can capture your own stereo 360
content in just a little bit.
So, of course, it's great to talk about what it can do,
but how do you use it, right.
You're developers.
You want to know, how do I actually
get this into my website or into my application.
And I'm really proud to tell you that pretty much everywhere you
want to be VR Views already supports.
We have a web based implementation that works
on desktop and mobile browsers.
We have native Android integrations
through our Google VR SDK, and native iOS integrations also
through the Google VR SDK.
So regardless of whether you have an app or a website,
whether you're a desktop or mobile,
you can use this technology, use the same content
across all of those services, and integrate it
with a minimum of effort.
In fact, one of the hard parts with VR Views
is actually compatibility.
Right, when you talk about browsers
alone there's lots of different browsers.
Well, we support all of the leading browsers across all
the major operating systems.
As long as you have a relatively recent version of the browser.
I'm sorry.
IE6, not supported.
But otherwise we're pretty good.
On Android we have support for everything
from KitKat and on up, and on iOS everything from iOS 8.0
and up.
It's a really, really wide range of compatibility.
The majority of the users you want to reach.
We've done the hard work to do the compatibility.
And not just the compatibility, also the performance work,
to make sure that this doesn't just
work but it's fast and responsive,
which is super important, especially in VR.
So integrations are fortunately super simple.
If you want to integrate a VR view into your website,
it's basically like integrating a YouTube video.
You add an iframe.
The most important field is that source field,
where you can reference either scripts that we've
staged and hosted on Google Cloud Storage, or scripts
that you host yourself.
The web version is all open source.
So super simple.
The GitHub link is at the bottom of the page.
And then you tell us where to find the 360 degree image,
and there you go.
We do recommend that if you're trying this out
for the first time using our scripts that we host is great.
But you'll run into things like cross site cores issues.
You'll have to think about things
like browser compatibility in a couple of cases.
So if you host the script on the same site as the content
it's much easier.
We highly recommend you do that in any production environment.
On Android it's also super simple.
You'll add your view to your layout XML file.
In code you just find that layout.
In the case of an image you create a new bitmap factory,
tell it what file to open.
And then you just need to get the options for the VR view.
In this case the VR panorama view.
Tell us whether it's a stereo or a mono image.
And then give the raw bitmap data,
hand it off to the widget.
Just that simple.
And iOS, very similarly all you have to do
is allocate a new VR view, tell it what image to load,
and then add the VR view as a sub view
to whatever your larger container is.
Again, super simple, very idiomatic.
We tried very hard to make sure that this stuff is not
just simple but expressed in a way
that's natural for the platform that you're developing for.
And, again, in all these slides I've got GitHub links.
Super easy to find.
And I'll reference them again at the end of the talk.
So one of the questions we get is it's like, OK, great,
like VR view is awesome, and it seems really easy to integrate.
But how do you get the content?
Like even capturing in 360 is relatively new.
Well, I'm happy to say that there
are some extremely affordable options on the market.
And I'll walk through a handful of them today.
So before I talk about specific capture solutions
I want to get a little bit of terminology, which
was the difference between inside out capture and outside
in capture.
Everything we're going to talk about today is inside out.
Which means that the capture is taken from a single point
looking outwards.
And just like when you're in VR in Cardboard,
it's really good to be in a point looking out to the world.
Outside in is the opposite of that.
It's using a lot of like scanning configurations.
But for all of VR View you really want
to be using inside out capture, not outside in capture,
and thinking about use cases that are inside out rather
than outside in.
As an example of that, in retail something
like a showroom for home decorating, that's inside out.
You're standing in the room looking
at the drapes and the couch.
Something like shopping for shoes
is more outside in, where you want to look at the shoe,
rotate it in your hand, or you're effectively
moving around the object rather than looking
from the inside out.
So one of the cheapest, because it's free,
and awesome ways to capture not just 360 but stereo 360
is to use our Cardboard Camera app on Android.
It's super easy to use.
And it's one of the best ways to capture 360 stereo imagery.
There's a download link in the short URL on the bottom.
Now, if you want to use the Cardboard Camera
app with VR View you need to do a format conversion.
Cardboard Camera is very clever and it packs the left eye
and right eye data together in a way
that you need to unpack in order to use in VR View.
So we have a really simple website
that we've put together that lets you just drag and drop
an image from Cardboard Camera.
We'll automatically convert it and prep it for a format
that VR View can take.
So, again, super simple.
Use the app.
Use the converter.
And then you're ready to go for VR View.
Another great, really affordable option is the Ricoh Theta.
This is, I think, one of the simplest 360 capture options
around right now.
The only limitation is that it's monoscopic.
So in the way that Cardboard Camera supports stereo 360,
Ricoh supports only mono 360.
But it supports capturing both video and still photography.
Now, of course, we've talked a lot about real world contexts.
But VR views are not actually limited to the real world,
right.
CG is a great source.
In fact, if you're that hypothetical home builder who
wants to show people what the home will look like,
you're probably going to be capturing your 360
views from renderers of your architectural drawings.
And there's a lot of great plugins for everything
from game engines like Unreal Engine and Unity,
to more traditional offline rendering
tools like Renderman and Maya.
And these plugins generate the same standardized format
that VR View supports.
So let's talk a little bit about the specifics of the formats
that work in VR View.
So the most basic format we support is a mono 360 pano.
It looks like that.
Some people will call it a lat-long image
or an equirect pano.
It's a very, very standardized format.
Almost anything that can do 360 will output that format.
And we also support its stereo cousin, which you'll often hear
called an ODS, an Omnidirectional Stereo.
Which is really just two panos, one for each eye,
stacked on top of each other.
So a stereo image looks very much like a model image,
except two eyes in one image rather than one.
We also support in the first version both images and videos.
So 360 stills, 360 videos, and of course mono and stereo
of both of them.
For images specifically, if you have a mono 360 image
you want your aspect ratio to be two to one.
So, for example, 1,024 x 2,048 is a good baseline
for mono 360.
In stereo it's one to one.
It's a square.
Because you're stacking a two by one image on top of another two
by one image.
For performance and compatibility reasons
the maximum dimensions are 4,096 x 4,096.
That's especially critical on mobile.
And we support both JPEG and PNG.
Although generally we recommend JPEG for faster download sizes,
especially for anything that looks very photographic.
On the video side of things we strongly
recommend you stick to MP4 H.264 with a 16 x 9 aspect ratio.
One interesting thing on video is
that the device support for video
is much more varied, especially on mobile,
than it is for imagery.
On pretty much any modern phone a 4,096 x 4,096 texture
will work.
What you'll find though with video
is that some phones cap out at 1080p, whereas other phones
will decode up to 4k.
So what we recommend generally is
that if you want one thing that works everywhere
use a mono 1080p 16 x 9 video for your 360.
However, if you want to target higher end devices
and support stereo, you may want to have
two versions, that simple monoscopic version that
works everywhere and then a higher fidelity,
ideally 2160p version for the maximum quality,
deliver to devices that you know support it.
One last really funny quirk with video
is that there's a wide variety of resolutions that work.
But you want to make sure your dimensions,
your length and your width, are always divisible by 16.
That's due to specifics and how hardware decoders
work on mobile phones.
So I think that's a really great overview
of how all of this stuff works.
We've talked about the applications, whether you're
a home builder, or a journalist, or in retail.
And we've got a lot of great resources
if you want to learn more.
So we have a Getting Started Guide
on developers.google.com/vr.
And we have actually two really great code labs here at I/O.
So you've only got a few hours left.
But I highly encourage you to check out one of the kiosks.
They're really well put together.
But if you're not able to get to it in time for today's I/O,
they'll all be available online.
And they really help you understand
the basics of getting in there, creating an app,
creating a website, and making it better
with embeddable VR media.
So thank you so much for the time.
[MUSIC PLAYING]