Hi, I'm Jeremy. I'm a technical writer and I write about the web. I wrote Responsible JavaScript and other books. I've also written for publications such as A List Apart and CSS-Tricks. Below are some selected writings of mine from years past:
- Articles
- Books
-
Don't fight the browser preload scanner
Find out what the browser preload scanner is, how it helps performance, and how you can stay out of its way.
-
Interaction to Next Paint (INP)
Interaction to Next Paint (INP) is an experimental field metric that assesses responsiveness. INP logs the latency of all interactions throughout the entire page lifecycle.
-
I went and wrote a book
I wrote Responsible JavaScript for A Book Apart. I hope you'll consider buying it, and if you do, I hope you like it.
-
Responsible JavaScript
Learn how to use JavaScript responsibly and create resilient experiences that are more accessible and inclusive.
-
Time to First Byte (TTFB)
Time to First Byte (TTFB) is a foundational metric for measuring connection setup time and web server responsiveness in both the lab and the field. It helps identify when a web server is too slow to respond to requests. In the case of navigation requests — that is, requests for an HTML document — it precedes every other meaningful loading performance metric.
-
Assessing Loading Performance in the Field with Navigation Timing and Resource Timing
Learn the basics of using the Navigation and Resource Timing APIs to assess loading performance in the field.
-
Now THAT'S What I Call Service Worker!
If you're looking to achieve the single-page app level performance without the overhead (and boot time) of a huge JavaScript library or having to completely rewrite your website in a new technology, Jeremy Wagner shares a clever approach combining Service Worker and streamed web page partials you're sure to love.
-
radEventListener: A Tale of Client-side Framework Performance
React has its place when complex state management is required. In my experience, however, it doesn't belong in most scenarios. When even a bit of React is a problem on devices slow and fast alike, using it is a choice to exclude those on low-end hardware.
-
Innovation Can't Keep the Web Fast
Every so often, the fruits of innovation bear fruit in the form of improvements to the foundational layers of the web. Unfortunately, web developers are locked in an arms race between these foundational improvements, and ever-increasing page sizes.
-
Defining productivity
In which I ask what the true meaning of productivity is when it comes to web development.
-
Responsible JavaScript: Part I
The web is drowning in a sea of JavaScript, awash with unnecessary bloat, inaccessible cruft, and unsustainable patterns. Jeremy Wagner plots a course to navigate the JavaScript Sea responsibly by building the right things the right way and using the web platform the way it was meant to be used.
-
Make it boring
In which I make the case that the web we build should be more boring to better benefit those who use what we make.
-
The WebP Manual
In this ebook, you'll learn all about WebP: what it's capable of, how it performs, how to convert images to the format in a variety of ways, and most importantly, how to use it.
-
Designing for Research
Image quality may be about striking the balance between speed and quality, but there's more to it than meets the eye. What if, despite having methods to develop better and better image experiences for the web, the user disagrees? In a quest to find answers, Jeremy Wagner takes us through an image quality study that he designs, develops, and iterates on with user feedback. Asking “Why?” is no easy undertaking in research. His lossy is your gain.
-
Help Your Users `Save-Data`
When enabled, Chrome's Data Saver mode sends a `Save-Data` request header you can use to help users conserve data. How you will help your users `Save-Data`?
-
Next Generation Server Compression With Brotli
Chances are pretty good that you've worked with, or at least understand the concept of, server compression. By compressing website assets on the server prior to transferring them to the browser, we've been able to achieve substantial performance gains. In this article, learn how you can squeeze even more performance out of your website with Brotli.
-
`font-display` for the Masses
Default rendering behavior for web fonts in browsers can be fraught with peril, and sometimes can even cause accessibility problems. Learn how you can regain control of web font rendering with ease using the CSS `font-display` property!