Profile cover photo
Profile photo
Jake Archibald
6,496 followers -
Developer Advocate working at Google
Developer Advocate working at Google

6,496 followers
About
Posts

Post has shared content
HTTP 203 Podcast!

That's right, you can now get a podcast of +Jake Archibald and me talking about the web! We're just waiting for it to get listed all around the place, but most apps let you add it via a feed URL.... so go go go!
Add a comment...

Post has attachment
I had a responsive images epiphany and I wrote it all down before I forgot everything
Add a comment...

Post has attachment

Post has attachment
The web must keep developing! My response to ppk suggesting the web should stop adding new features for a year:
Add a comment...

Post has attachment
It's a new HTTP 203! +Paul Lewis & I discuss the benefits of progressive loading, and how JavaScript frameworks often get in the way.

Also, I can't speak.
Add a comment...

Post has attachment
It's another HTTP 203! This time, I think web security is an important and good thing, whereas +Paul Lewis doesn't because blah blah I wasn't even listening tbh
Add a comment...

Post has attachment
It's an all new HTTP 203! +Paul Lewis is worried that the complexity of build tools are creating a steep "on ramp" for the web. Meanwhile, I've ruined a pair of earphones.
Add a comment...

Post has attachment
Here's a little video (10 mins) where I look at the performance difference between client rendering, server rendering, and serviceworker rendering.
Add a comment...

Post has attachment
There was some confusion over the fetch API, with some claiming it's "high level". It isn't, let's take a look at some of the low-level features.

http://jakearchibald.com/2015/thats-so-fetch/
Add a comment...

I've been micro-optimising the performance of https://jakearchibald.github.io/svgomg/ - since the ServiceWorker makes it more likely to have a full cache, I've been looking at time-to-first-render in the full-cache case.

I have some inline CSS & html for first render, then lazy-load in the CSS and <script async> the javascript. However, it was taking 700ms to get from page received to first render on a Nexus 5.

Because the CSS and scripts were cached, they were arriving before first render, that meant the browser was executing/layouting/rendering their results before first render.

The answer? requestAnimationFrame. I was already loading the CSS via JS, but now I'm loading the additional scripts that way too, wrapped in requestAnimationFrame https://github.com/jakearchibald/svgomg/blob/e3dd1ed876ff066bad90a90b63bd319d08e76858/src/index.html#L213

Page-received to first-render on a Nexus 5 went from 700ms to 160ms.
Add a comment...
Wait while more posts are being loaded