Jens Oliver Meiert

Performance Rule #1: Do What You Need to Do—But Not More

Post from November 13, 2018 (↻ May 29, 2021), filed under .

Web Performance has over the age of the Web not only turned into a discipline by itself, but also a complex one at that (and one that can but shouldn’t be seen in isolation).

While important much less so for revenue (higher speed correlates with higher conversions) but for user experience (a fast site or app feels instantaneous, whereas a slow one may get abandoned) and accessibility reasons (hundreds of millions of people access the Internet on slow mobile connections), there’s a particular angle at performance that makes the matter very simple: the pragmatic one.

This angle says: Just do what you need to do. But not more.

Which means: Publish the content you need to publish. Write the code you need to write. Use the assets you need to use. Embed the third party styles and scripts you need to embed. But don’t do anything more than that.

It’s a simple and effective rule addressing all our performance aspirations—as long as we know what we need.

That, then, seems to be our true performance challenge. Very often, we do not know exactly what we need.

We may not know what contents should really go on each page (though that one, for many of us, is a decision made by the content owners we’re working with). We may not know what code we need, and truly need *. We may not know what assets, multimedia that is, are really crucial and which ones aren’t, or how they’re all delivered most effectively. We may not know that we don’t need a reset or what part of jQuery we feel we require is long part of native ECMAScript. We may not know.

This translates to an interesting situation, then: Performance can be a very simple matter once we understand what we actually, really, truly need . For content, and for code. Because once we understand that, we can stop right there, and refuse to add more contents, write more code, and embed more resources. Because on the other end, performance has never been about leaving out what one truly needed. It’s always been about what more one could leave out—what one can omit, defer, cache, and compress. And only there, with rules #2 and up, things get more complicated.

Val’s quick temper flames and the fight that follows is a classic.

Figure: A different type of performance. (Copyright King Features Syndicate, Inc., distr. Bulls.)

* The unpopularity of omitting optional tags, a by now ancient markup optimization concept that hooks up on actual HTML necessities, may be a good example for this. Other ones are JavaScript support and favicons.

Not surprisingly, external frameworks come with a performance tax for precisely this reason, which I elaborated on in detail in The Little Book of HTML/CSS Frameworks and the school of tailoring.

Tweet this? (If it changed your life, you delight me with a coffee.)

About Me

Jens Oliver Meiert, on April 29, 2020.

I’m Jens Oliver Meiert, and I’m an engineering manager and author. I’ve worked as a technical lead for Google, I’m close to the W3C and the WHATWG, and I write and review books for O’Reilly. Other than that, I love trying things, sometimes including philosophy, art, and adventure. Here on I share some of my views and experiences.

If you have questions or suggestions about what I write, please leave a comment (if available) or a message.

Read More

Have a look at the most popular posts, possibly including:

Looking for a way to comment? Comments have been disabled, unfortunately.

Cover: The Web Development Glossary.

Perhaps my most comprehensive book: The Web Development Glossary (2020). With explanations and definitions for literally thousands of terms from Web Development and related fields, building on Wikipedia as well as the MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.

Stay up-to-date? Follow me by feed or on Twitter.

Found a mistake? Email me,

You are here: HomeArchive2018 → Performance Rule #1: Do What You Need to Do—But Not More

Last update: May 29, 2021

Professional frontend developers produce valid HTML and CSS.