The State Of The Web

In April 2021, Jeremy Keith gave the opening presentation at An Event Apart Spring Summit 2021. In true Jeremy-style this talk starts off with space and the early days of the web, to eventually bring us to the present day.

Watch this talk (or read the transcript). And then watch it again. It’s packed with good advice.

Browsers have increased in complexity so that we can build without complexity. We can use the built-in power of modern HTML, CSS, and JavaScript to make web browsers do the work. If we work with the grain of the web, we can accomplish more and more with less and less code.

But that isn’t what happened. Instead developers have recreated form controls like dropdowns and datepickers from scratch using divs and lashings and lashings of JavaScript.


Let’s step back. Get some perspective. Instead of assuming that a single page app architecture is needed, ask what users need to accomplish. Instead of assuming you need a CSS framework or a JavaScript library, see what you can do in browsers today with native CSS and vanilla JavaScript. Don’t include a bunch of dependencies by default just in case you might need them.

Lean into what web browsers can accomplish today. If you find something missing, that’s the time to reach for a library … but treat it like a polyfill. Whereas web standards stick around, every library and framework comes with a limited lifespan. Treat them as cattle, not pets.

That last quoted paragraph resonates perfectly with this tweet I sent out earlier this year:

If you hit the Twitter thread, you can see that link to Pace Layers, something that Jeremy covered in his talks “The Layers Of The Web” and “Building” — also two talks worth your time.

The State Of The Web →

Published by Bramus!

Bramus is a frontend web developer from Belgium, working as a Chrome Developer Relations Engineer at Google. From the moment he discovered view-source at the age of 14 (way back in 1997), he fell in love with the web and has been tinkering with it ever since (more …)

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.