Addy and Open Source

Addy Osmani has spent over fifteen years shaping how the web loads, renders, and performs - first as a community-driven open-source builder, then as an engineering leader at Google Chrome who turned practitioner insights into platform-level standards. His tools and specifications now touch billions of page loads daily. From creating TodoMVC and co-authoring the Fetch Priority spec to establishing Chrome Aurora’s framework partnerships and driving the Speedometer benchmarks used by Apple and Intel to optimize silicon, Osmani’s career traces a singular arc: build the tool, prove the pattern, ship the standard.


The jQuery Years and a Community-Builder’s Education

Before Google, Osmani built his reputation inside the jQuery ecosystem during its peak growth period. He served on the project’s Bug Triage Team, API Documentation Team, and Core Team, working alongside Dave Methvin - who succeeded John Resig as jQuery project lead - during the jQuery 1.6 through 1.7 era around 2011. His contributions were hands-on: triaging bugs, improving documentation, writing developer evangelism posts on the official jQuery blog, and helping launch the jQuery Standards Team alongside Yehuda Katz and Paul Irish.

He also created jQuery UI Bootstrap, a theme that resolved CSS collisions between Twitter Bootstrap and jQuery UI, and co-authored the Universal Module Definition (UMD) pattern. During this period, Osmani was a Senior JavaScript Engineer at AOL, and his jQuery involvement gave him a front-row seat to the tensions developers faced when choosing among a rapidly multiplying set of MV* frameworks - a problem that would inspire his most influential project.


TodoMVC: The Rosetta Stone of JavaScript Frameworks

In 2011, Osmani created TodoMVC: the same todo application implemented across every major JavaScript MV* framework, providing developers a uniform basis for comparison. What began as an educational project became the canonical benchmark for the JavaScript ecosystem. The repository, hosted under the tastejs GitHub organization, grew to encompass 28,900 stars, 13,800 forks, and nearly 3,000 commits, with implementations spanning Backbone, Ember, AngularJS, React, Vue, Svelte, and dozens more. Core contributors included Sindre Sorhus, Pascal Hartig, Stephen Sawchuk, and Sam Saccone.

TodoMVC’s most consequential second life came when Apple’s WebKit team adopted its implementations as the core workload for Speedometer, the browser performance benchmark that would go on to influence chip design. TodoMVC code lives directly in the WebKit/Speedometer repository today. As Osmani later reflected: “We ended up going from TodoMVC being a project for education, to TodoMVC being the basis for how browsers actually benchmark real-world performance.” (Frontend.fm interview)


Speedometer: Benchmarks That Now Shape How Silicon Gets Designed

Speedometer 1.0 launched in 2014 from Apple’s WebKit team, measuring browser responsiveness by simulating user interactions - adding, completing, and deleting 100 todo items - across TodoMVC implementations in Ember, Backbone, jQuery, AngularJS, React, and vanilla JavaScript. Unlike micro-benchmarks, it tested the full browser stack: DOM manipulation, JavaScript execution, CSS resolution, and layout.

Osmani drove the cross-vendor collaboration that produced Speedometer 2.0 in 2018, expanding the benchmark to include React, Redux, Vue, Preact, Inferno, Angular, and modern build tooling like Webpack and Rollup. The scoring methodology shifted to geometric means, and the benchmark became a joint effort between Apple’s WebKit engineers and Google’s Chrome team.

Speedometer 3.0, released March 11, 2024, marked a historic first: all three major browser engines - Blink/V8 (Chrome), Gecko/SpiderMonkey (Firefox), and WebKit/JavaScriptCore (Safari) - collaborated under shared governance, with contributions from Apple, Google, Intel, Microsoft, and Mozilla. Osmani’s Aurora team helped implement this generation, which expanded far beyond TodoMVC to include Next.js and Nuxt news-site simulations, React chart dashboards, CodeMirror editing workloads, and complex DOM stress tests.

The stakes are enormous. Apple explicitly cited Speedometer 2.0 scores when marketing the M1 chip in November 2020, claiming it was “nearly 2x more responsive” based on the benchmark. As John Gruber noted, Speedometer measures “something very real and utterly practical: how fast web rendering is in an actual browser.” Intel, Qualcomm, and every major browser vendor optimize for these scores. A todo app created for framework education now drives hardware architecture decisions affecting billions of devices.


Native Lazy Loading: Turning Years of Advocacy into a Platform Primitive

For years before native browser support existed, Osmani advocated for lazy loading images and iframes without JavaScript. In April 2019, he announced that loading="lazy" would ship in Chrome 75, publishing the definitive blog post on the feature. The attribute shipped stable in Chrome 76 in July 2019, developed with Simon Pieters, Yoav Weiss, and Mathias Bynens. (Chrome native lazy-loading coverage)

In 2020, Osmani tuned Chrome’s lazy-loading thresholds - reducing them from 3,000px to 1,250px on fast connections - to match the behavior developers expected from JavaScript libraries like LazySizes. (addyosmani.com - improved lazy-loading in Chrome) When WordPress 5.5 added loading="lazy" to all images by default in August 2020, adoption exploded: from 4.2% of pages in 2020 to 24.6% of mobile pages by 2024. (HTTP Archive Web Almanac - Resource Hints) Osmani also extended this work to iframes, publishing the announcement for native lazy-loading of embeds when it shipped in Chrome 77.


Fetch Priority: Co-Authoring the Spec That Fixed Resource Loading

