Papakipos: So you've probably seen
graphics like this before in games
or in other applications.
What you haven't seen is in--
seen this running intrinsically in the web browser.
So the technology clearly has great potential.
Let me walk you through some of the interesting aspects
of--of this demo, uh, to show you more about it.
So first off, notice the visual quality here.
We have very high resolution texture maps
on the surfaces of the rocks, of the trees,
of the bottom, uh, of the--the sea floor
under the water, and of the sky itself.
We also have what are called bump maps.
So we have, um, detailed textures
on the surfaces that describe the local surface texture--
the physical shape of the surface--
which gives us very realistic lighting
as the light bounces off the scene
and--and, uh, hits the viewer.
We're also doing some very advanced
shading techniques, uh, on the water.
So you can see that we've implemented
reflection and refraction.
And these are coded right in the source code
of the application so the application can control
the visual appearance of the water
or other attributes of the scene.
The next thing that we focused on
was performance.
So you'll notice we're running at a smooth 60 hertz here.
It gives it this very smooth, liquid feel
like you're really there, you're in the scene.
Um, the same, uh, level of performance
that you would expect to see
from, uh, from a native application
running on the operating system.
And here we're seeing it in the browser.
The other interesting aspect
is we're doing all of the graphics
on the graphics processor, on the GPU.
So the CPU load as we run this application
is less than 10%.
So the CPU is still there for you to use
in your JavaScript code and by the browser
to implement your application logic,
which is extremely important.
Uh, and then the last point about the demo
that's interesting is it's all JavaScript code.
So you have all the nice attributes
of JavaScript for web development.
You can edit the code right on your machine,
test it on your machine, deploy it easily.
Uh, no complicated build process.
It's just JavaScript.
So this is very cool technology.
But we still have a long way to go
until we achieve our dream.
Where we want to get to is the point
where you type a URL in the address bar,
uh, go to a web site, and play a rich,
uh, interesting 3-D graphics application.
In order for this to happen,
we need this capability to be built into the browsers
by default.
So we need a common set of APIs
that are implemented widely by all the dominant--
all the-- all the browser vendors
so that your browser of choice does this intrinsically.
It becomes a feature of the browser itself.
The key here is standardization.
So we're--we at Google are working very closely
with Apple, Mozilla, Opera, and others
in the context of the standards organizations,
to make this a reality.
So we still have a ways to go.
But we've begun the process of standardization
for how 3-D graphics will work on the web.
We invite you to join that discussion.
The other thing is we have to put it
in the browser itself.
And so we're hard at work at Google
integrating 3-D graphics capabilities like these
into the Chromium code base
so that Chrome has the ability to do this
without the need of any plug-in whatsoever.
So we're very excited about the directions
these are--this is going.
So this is all very cool. It looks neat.
It's very fun.
It's nice to see the web gain these capabilities.
Uh, but it's still just a demo.
We're still in the very early phase.
This is a plug-in today.
We're very excited about the future.
The other key to the puzzle here is applications.
Uh, we want to see real world applications emerge
where you and people like you make applications
in web sites that use these capabilities
to their full advantage.
What is the next killer 3-D graphics applications
on your web site?
Is it a game? Is it data visualization?
Is it an engineering application?
Is it something new?
So we're very excited about the prospects
for the future.
We hope you will check it out and, uh, join us
in, uh, pushing it over the finish line.
[applause]
Gundrota: Obviously, if you'd like to learn more
about what Matt just showed you,
there's the URL and you can get all the details
in addition to the sessions that we're having on it.
Going back to the canvas capability,
remember, uh, developers are not going to use canvas
if it isn't broadly available.
And we're very happy to report
that across all modern, open source browsers,
uh, Chrome, Firefox, Safari,
we have this capability.
I hear some of the laughter.
You must be wondering why I didn't mention
Internet Explorer.
Uh, let me talk about that briefly.
Obviously, Microsoft,
with its very large market share,
could do much to move the web forward.
And so you can imagine how excited we were
to hear Microsoft's public statements
about their commitment to the HTML 5 standards.
And, uh, that very, very much excites us.
And we eagerly await to see, uh, evidence of that.
[audience laughs]
That's all I'm going to mention about IE today.
Now that I've danced past that elephant,
let's move on.
Uh, let's talk about video.
Just like I asked you with canvas,
let me ask you with video.
How do you play video in a browser today?
You know, as a developer, you really have a tough job.
You got to ensure that your users
have the correct plug-in installed, uh,
in their browser.
In addition to having a plug-in stalled,
you got to ask yourself "does that plug-in support
"the appropriate codec that's going to--
that that video is encoded in?"
And there's some variables that are outside of your control
as a developer.
So video is hard.
You might ask yourself if you were responsible
for moving the web forward, what would Occam do?
Well, how about a video tag as simple as image.
That's exactly what HTML 5 video gives you.
A simple tag where you point it to the source
and the browser handles the rest.
Let me show you some examples.
Let's go to machine one.
man: Billy's been trying to customize his web browser.
man: This'll make it go faster.
Gundrota: Okay, that's-- that's one way
to make the web go faster.
Uh, it's a--it's a video playing in the--in the browser.
No big deal until you look at the source code.
And you look at the source code here
and you can see use of the video tag
to play that video
and nothing more than JavaScript to play and stop it.
Of course, because it's integrated
right within the browser-- let's go back to that demo--
one of the benefits is, like, fo--
I can start a rotate.
This is just a simple JavaScript CSS transform.
And look, I'm rotating the video.
I can even play it if I wanted to.
But it gives you a sense of--of the advantage
of using something that's intrinsic
to that web programming model.
DOM manipulation just like any other element
with the video tag.
Let's go on to the next demonstration.
This is an experiment.
We are not announcing today that YouTube
is going to be built this way.
This is a demo that we just wanted to show you
to get the creative juices going.
Uh, obviously, YouTube is a sight
that you no doubt know and love.
Uh, this looks like YouTube.
In fact, there's a-- one change
that's pretty significant,
which is if you actually look at the source here,
it's implemented using the video tag.
And because it's implemented using the video tag,
those videos play and they're intrinsic
to that, uh, HTML page.
You see as he mouses over the thumbnails,
they just play.
There are--those are not 1, 2, 3, 4, 5, 6 plug-ins.
I'm not marshalling across boundaries.
This is JavaScript, the video tag, and that's it.
And it kind of gives you an example
of where we might be going, uh, in the future.
[applause]
All right, let's--let's go back to the slides.
Once again, very happy to say, across modern browsers,
broad support has been implemented
for the video tag.
Now let's talk about geolocation.
At Google, we believe that almost all kinds of apps
could be better
if they had access to geolocation.
Everything from business software
to social software.
Think about your CRM software if you're a business.
When your sales agent lands in Denver,
why doesn't the CRM software recognize his location
and show him or her the current customers
based on proximity?
In social software,
why isn't the photo automatically geotagged?
Why aren't my updates, my tweets,
uh, automatically tagged with location?
Well, the reality is is that accessing location
and using it is hard today.
You might think, like, what about GPS?
GPS takes a long time to get a fix.
GPS may often not work indoors.
What about IP-- IP-based location?
Well, it's too fuzzy. It's not granular enough.
I mean, heaven forbid your users are AOL users
where the IP has gone through a proxy in Virginia
and all the location reports is Virginia.
And so it hasn't been possible to get good quality data sources
until the last year.
Companies like Skyhook--
companies like Google and others have created
large databases of Wi-Fi data and cell ID data
and really have mapped the entire world with coverage.
These sources combined with GPS and other sources
have now given us the ability to accurately triangulate
or pinpoint an individual's location
with their consent.
Of course, you might be wondering,
well, that's good-- that's great, Vic,
but how do you get it in the browser?
Well, guess what, the last year,
we have seen tremendous progress
with standardization of the W3C geolocation API,
which is implemented in these browsers.
So you as a developer can take advantage
of these capabilities.
To demonstrate these and kind of talk about them,
I'd like to invite up Jay Sullivan,
Vice President for Mozilla.
Jay, welcome.
Sullivan: Thanks, Vic.
Good to see you.
Gundrota: Jay...
just one moment before you go into your, uh, presentation
and demo here.
I did want to take a moment and just say thank you
to the Mozilla community.
Uh, you know, to a large extent,
we have the luxury this morning of talking
about modern browsers,