HTML5 Tutorial

Building a PWAMP #0: Introducing the ShadowReader

TL;DR: Try out the ShadowReader, and browse the source code at ampproject/amp-publisher-sample/amp-pwa-reader. In this series of tutorials, I’ll walk through the most important steps of how I’ve built the ShadowReader, a (fairly) production-ready, vanilla-JS implementation of the PWAMP pattern combining AMP and PWA. But before we dig in, “what’s the point of doing this”, you […]

Performance Tutorial

The Illusion of Speed

If you could take a 50% hit in real world performance and get a site that feels 50% faster, would you? For years, my colleagues and I have been working on convincing developers that faster websites are better websites. That’s not what this article is about. I’m not going to give you stats about how […]

For less debugging madness, set a perf budget

If your plan was to build all the features of your app first, then spend a week to “clean up” and fix any perf issues, then here’s some friendly advice: Make a new plan. While I applaud the various DevTools teams around the world for constantly improving their performance tooling story, performance debugging on the […]

What I learned from going to a design conference

I just came back from Awwwards LA and had a blast. While not technically a design conference (they cross over quite a bit, which is why they invited folks like myself and Sarah), the largest part of the audience were designers (as opposed to developers, my usual audience). Here’s what I thought was interesting and […]

CSS Tutorial

Block formatting contexts and lists

If you’ve been reading about the latest in CSS, you might have read about flow-root. Flow root establishes a new block formatting context, but most have dismissed it as simply replacing clearfix hacks. But consider this extremely common case, where you have a few paragraphs of text, some bullet points and a floating image: See […]


Note: Like always, these are my personal experiences, and don’t reflect the opinion of my employer. I refrained from commenting on my experience with Edge in this post due to being biased (working on Chrome stuff) (but my comments would have been mostly positive). I’m typing this blog post on my new Dell XPS 13 […]

Debunked: 10 Misconceptions about AMP

Disclosure (updated on 10/15): For those that have come here for the first time or don’t like to read About pages, I work at Google and am a web developer advocate, currently focussed on AMP. If you’d rather watch than read, the top 5 are now available as video: #1: “AMP is a new render […]

Long live the Desktop

In his Ode to the Desktop, Dion writes: I consumed more and created less I’ve written down similar thoughts many years ago, and I’m glad we’re having this discussion again. The above summarizes the biggest flaw of the new and shiny. Tablets and phones are inferior when it comes to most creative tasks: Worse input […]