Archive
Everything on the site, in one list
Thirteen pieces, five sections, from the browser disagreements of the early 2000s to the parts that turned out to be durable.
- Browsers disagreed about everything
- 01The libraries existed because nothing agreed
Before the DOM APIs converged, the same operation needed different code per browser. That is the whole reason a compatibility layer was worth loading.Disagreement - 02Two rendering modes, because the old pages had to keep working
Quirks mode exists so documents written against earlier behaviour would not break when the standards mode arrived. It is still there.Disagreement - 03A support table became the thing people argued from
Can I Use turned browser support into a citable artefact, which changed technical arguments from opinion into a shared reference.Disagreement - The library decade
- 04Ten years of writing a dollar sign and meaning it
John Resig released jQuery in 2006. It stayed on a majority of measured sites for roughly a decade, well past the point where it was necessary.The Library Decade - 05The standard made most of it unnecessary and nobody noticed
The Selectors API gave native querySelectorAll, which covered the single most common reason to load the library. Adoption barely moved.The Library Decade - 06Two rivals lost to the one with better documentation
Prototype and MooTools were technically comparable and both faded. The difference was how easy each was to learn from its own site.The Library Decade - The package decade
- 07A dependency became free to add and expensive to audit
npm launched in 2010 and made installing someone else's code a single command. The cost moved from adding it to knowing what you had added.The Package Decade - 08A text file turned into a pipeline
Bundlers made the build step mandatory for ordinary front-end work, which put a toolchain between the source and what the browser receives.The Package Decade - 09The browser learned modules and the build step shrank
Native ES modules let development servers skip bundling entirely, which reversed a decade of the toolchain getting heavier.The Package Decade - What broke, and what it showed
- 10Eleven lines, and thousands of builds
In March 2016 an eleven-line package was unpublished and broke builds across the ecosystem. The code was trivial; the dependency graph was not.Breakages - 11A maintainer handed a popular package to a stranger
The 2018 event-stream incident began with an ordinary handover of an unpaid maintenance burden, which is the part that has not been solved.Breakages - 12An author broke his own libraries deliberately
In January 2022 the maintainer of colors.js and faker.js sabotaged both, which turned a labour question into an operational one overnight.Breakages - What is left standing
- 13JSON won because it was already there
Douglas Crockford documented rather than invented JSON, and it displaced heavier formats by needing no parser anybody had to install.Now