LOUIS GRAY: Welcome back to Google Developers Live at I/O.
I'm Louis Gray from GDL, and I have with me two distinguished
guests, Colt McAnlis and Ilya Grigorik.
Thank you for coming, gentlemen.
COLT MCANLIS: Thanks for having us.
ILYA GRIGORIK: Thanks.
LOUIS GRAY: And we're here to talk about
web performance today.
And if you remember from the keynote, it seems like so long
ago now, but it was only about five to six hours, we were
talking about performance and speed and simplicity and all
those things that really are part of Chrome and really part
of everything that Google is doing with our
approach to the web.
And so I'm really happy to have Colt and Ilya on here.
Both of them have spoken a lot about making the web faster
and Chrome tools that will get the job done to make
everything go more quickly for the web platform.
So I want to just get really started.
Web performance is really all of what we do at I/O and
through the rest of the year.
You guys even have a booth upstairs.
I just checked it out, which is great.
Why so much attention on web performance, Colt?
COLT MCANLIS: Well, as every app developer knows, as we
start to bridge into mobile, it's not just about network
performance anymore, about how fast your page loads.
It's about how fast the page is to respond to the user once
they're in it.
So we have to feel like apps, which means developers have to
worry about the three pillars of performance now--
network, rendering, and compute.
And because of this, we've got a lot of presence here, a lot
of great talks going on to try to help developers start
talking about this, bring this mental model to the table, and
show them what tools they need to get things done.
LOUIS GRAY: It's interesting you bring up networking,
rendering, and computing.
I came from a world where computation was always the
bottleneck.
And it was the server that was slow.
And I think what you've seen with networking is networking
has grown exponentially, 10X each round.
And it's really become something where the data
center kind of becomes a cloud, and you don't think
about the server anymore.
And it's the network that's the bottleneck.
And that, as you mentioned, can be really
difficult and complex.
So what are you guys doing up at the booth to take all that
complexity and make it simple?
COLT MCANLIS: Well, we absolutely are sure that it's
super-complex.
I mean, we, as the Chrome developers, spend a long time
architecting this stuff.
What we've actually done is we've assembled all of the
brains at Google who deal with performance on
a day-to-day basis.
And we basically have them standing around for about
eight hours answering questions.
In addition to that, they're going to be walking you
through the tools that we use for internal analysis and all
of our profiling and showing you how to use them.
And at best, if you bring us one of your sites, we'll
actually tell you what's wrong and how to fix
it as soon as possible.
LOUIS GRAY: And so that's the performance Ilya shared.
COLT MCANLIS: Absolutely.
LOUIS GRAY: Now, I like the idea of hearing a bunch of
gurus standing around, like, at my service.
What exactly are they going to be doing?
Is it like I show up with my laptop and they're going to
tweak my browser settings, or what's the deal?
ILYA GRIGORIK: We won't tweak your browser settings
necessarily, although maybe we could, because as you saw in
the keynote, we have the Chrome data compression.
That's already a nice one that you can enable.
But as a web developer, I think another thing that we
can take away from the keynote is not only is the web getting
faster, it's also getting more ambitious in terms of the
applications that we're building, which is why we care
about rendering performance like 60FPS in a browser.
For game developers, this has been a day-to-day thing.
For a lot of web developers, this is a new concept.
So upstairs we're talking people through the steps of
what are the tools in Chrome that can help you figure out
what are the rendering bottlenecks?
Maybe you have a CPU bottleneck, a compute
bottleneck, or maybe it's networking.
So, for example, for networking we have a suite of
tools called Page Speed, which is basically like a
performance linter.
You run analyze, and it tells you here are the 10 things you
should fix right now.
And then we can also provide some tools to help you
automate that web performance best practice, which is great.
LOUIS GRAY: Isn't it true you never really eliminate the
bottleneck.
You just move it to a different place?
ILYA GRIGORIK: Absolutely.
That's what happens.
LOUIS GRAY: And that's the way we always learned that.
I mean, if you get out of this spot, you're going to find
something else that's hot.
ILYA GRIGORIK: Yes.
LOUIS GRAY: So you're talking about really like a
performance analysis service, finding the best stuff, and
finding how you can optimize for that.
I know we often have you online at GDL.
I appreciate you coming on and talking about
making the web fast.
What are those things that web developers can really key on
to try and make their pages load more quickly?
What are the things that really are the slowdowns?
I think one of the pieces that was touched on in the keynote
was the option to get away from possibly JPEG
and moving to WebP.
ILYA GRIGORIK: Yep.
LOUIS GRAY: Can you talk a little bit about that
compression and things that are out there?
ILYA GRIGORIK: That's a really cool example.
So it turns out for an average page on the web today, over
60% of all of the data
transferred is actually images.
So we're building pages which are very media-heavy, lots and
lots of images.
And with WebP, we can actually give or provide about 30%
better compression over JPEG.
And what we didn't mention in the keynote was an 80% win
over PNGs, which we often used for alpha channel and
transparencies, which are very popular in
games and other places.
So you put those two things together by using something
like a WebP format and you get a huge savings, which fewer
bytes transferred, which makes the page load faster.
It also decreases the cost of your page.
I think it's something that we forget on our 4G connections.
For a lot of users, bytes are expensive, so reducing that
amount is actually very, very beneficial.
LOUIS GRAY: You mentioned 4G connections.
I'm going to date myself a little bit and go back to
talking about modems.
ILYA GRIGORIK: Sure.
LOUIS GRAY: So the web, they just announced its 20th
anniversary essentially.
And so some of us have been using the web for a long time.
And some of us were using Mosaic and Netscape
Communicator and all those cool things, where you had
essentially gray pages with blue links, and when you
clicked through, you would get to text files.
And you had to do that, because the downloading speed
wasn't even possible to load an image.
And it was painful to download hundreds of kilobytes of data,
which are things we absolutely take for granted.
And I think often what we run into is if you have a pipe and
you make that pipe bigger, the people who are designing your
apps are going to fill that pipe.
And so how do you manage that kind of one-upmanship on the
equipment side that's really sucking down the data to the
people that are creating bigger and more greater apps?
ILYA GRIGORIK: I think it's a challenge to both us
developers on Chrome and Google and
all the rest to make--
so we want to build more ambitious applications.
We want life streaming to happen.
We want to deliver rich media, rich games in the browser and
all the rest.
So developers keep pushing us to build more ambitious
applications, which means we need to improve the
performance of the web, the performance of the browser.
But it is a collaboration.
We can't fix everything within Chrome, which is why we have
the performance area, where developers can come, show us
their application, and it gives us feedback as a browser
developer to say, here are the things that we need to
address, help developers fix, or vice versa, like we were
not educating developers about something.
LOUIS GRAY: What is it about Chrome specifically that makes
you say it's speedier?
What is it that we can test on?
And what's different about that browser?
COLT MCANLIS: Well, from the ground up, we always focus on
performance.
I mean, that's one of the cornerstones of Chrome that
started in the beginning was we need to make a faster, more
secure browser for people, because that enhances the web
experience for everyone.
The browsers get better, the web gets better,
everyone gets happier.
So we do a lot of things across network, compute, and
render to make sure this happens.
V8 is by far one of the top JavaScript VMs out there.
The way we handle rendering and our utilization of the GPU
is top tier.
We do things that no other browsers can
do just right now.
Networking, we do a lot of great stuff, like the Flywheel
technology, as well as the way we're compressing the network
transfer stuff.
ILYA GRIGORIK: A really cool example with network is Chrome
literally learns the topology of the web.
And it becomes faster the more you use it.
We learn your browsing patterns.
And next time you open the Google News homepage, we say,
hey, we can preload these other pages to make it seem
faster, pre-rendering and other tricks under the hood.
LOUIS GRAY: So a lot of precaching and fetching of
pages that I might go to in the
future, almost like cheating.
I think one thing that Linus, I believe it was, touched on
today, they looked at the performance of Chrome on
JavaScript, both on desktop and on mobile.
And on the desktop side, year over year, maybe we
increased by 50%.
And I apologize if I get the number wrong.
And in mobile, it practically doubled.
And so when you look at mobile, how important is
making the web fast relative to desktop?
COLT MCANLIS: Oh, it's everything right now.
As we've already talked about, the amount of content coming
from mobile platforms is eclipsing desktop.
More and more and more we're seeing that.
And especially it's becoming the life force for a lot of
these small businesses that rely on mobile for their input
and their income.
A user visiting a website has a different sort of
expectation when they visit it on mobile
than they do on desktop.
And so decreasing the load time, increasing the
performance is going to be critical for these guys to
stay afloat as the technology moves forward.
LOUIS GRAY: Well, I know we actually did this pretty fast.
It's good for guys who are doing
performance to talk quick.
And I appreciate your performance on it.
I appreciate you joining us at GDL at I/O.
For those of you who are on the live stream, we're going
to get back to your sessions next.
And follow us again.
We'll be GDL at I/O again at 5:20 talking about Drive.
See you there.