Transitive Optimization ConsideredāInteresting
Published on July 10, 2024, filed under Development (RSS feed for allĀ categories).
Transitive optimization is optimizing Y by virtue of optimizing X.
The idea borrows from mathematics and economics. * To explain, I prefer the economics definition:
Consider three bundles of goods, A, B, and C. If a consumer prefers A to B (denoted as š“ā»šµ) and B to C (šµā»š¶), transitivity implies that the consumer will prefer A to C (š“ā»š¶).
Accordingly, transitive optimization means that if we improve A to optimize B, and optimizations of B also optimize C, then improving A should also lead to an optimization of C.
For example, if we do something (A) that optimizes website performance (B), and website performance benefits the user experience (C), then A, optimizing B, should also optimize C. Transitive optimization.
Here is where things get trickyāand hopefully ā interesting:
- Optimizations are not always checked on transitivity.
- Optimizations may or may not be transitive.
- One-dimensional optimizations have their own problems.
1. The Curious Case of Neither Checking Nor Mentioning That an Optimization Is Transitive
The first observation we can make is that transitive optimizations arenāt always called out as such. Thatās not a terminology thingāitās instead both a bug and a feature.
Take performance optimization again. It doesnāt seem common that user experience (which performance optimization optimizes transitively) is being called out as the optimization target. (Scanning headlines, that checks out.)
This appears to be a feature: That performance benefits the user experience seems clear, and therefore repeatedly mentioning UX would be spelling out the obvious.
But it also looks like a bug: Anything that optimizes transitively seems to be an optimization for the reason of optimizing whatever it optimizes transitively. That is, if we optimize performance in order to improve UX, then that doesnāt look like something never to be mentionedāit looks so substantial perhaps always to be mentioned.
That makes for the somewhat curious case, of not mentioning (and maybe not even checking) that an optimization is transitive. Interesting š
2. The Non-Trivial Question of Whether an Optimization Is Transitive
Not every optimization can be transitive, because then there would be no āfinalā optimization. Some optimization must be the target optimization.
That means that an optimization needs checking whether it is transitive.
Performance optimization seems to be on the easier sideāif better performance is better for a user, then performance optimization leads to user experience optimization. Cool!
But take accessibility, and accessibility improvements, and therefore accessibility optimization. That seems transitive, tooāit seems to likewise transitively optimize the user experience.
But, again, is this as true, or true as often, as with the more trivial case of performance optimization? If we improve TTFB, FID, LCP, INP, some other three- or four-letter abbreviation, it seems to benefit most every user.
But, once more,āand this isnāt a case against accessibility, which would be a serious error in thinking and logicāthe adding of alternative content, the simplifying of language, or the improving of contrast do not have the same reach. They improve the experience for various groups of people, of various sizes. And, something we get to in the next point, they may have consequences for other areas.
Make it easierāor differentā, and now take SEO (an optimization thatās even called an optimization!). Is SEO transitive? Google, originally putting the user first, might say so (i.e., SEO means UXO). Many people observing SEO over the last 20 years might disagreeāyet they may say SEO optimizes site owner bottom line or search engine bottom line, or perhaps nothing at all anymore.
We could pick other areas in which we optimize something, and look into whether or to what degree the optimization is transitive. In the end, that seems non-trivial to determine. Interesting š
3. The General Issue of One-Dimensional Optimization
About this, Iāve written an entire article: One-Dimensional Website Optimization Considered Interesting Harmful.
The gist is, we also have the following problem: Itās not economical, even harmful, to push hard and exclusively on a single optimization. That gets really expensive, and can lead to highly impressive garbage.
Transitive optimization may suggest that in certain cases, we couldnāt only do one type of optimization, which would seem like transitive optimization was at least two-dimensional.
But that doesnāt follow logically, and it misses the first two pointsāwe first need to (be able to) determine whether an optimization is transitive, and then we may benefit from labeling it as suchā¦ which kind of exposes the one-dimensionality of the optimization, if whatever optimization weāre talking about is all weāre optimizing all day. Interesting!
Are you still there? š«°
What Does This All Mean, and Why Does It Matter
This whole essay isnāt going to change the world.
However, I hope to have shown that the case is, indeed, interesting. (At least a little bit. Donāt you agree?)
Yet it means this:
-
Itās useful to be clear about what weāre optimizing and whom weāre optimizing for.
-
Itās useful to be explicit. Not everywhere, not all the time, but if we care about the user experience, then our work in performance, accessibility, SEO, or any other work involving optimizations wants this called out.
-
And, itās useful to mind one-dimensional optimizations. Sometimes, when weāre deep in our respective optimization bubble (perf, accessibility, SEO, &c. pp.), we forget that thereās more to optimizeāand that our optimizations may at some point start to have a negative effect on other areas. (Itās what makes our overall field itself soā¦ interesting.)
And thatās enough āinterestingā for today. Next time, Iāll be back with something dry again.
* Given few mentions, thatās at least where I borrow from. But I may always miss something, obvious or not, so perhaps this is all clear, or all known, or goes under a different name, or something else.
ā Iāve meant to have this post reviewed, and then opted to publish even though Iāve felt like I may be missing something obvious. Did I? Please teach me!
About Me
Iām Jens (long: Jens Oliver Meiert), and Iām a frontend engineering leader and tech author/publisher. Iāve worked as a technical lead for companies like Google and as an engineering manager for companies like Miro, Iām a contributor to several web standards, and I write and review books for OāReilly and FrontendĀ Dogma.
I love trying things, not only in web development (and engineering management), but also in other areas like philosophy. Here on meiert.com I share some of my experiences and views. (Please be critical, interpret charitably, and giveĀ feedback.)
Read More
Maybe of interest to you,Ā too:
- Next: Thoughts on CSS in 2024
- Previous: 3 Good Reasons for Vegan and Vegetarian āSubstituteā Products
- More under Development
- More from 2024
- Most popular posts
Looking for a way to comment? Comments have been disabled,Ā unfortunately.
Get a good look at web development? Try WebGlossary.infoāand The Web Development Glossary 3K. With explanations and definitions for thousands of terms of web development, web design, and related fields, building on Wikipedia as well as MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, andĀ Leanpub.