The Website Obesity Crisis ☁️ If present trends continue, there is the real chance that articles warning about page bloat could exceed 5 megabytes in size by 2020. The problem with picking any particular size as a threshold is that it encourages us to define deviancy down. Today’s egregiously bloated site becomes tomorrow’s typical page, and next year’s elegantly slim design. I would like to anchor the discussion in something more timeless. To repeat a suggestion I made on Twitter, I contend that text-based websites should not exceed in size the major works of Russian literature. A Talk by Maciej Cegłowski idlewords.com The Taft TestIs software getting worse?Software disenchantmentJavaScript Bloat in 2024How web bloat impacts users with slow devices +2 More webcodeperformancesmallnesssizebloat
A plea for lean software ☁️ Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials. An Essay by Niklaus Wirth cr.yp.to Measured by the number of its featuresEssential vs. nice to haveDependence is more profitable than educationThe most rewarding iterationsNever enough time A grossly obese set of requirementsFeatures and complexityA 2024 Plea for Lean Software (with running code)Lean Development and the Predictability Paradox agilebloatcodefeaturesperformancesoftware
Engineering for Slow Internet ☁️ South Pole satellite schedule, for two weeks in October 2023. These small intermittent links to the outside world are shared by everyone at Pole, for operational, science, and community / morale usage. Any individual trying to use the Internet for community use at the South Pole, as of October 2023, likely faced: Round-trip latency averaging around 750 milliseconds, with jitter between packets sometimes exceeding several seconds. Available speeds, to the end-user device, that range from a couple kbps (yes, you read that right), up to 2 mbps on a really good day. Extreme congestion, queueing, and dropped packets, far in excess of even the worst oversaturated ISP links or bufferbloat-infested routers back home. Limited availability, frequent dropouts, and occasional service preemptions. These constraints drastically impact the modern web experience! Some of it is unavoidable. The link characteristics described above are truly bleak. But – a lot of the end-user impact is caused by web and app engineering which fails to take slow/intermittent links into consideration. If you’re an app developer reading this, can you tell me, off the top of your head, how your app behaves on a link with 40 kbps available bandwidth, 1,000 ms latency, occasional jitter of up to 2,000 ms, packet loss of 10%, and a complete 15-second connectivity dropout every few minutes? An Essay by brr.fyi brr.fyi The Website Obesity CrisisJavaScript Bloat in 2024 webperformanceinfrastructureappsuxbloatslowness
How web bloat impacts users with slow devices ☁️ Sites that use modern techniques like partially loading the page and then dynamically loading the rest of it, such as Discourse, Reddit, and Substack, tend to be less usable than the scores in the table indicate. Although, in principle, you could build such a site in a simple way that works well with cheap devices but, in practice sites that use dynamic loading tend to be complex enough that the sites are extremely janky on low-end devices. It's generally difficult or impossible to scroll a predictable distance, which means that users will sometimes accidentally trigger more loading by scrolling too far, causing the page to lock up. Many pages actually remove the parts of the page you scrolled past as you scroll; all such pages are essentially unusable. Other basic web features, like page search, also generally stop working. Pages with this kind of dynamic loading can't rely on the simple and fast ctrl/command+F search and have to build their own search. A Case Study by Dan Luu danluu.com The Website Obesity CrisisPage weight mattersThe Performance Inequality Gap, 2024JavaScript Bloat in 2024 bloatperformancefront-end
Software disenchantment ☁️ Everything is just a pile of barely working code added on top of previously written barely working code. It keeps growing in size and complexity, diminishing any chance for a change. To have a healthy ecosystem you need to go back and revisit. You need to occasionally throw stuff away and replace it with better stuff. ...I want to see progress. I want change. I want state-of-the-art in software engineering to improve, not just stand still. I don’t want to reinvent the same stuff over and over, less performant and more bloated each time. I want something to believe in, a worthy end goal, a future better than what we have today, and I want a community of engineers who share that vision. An Article by Nikita Prokopov tonsky.me The Website Obesity CrisisIs software getting worse?Software Crisis 2.0 performancesoftwarebloatenshittificationweb
JavaScript Bloat in 2024 ☁️ It’s not just about download sizes. I welcome high-speed internet as much as the next guy. But code — JavaScript — is something that your browser has to parse, keep in memory, execute. It’s not free. And these people talk about performance and battery life... Call me old-fashioned, but I firmly believe content should outweigh code size. If you are writing a blog post for 10K characters, you don’t need 1000× more JavaScript to render it. [jQuery] is doing it right. That’s 0.1 MB. And that’s enough! And yet, on the same internet, in the same timeline, Gitlab needs 13 MB of code, 500K+ LoC of JS, just to display a static landing page. Fuck me. A Case Study by Nikita Prokopov tonsky.me The Taft TestThe Website Obesity CrisisHow web bloat impacts users with slow devicesEngineering for Slow Internet javascriptperformancebloatcontent