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,