But oh, how naive we all were! Just beneath the cheerfulness and hair gel lay a small, non-standard feature that would grow to grotesque proportions. In addition, it would lead to confusion, bug reports, workarounds and blog posts.
zoom was its name, and we are only now coming to terms with its shame.
Ambitious start
The idea behind it zoom was quite simple: allow developers to visually expand or shrink a particular element. Set zoom: 2and the element would double in size. zoom: 0.1and it would shrink by a factor of ten. And et cetera! Obviously it would push/pull the surrounding elements to fit the new dimensions.
The only problem was that no one took the time to write a formal specification for this behavior. zoom was just one of many features that helped browsers differentiate themselves in the marketplace. The fragmented nature of the early Web platform is well documented, but suffice it to say: it wasn’t good for the developers, and it wasn’t good for the users of the Web.
That is why, during the first years of its existence, zoom had largely only been introduced as digital window dressing; some sites looked nicer, but they would still function without it.
A new beginning
The largely redundant nature of zoom was important to Mozilla, which made standards compliance a priority from day one. While it was preparing Firefox for a stable release in 2004, it was able to ignore this zoom and instead focus on technology with clear acceptance criteria.
It wasn’t long ago the web standards organizations designed CSS
transform. Not only has this new real estate given developers subsidies zoom-like behavior; it allowed for even more control over the shape of elements, and it could be done more efficiently on low-power devices. Granted, that wasn’t the case precisely the same (transforming an element would not affect the position of its neighbors), but to the extent that Mozilla had previously felt compelled to reverse engineer IEs zoomsupportive transform was a kind of pressure relief valve.
Apple took a more comprehensive (although costly) approach: it implemented everything. Safari 3.5 introduced support for transformand added the next release zoom (including, perhaps inevitably, his own idiosyncrasies) on top of that.
So, zoom on the web platform has reached a truly liminal status: ignored by the committees, inconsistently implemented by some search engines, rejected by other search engines and viewed with suspicion by web developers.
Misleading popularity
A few years ago, Mozilla and Bocoup teamed up to prioritize the features that Firefox alone didn’t support.
zoom was on the list, but that was more for completeness than anything else.
We’ve developed a whole range of metrics to measure the popularity of a web platform feature. They contain the results of a survey conducted by us among web developers, the traffic analysis of which was carried out MDN documentation, total number of entries Stack overflow, the Chrome browser telemetryand even actual use on the Internet (as shown in the HTTP Archive dataset).
Considering everything I’ve said about it zoomyou would expect it to score low on each of the metrics. If so, you’ll want to sit down for this next part:
zoom ranked near the top of most metrics and ranked second overall.

It would be easy to simply conclude that our statistics were worthless. I wish you’d cut me some slack, but you don’t even know me, so whatever.
The truth is zoomThe program’s apparent popularity is overshadowed by a surprising, but ultimately irrelevant use case. To see, zoom was Also a kind of “weird trick”. making IE behave more like standards-compliant browsers. Here’s the short version: you would set it to the default value of 1 to make IE chill without affecting the behavior of another browser. That technique is becoming increasingly useless trivia because IE 8 solved the problemand IE 11 ended the history of the browser. Nowadays you usually only see the pattern in old versions of the “clearfix hack”.
If set zoom Unpleasant 1 only fixes a defunct browser, then surely we should ignore that kind of usage in our calculations, right? We couldn’t limit all our metrics this way, but it was trivial to ignore zoom: 1 in our search for real web pages.
Well, almost trivial. When we initially searched the HTTP archive zoom
usage, we used a somewhat complex regular expression to avoid false positives:
\bzoom\s*:\s*([0-9]+%?|[0-9]*\.[0-9]+%?|normal|reset|inherit|initial|revert|revert-layer|unset)\s*[;\n}]
While simplicity is a virtue, we have become “complete RegExp junkies” to avoid false positives. ‘zoom’ is a fairly common word in modern English writing and we wanted to make sure we didn’t count pages with content like ‘Okay, zoomer’ and ‘It was revealed that Zoom is reusing private user data to train machine learning models.’To rule out 1 From that pattern we had to make it even more complicated1:
\bzoom\s*:\s*(\+?[0-9]*[02-9]|\+?[0-9]*[1-9][0-9]*1|\+?[0-9]+%|\+?[0-9]*\.[0-9]+%?|normal|reset|inherit|initial|revert|revert-layer|unset)[;\n}]
And indeed, that reduced the number of matches by more than 94%:
| zoom value | pages |
|---|---|
| any value | 20,161,142 |
| meaningful value | 1,123,519 |
Such a drastic reduction on one measure would certainly be reflected as a significant reduction on the other. We encouraged Mozilla to focus their efforts elsewhere.
Revival
Obviously, no decision about web interoperability can be distilled into mathematical analysis. We tried to take this into account by including an interactive spreadsheet in our report, which allowed viewers to apply their own weight to each metric. Unfortunately, even our fancy spreadsheet couldn’t capture the wealth of considerations at play. I dare say it no one could write a spreadsheet so beautiful that it could capture that wealth.
About the Firefox Bug Tracker, web developers continued to face criticism zoom‘s layout-influencing behavior (the part that cannot be replicated transform):

And lest anyone consider it of marginal interest, some highly trafficked applications (Microsoft Excel for Web and the Gmail Mobile Web App) specifically required the layout effects. By 2023, the CSS working group has come up with a smart way forward: write a specification for a new species zoom (one with fewer quirks2), and let everyone implement it That. They wrote the specifications And suggested it be prioritized. The Interop project accepted it inside
Interop 2025and today, it enjoys quite extensive support.3
And it only lasted 25 years!
What can we learn from this story of frustration and woe? I’m happy to humbly offer my findings as a web developer who witnessed this story. I can also express my judgment haughtily as the incredible advisor who took care of evolution.
First of all, never discount the internet. Consensus is not the fastest form of consultation, but it promotes the creative and inclusive solutions that a global programming platform needs. Second, don’t build on proprietary technology. At best, you calcify insular functionality; at worst, you sow the seeds of disappointment when licensees change their minds or cease to exist altogether. And thirdly: Disappeared in sixty seconds was just okay. Not great, but not terrible either.
#employeeowned #engineering #consultancy #Bocoup


