HeadlinesBriefing favicon HeadlinesBriefing.com

The Performance Inequality Gap, 2026

Hacker News •
×

Have we finally rounded the corner? A look at the device and network landscape. The Budget, 2026 Edition. Updated network test parameters for 2026 are: 9 Mbps downlink, 3 Mbps uplink, 100 millisecond RTT.

Regarding devices, my updated recommendations are the Samsung Galaxy A24 4G (or equivalent) and the HP 14. The goal of these recommendations is to emulate a 75th percentile user experience, meaning a full quarter of devices and networks will perform worse than this baseline. Plugging these parameters into the updated budget calculator, we can derive critical-path resource thresholds for three and five second page load targets.

Per usual, we consider pages built in two styles: JS-light, where only 15% of critical-path bytes are Java Script, and JS-heavy, comprised of 50% Java Script. Time JS-light (Mi B) JS-heavy Total JS Other Total JS Other 3 sec 2.0 0.3 1.7 1.2 0.6 20.6 25 sec 3.7 0.5 7.3 2.2 2.3 11.5 1.1 5. Note: Budgets account for two TLS connections.

Many sites initiate more early connections, reducing time available to download resources. Using four connections cuts the three-second budget by 350 Ki B, to 1.5 Mi B / 935 Ki B. The five-second budget loses nearly half a megabyte, dropping to 3.2 / 1.9 Mi B.

It pays to adopt H/2 or H/3 and consolidate connections. These budgets are extremely generous. Even the target of three seconds is lavish; most sites should be able to put up interactive content much sooner for nearly all users.

Meanwhile, sites are ballooning. The median mobile page is now 2.6 Mi B, blowing past the size of DOOM (2.48 Mi B) in April. The 75th percentile site is now larger than two copies of DOOM.

P90+ sites are more than 4.5x larger, and sizes at each point have doubled over the past decade. Put another way, the median mobile page is now 70 times larger than the total storage of the computer that landed men on the moon. Median page weights are more than 2.5x larger for mobile sites than a decade ago, and sites at the 75th percentile are now 4x their 2015 weight.

An outsized contributor to this bloat comes from growth in Java Script. Mobile Java Script payloads have more than doubled since 2015, reaching 680 Ki B and 1.3 Mi B at P50 and P75 (respectively). This compositional shift exacerbates latent inequality and hurts businesses trying to grow.

When Java Script grows as a proportion of critical-path resources, the impact of higher CPU cost per byte reduces budgets. This coffin corner effect explains why image and CSS-heavy experiences perform better byte-for-byte than sites built with the failed tools of frontend's lost decade. Indeed, the latest Cr UX data shows not even half of origins have passing Core Web Vitals scores for mobile users.

More than 40% of sites still perform poorly for desktop users, and progress in both cohorts is plateauing: This is a technical and business challenge, but also an ethical crisis. Anyone who cares to look can see the tragic consequences for those who most need the help technology can offer. Meanwhile, the lies, half-truths, and excuses made by frontend's influencer class are in defence of these approaches are, if anything, getting worse.

Through no action of their own, frontend developers have been blessed with more compute and bandwidth every year. Instead of converting that bounty into delightful experiences and positive business results, the dominant culture of frontend has leant into self-aggrandising narratives that venerate failure as success. The result is a web that increasingly punishes the poor for their bad luck while paying developers huge salaries to deliver business-undermining results.

Nobody comes to work wanting to do a bad job, but low-quality results are now the norm. This is a classic case of under-priced externalities created by induced demand from developers and PMs living in a privilege bubble. The interactive budget calculator has been updated and revised for 2026, allowing you to see the impact of networks, devices, connections, and Java...