I'm really, really happy to be here with you guys today.
It's really exciting.
We have a lot of fantastic material for you,
all focused on what we're doing with Chrome
and what we can do to try to make the web much better,
especially on mobile.
Let's get right to it.
So at I/O earlier this year, we got
to announce that we have 300 million Chrome on mobile users.
This is fantastic.
It actually represents a 10x growth over a year earlier.
I think Chrome is actually relatively new on mobile.
Today, I'm really, really pleased to announce
that we have 400 million users of Chrome on mobile.
This is fantastic.
Just in the last four months we've
seen this kind of spectacular growth.
I think this is really, really fantastic, not just because I'm
working on Chrome and want to see
it be successful, but also what it means for the mobile web.
I think a lot of times developers struggle
with trying to reach users through browsers that are old,
not updating-- and there's just a lot
of disparity across the mobile web,
and across the mobile ecosystem of the types of browsers
that are out there.
So as we get Chrome out there more,
developers can start to count on a more consistent web
platform, a more modern web platform, one that's
auto updating, one that's fast and it's getting improved.
I think this is fantastic for what
it means to web developers trying
to reach users through browsers.
Anyway, so in addition to just trying
to reach users through browsers, a lot of web developers
are looking at trying to reach users through native apps,
obviously, and using web tech in native apps.
And for a long time, they struggled with the fact
that the WebViews are old.
And as of Lollipop, I'm really, really
pleased to announce that we have support
for auto updating WebView.
This is fantastic.
It means that for the first time--
[APPLAUSE]
This was a long time coming to be honest.
I think it was two I/Os ago where
we were talking about how badly we wanted to get this done.
Getting it to a place where, when we update Chrome,
we can also update WebView, is fantastic.
I think you all understand this, but just
having a consistent modern platform
that you can take advantage of, both
when deploying over the web, as well as through native apps,
is huge.
I think that a lot of times people
take for granted that they have a modern web platform.
That's sort of the mindset people
are in when they're focused on desktop,
but it hasn't been the case on mobile.
So getting to a place where it is, it's a huge accomplishment.
Now we have been very busy over the past year.
This is a set of features that we've
been working on that have all land in the last year,
and a whole lot of different work
that's gone in to make Chrome and the web platform better.
We've been working with other browser vendors
to bring a lot of new features-- things
that improve the capabilities that you get access to,
things that allow you to take advantage
of mobile, simple things like Screen
Orientation and the ability to lock
the orientation of the screen to portrait or landscape.
These things go a long way to help
you deliver a great experience to the web.
But also features that allow you to have a much better time
creating a good user experience, a good performant user
experience-- simple things like the will-change attribute that
lets you inform the engine that, hey, this
is the kind of animation I'll be making,
allows the engine to make a lot of optimizations for you.
But that's not it.
There's a lot of other things here.
Features like Web Animations that give developers a lot more
control over the animation system,
rather than forcing you to cobble together CSS strings
to generate the kind of animations you want.
We've also put a lot of work over many years
to build up a set of features that powers web components--
things like Custom Elements, HTML Imports, and Shadow DOM.
And all these things are now shipping natively
in Chrome, which is just fantastic because it means
as you're using toolkits like Polymer,
or just other toolkits that leverage web components,
you're getting a native implementation
of those features.
It's too many things to mention here.
I'll just say, in addition to features,
we've been very focused on performance.
Optimizing the engine, improving performance
reducing CPU load, et cetera-- these
are things that are just very important for developers
who are trying to create a great experience.
One feature I really want to call attention to
is something that we actually removed from the platform
a little under year ago.
It used to be that when the user would tap on the browser,
there would be a 300 millisecond delay, while the browser was
trying to figure out-- did the user mean to click on a link,
or are they trying to zoom, et cetera-- removing
this allowed developers to have much
more control over animations to be
able to provide much smoother experiences.
[APPLAUSE]
Yes, this one deserves a round of applause.
It was actually a heroic effort to get there,
but it's fantastic that we can now take for granted
that you don't have it.
So with all this great work that's happening,
it seems like the mobile web is awesome.
Right?
Well, well, you commonly hear this meme.
The stories are rolling out all the time about,
native apps killing the mobile web,
the demise of the mobile web seems
imminent-- shouldn't we all just be writing native apps?
Well I think the story is actually
a bit more nuanced than that-- a bit more interesting,
if you dig down.
And we think there's actually a lot of value to the mobile web,
if you start to explore it further.
There were some studies earlier in the year by Flurry
that showed that time spent on mobile
is actually heavily biased towards native apps,
and very little time spent on sites.
But you have to sort of explore this a little bit
further to see what's really going on.
In fact, the time spent in native apps
is dominated by activities like gaming, entertainment,
and social.
And time spent with other activities-- well,
it's much smaller.
So that's only part of the picture.
And indeed, if you look further at the time spent
on the mobile, actually that vast majority of time that
was spent in native apps, it's really
dominated by just a few native apps.
And as a developer trying to reach users,
writing a native app doesn't mean that suddenly you're
getting a lot more attention.
In fact I'd argue that, in many ways,
it's easier to get attention if you're
deploying through the web.
In fact, if you're specifically going
after commercial activity, and you talk to users,
and you say, how do they use their mobile devices when
they're interested in shopping, or e-commerce type activities--
users resoundingly talk about how they use the web.
And this kind of makes sense.
You think about it-- how many store apps
do you actually install?
Well you might have installed, say, the Amazon app,
but actually when you're going shopping,
you want to do a lot of comparison shopping.
You're going to do searches, and so on, and be
looking for best prices, or doing comparison
shopping across different sites.
And actually, the web is really good at this.
And indeed it's actually really good at helping
users find interesting things.
And as a developer trying to reach users
and-- there's just a lot of power here.
So what makes the web ideal for success?
There's a lot of things, and I want
to get into that a little bit further.
I think one of the biggest things--
this is very obvious, really.
It's just that when you put things on the web,
there's a lot of tools that help you
make your content, your apps, discoverable.
There's a lot of great tools-- obviously, Search.
You work at Google.
Search engine is a very powerful tool
that can drive traffic to websites.
Ads can drive traffic to websites,
social media can drive traffic to websites.
A lot of this is powered by URLs, and the indexability
of content, and all of the great tools
that are available for SEO, and so on.
These things enable users to easily find things.
They can also easily share things.
And it's not just your application or the entry point
to your website, but it's deep linking into your websites.
Particular pieces of content or particular states
of applications-- developers have an easy time presenting
these things as URLs, and users have an easy time
sharing them and discovering them.
This is actually a very powerful feature of the web platform.
It's a fantastic way to deploy stuff, and get it
in front of users.
When the web platform, in addition
to having that discoverability and that reach,
it's actually a very, very comforting to a user
if they're given a URL.
Clicking on a URL feels like a very safe action.
It's not scary to someone.
Whereas installing a native app, it's a bit scary.
It can be.
You're not sure-- what are you giving up?
You're accepting a battery of permissions,
and so you can imagine a lot of users
feel a little bit unsure about that.
But with the URL to a site, it's actually very safe.
It feels safe.
There's a history of browsers doing a good job
protecting users.
But all of this really leads up to the big benefit
of the web, which I think is that it's a fantastically
low friction way for users to connect with developers,
for developers to get user experiences in front
of customers.
The web is this ephemeral platform.
There's no install prompts.
It's very easy for folks to find things through search,
through ads, through tweets, and social media and such,
and end up right there on a site,
on a page, where they could buy something,
or where they can complete some transaction,
or they can do something that they're interested in doing.
So there's a lot of upside if we can get to a place
where you can create great experiences on the web
because there's all this fantastic environment that
can maximize what you can get out of it.
So that's all very exciting.
Like I said, there's a lot more that we
need to do because in this day and age people are
very excited about native apps.
The web itself has been this platform
that hasn't worked great on mobile.
Everybody's pretty aware of these problems.
There's a variety of problems, from performance problems,
to hard to take advantage of mobile devices and create
great experiences, to frustrated with buggy browsers and such.
So there's a lot of work that has
to be done to make the environment better,
but we're getting there, and there's a lot that were doing.
So I want to talk about some of those things.
But first off, this summit's mostly about Chrome
and what the Chrome team 's doing.
Google Search, just yesterday, rolled out
a really exciting feature, which is
they are starting to badge websites,
in search results, that are mobile friendly.
This is all something that you can explore further
through Webmaster Tools.
You can see the validation tool that
helps you understand if your site is mobile-friendly, and so
on.
But this is all about helping users understand
that if they're going to follow a search result,
they're going to end up on a site that actually works
or should work on their mobile device, that's
not going to flash.
It's not going to be a desktop, or InSight.
It's not going to have very small text, et cetera.
I think this is a very useful tool for both developers
and users.
And so I'm really excited about it.
On Chrome's side, our goal is really
about helping developers be more productive.
And to do that, we have a long history of, for example, making
better developer tools.
The DevTools has been a fantastic project.
You're going to get to hear a lot more
about that later today.
We have done a lot of work to help
you use DevTools on desktop to explore how your site works
on mobile devices, which is very useful.
And a lot of work's gone into helping you understand
animation performance, and so on.
You can learn a lot more about that later today.
We've also been doing a lot of work
on toolkits, and things like web fundamentals
to help folks get started, and orient themselves,
and understand how to optimize for mobile.
I'm very excited about Polymer as a great reference toolkit
for how to build fantastic websites that
run well on mobile.
You'll hear more about Polymer if you don't already
know about it, but it's our expression
of what we think a great framework can be.
In addition to productivity, we're
working a lot to make the engines faster,
and to help developers create more performant websites.
We know that this is the thing that folks struggle with.
The engines haven't always been tuned for mobile.
They weren't designed for mobile originally.
And so we've spent a lot of time just working
on core rendering performance.
A lot of this is about optimizing existing code pass,
but moving workloads to GPUs.
So we're rolling out GPU rasterization, which
is really fantastic-- allows for web developers
to take full advantage of the more capable GPUs
that you find on mobile devices, and relieve the CPUs of all
the burden, and in doing so, reduce power consumption,
and so on.
So there's a lot that can be done there.
Ryan's going to talk more about performance.
A lot of work going into V8, et cetera.
But in addition to just optimizing the engine,
we also want to do feature work that allows developers
to have a lot more control over the platform, and, in doing so,
be able to have more control over where
the expensive things happen, and when they happen
and-- for example, when it comes to network resource loading,
developers often struggle with the fact
that the browser sort of feels like it's out of your control.
If there's a network error, suddenly the user
sees a browser error page.
It's not a great experience.
With a service worker API that we're
going to talk a lot more about, among other things,
you actually do get the control over the network fetching,
and network resource loading and caching.
It allows for developers to cope better with poor network
conditions, and so on, but also allows
them to guarantee that when your application starts up,
it actually loads quickly and reliably fast,
assuming you've had a chance to populate your caches,
which is great.
I'm very excited about that because it really
is one of these things that often developers
suffer when they're thinking about deploying over the web
and over potentially poor network connections
that people often have to deal with with mobile.
So anyways, in addition to all of that,
we're trying to help developers provide
a much more engaging experience on mobile.
And here's where we're doing some really exciting things,
exploring how to, for example, allow
you to integrate the web experience deeper into Android
and allow it to feel like a more first class part of the system.
And a while back, we rolled out support for Add To Home Screen.
But we're working on exploring how
to elevate Add To Home Screen so that users discover it
more readily, under the right conditions.
I think this is a very important thing.
I think a lot of developers are interested in the re engagement
that happens when you have a home screen placement.
And this is something that's been
difficult to achieve on the web, unless users really
knew what they were doing and went looking for it.
In Lollipop, we rolled out support
for exploding and moving the tabs
of the browser out into the Recents view,
so that web content rendered through Chrome
would actually appear as a peer to native applications.
This is huge because it allows a web developer to feel
like their experience is not trapped within a browser,
but rather it's a first class experience on Android.
And though these screenshots don't really show it,
the one on the right emphasizes that you actually
get a lot more control over the theming.
And in addition to theming, you actually
get a lot more control over the iconography.
One of our goals with this whole user experience
here was to try to put Chrome in the background,
and let the content take the stage.
It's really important that-- we feel that users,
they think deeply about interacting with sites--
not Chrome.
It's important for them to understand
that they're working with food.com-- not Chrome.
And so we've done a lot with the system UI, and Chrome's UI,
to try to help put the content first,
help put the web applications first.
And so a lot of this work that you see here
is an effort towards that.
In addition, there's also a lot of work going on
with capabilities.
And I already mentioned service worker,
and how it can help solve for offline,
and solve for poor network connections.
That's just a fundamental thing that's
been missing from the platform.
We've had app cache, but it's so limited and hard to use.
Service worker is much easier to use.
On the back of service worker, we
can do a lot of fantastic things though.
We can solve finally for background processing.
We can enable developers to update their caches of content
and code in the background, so that when the user interacts
with the site again, they're getting not just
cached content, but they're getting fresh cached content.
And you as a developer can have control over that.
This is something that's under development.
It's not done yet, but we're very excited about enabling
background processing on mobile for web content delivered
through the browser.
Push notifications is something that we can also
start to build on top of the ServiceWorker.
And it's something that we're close to launching.
And it's very exciting to enable developers to have access
to push notifications because it allows for, again,
another form of re engagement.
One of the things we're doing is being very thoughtful
though about how we keep users in control of the experience.
I think that's-- as I mentioned earlier,
around safety and so on, users want to feel like
they're in control of the experience.
We also want to figure out how to allow developers
have a lot more power in terms of the experience they
can present.
And as a browser, as a user agent,
we're actually in a very good position
to do something innovative there.
So today's all about you all connecting with us.
We have a bunch of Chrome developers
here to talk about the work they're doing.
As you saw, this talk was very focused on mobile web,
and a lot of the sessions are all jam-packed,
focused on mobile web.
There's so much to talk about and not enough time.
There's plenty of other material outside
of this context and people here who
can help answer those questions.
We will have booths, and sessions, and panels tomorrow.
And throughout the day, there's lots of opportunities for you
to connect with developers-- really want to hear from you,
hear what you care about.
Because ultimately we want to help make you all successful.
So with that, I'm really excited to see and learn
what you guys can create on top of the platform
that we're building.
So thank you so much for joining us today.
It's an exciting day.
I think there's so much to learn and explore.
Thank you.
[APPLAUSE]