The Fetch Priority API (fetchpriority attribute) followed a longer road. Osmani, Yoav Weiss, and Pat Meenan - creator of WebPageTest - co-authored the Priority Hints specification through the W3C Web Performance Working Group and WICG. The concept was first explored in 2017, but an initial origin trial in 2018 drew lukewarm response. Meenan rebooted the implementation effort in 2021, and the attribute (renamed from importance to fetchpriority during standardization) shipped in Chrome 101-102 in mid-2022.

Osmani and Meenan served as spec editors, and the processing model was ultimately merged into the WHATWG Fetch and HTML specifications. Safari added support in December 2023; Firefox followed in October 2024, making it universal across all browsers. (DebugBear - fetchpriority explainer) (Calibre - Priority Hints)

The impact is measurable: Google Flights saw LCP improve from 2.6 seconds to 1.9 seconds after adopting fetchpriority. When WordPress 6.3 added automatic fetchpriority="high" on LCP images in August 2023, adoption jumped to 17% of mobile pages in a single release cycle. Pat Meenan called it “a cheat code for LCP.”


In 2018, Osmani released two complementary prefetching projects that would prove to be a direct blueprint for a future web platform API.

Quicklink (11,200+ GitHub stars) used IntersectionObserver to detect visible links, requestIdleCallback to schedule fetches during idle time, and navigator.connection.effectiveType to respect slow connections - all in under 2KB. It made intelligent prefetching accessible to any site without a build step. (web.dev - Quicklink in React)

Guess.js, announced at Google I/O 2018 with Minko Gechev and Katie Hempenius (Minko Gechev’s introduction post), took a more ambitious approach: it consumed Google Analytics session data at build time to construct Markov chain models predicting user navigation, then prefetched the most probable next pages at runtime. Osmani also published earlier exploratory work as a predictive-fetching research repo, which helped seed community discussion about ML-powered navigation prediction.

These libraries directly informed the Speculation Rules API, which shipped in Chrome 109 in January 2023. The parallels are unmistakable: Quicklink’s viewport-based link detection became Speculation Rules’ document rules with href_matches and selector_matches; Quicklink’s idle-time scheduling became the API’s tiered eagerness levels (immediate, moderate, conservative); both libraries’ network awareness became the browser’s built-in resource and connection constraints. (Speculative loading and the Speculation Rules API - PerfPlanet 2024) Quicklink itself has since been updated to use Speculation Rules when available, completing the circle from library to platform. Google Search, WordPress, Cloudflare, and Akamai now use Speculation Rules in production.


Chrome Aurora: Making High Performance a Framework-Level Default

Osmani’s Chrome team had long-standing engineering relationships with Angular and React that predated any formal program, reaching back to approximately 2019. In June 2021, he formalized this work as Chrome Aurora (internally codenamed “WebSDK”), with the thesis that high UX quality should be a side effect of building for the web, not something every developer must manually optimize. (Introducing Aurora - Chrome for Developers) (Chrome blog - What’s New with Aurora 2023)

The team - which included Shubhie Panicker, Kara Erickson (herself a former Angular Technical Lead), Houssein Djirdeh, Alex Castle, Gerald Monaco, and others - shipped performance improvements directly into the frameworks developers were already using, rather than asking them to change their habits.

Aurora’s most impactful contributions include:


Funding the Ecosystem: Over $800K to Open Source Infrastructure

Alongside engineering collaboration, Osmani championed the Chrome Web Frameworks and Tools Performance Fund, distributing direct financial support to the foundational open-source tools that the web runs on. (Chrome’s Framework for Open Source Investment - Open Collective)

The fund supported Nuxt, Vue, Vite, Astro, Svelte, Preact, ESLint, Rollup, Sharp, webpack, and many others. In 2021, the team committed over $200,000 to webpack, ESLint, and Vue ecosystem projects. The 2022 fund distributed over $500,000 through Open Collective. Google Chrome became an ESLint gold sponsor at Osmani’s recommendation - ESLint lead Nicholas C. Zakas called it transformative for the project’s sustainability. Evan You credited Chrome’s funding with allowing a full-time developer focused specifically on Vue and Vite performance. An Advanced Web Apps Fund distributed an additional $100,000+ to eleven smaller projects. Conservative estimates place total ecosystem funding at $800,000 to $1 million across all Chrome open-source funds under Osmani’s leadership.


Tools That Defined an Era

Beyond standards work, Osmani built or co-created a generation of tools that developers still rely on today:


The Through-Line: Practitioner Patterns Become Platform Primitives

The consistent pattern across Osmani’s career is unmistakable. He identified lazy loading as essential, built advocacy and implementation work inside Chrome, and loading="lazy" now appears on a quarter of all mobile pages. He built Quicklink and Guess.js to prove prefetching patterns, and those patterns became the Speculation Rules API baked into Chromium. He co-authored the Fetch Priority spec from years of studying resource prioritization, and fetchpriority is now in every major browser. He created TodoMVC for education, and it became the workload that drives how Apple, Intel, and every browser vendor optimize their silicon and engines through Speedometer. He established Aurora to push performance best practices into frameworks at the source, rather than asking millions of individual developers to become performance experts.

Each project followed the same cycle: identify a developer pain point, build an open-source tool that solves it, validate the pattern at scale, then work with standards bodies and browser teams to make it a permanent part of the web platform. Over 20 million developers have engaged with his content. The specifications he co-authored and the benchmarks he drove now reach billions of users on billions of devices - a testament to the compounding power of open-source work done with standards-grade ambition.