The "Developer Experience" Bait-and-Switch ![rw-book-cover](https://readwise-assets.s3.amazonaws.com/static/images/article0.00998d930354.png) 🔗 **Source:** [The "Developer Experience" Bait-and-Switch](https://infrequently.org/2018/09/the-developer-experience-bait-and-switch/) > [!note]+ Document Notes > tags: > - #webperformance > - #javascript > - #developerexperience > Author: Alex Russell > Source: Article (Infrequently Noted) > Reference: https://infrequently.org/2018/09/the-developer-experience-bait-and-switch/ > date created: {{date:YYYY-MM-DD}} {{time:HH:mm}} > > # Title: The “Developer Experience” Bait-and-Switch > <!-- deep-read:sections start --> ## Table of Contents: - [📝 Summary](#-summary) - [📖 Main Content](#-main-content) - [🗒️ Notes](#️-notes) - [📖 References](#-references) - [🗣️ Paraphrase](#-paraphrase) - [📰 Newsletter](#-newsletter) - [✅ Action Items](#-action-items) - [🧪 Hypotheses](#-hypotheses) - [📊 Methodology](#-methodology) - [❓ Questions](#-questions) - [🔮 Future Research](#-future-research) - [💡 Implications](#-implications) - [🧠 Learning Styles Assessment](#-learning-styles-assessment) - [📊 Accessibility Assessment](#-accessibility-assessment) - [🌍 DEIB Assessment](#-deib-deib-assessment) - [✅ Logical validity](#-logical-validity) - [🔍 DARVO Analysis](#-darvo-analysis) - [🔍 SEO Evaluation](#-seo-evaluation) - [🎯 Conclusion](#-conclusion) ### References: - Alex Russell, The “Developer Experience” Bait-and-Switch, 2018-09-11. https://infrequently.org/2018/09/the-developer-experience-bait-and-switch/ - WebPageTest reference in-article (example trace shared via Twitter thread). - Related communities/tools mentioned: Polymer, Preact, Svelte, Ionic, Vue; USDS, GDS. ## 📝 Summary: - Core claim: “We cannot continue to use as much JavaScript as is now normal and expect the web to flourish.” Overuse of JS imposes asymmetric costs on users—especially those on low-end devices and networks—while benefits accrue to developers and organizations. - The “developer experience” (DX) narrative often substitutes developer convenience for user value, absent evidence. Russell urges an evidence-based discussion that budgets JS and prioritizes Time-to-Interactive (TTI) and accessibility for all users. - He calls for JS budgeting/cap-and-trade, transparent performance baselines, and tooling that is “JS-neutral” or “TTI-neutral,” with clear budgets and device/network applicability. - He plans to publicly analyze public-sector sites (US/UK) to show concrete impacts and push for accountability and better practices. Key lines: - “JavaScript is the web’s CO2.” (0%) - “We must budget. We must cap-and-trade JS.” (33%) - “Tools that cost the poorest users to pay wealthy developers are bunk.” (89%) ## 📖 Main Content: - Problem framing: - JS overuse has grown from ~50KB (2011) to 350KB median compressed on mobile (~2MB uncompressed) (33%). This bloats parse/compile/execute cost—particularly harmful on low-end Android and in constrained networks. - DX rhetoric often equates faster dev iteration with better UX, but lacks measurement linking dev choices to user outcomes (0–22%). - Asymmetry and externalities: - Those deploying heavy JS rarely feel the pain; users on low-cost devices do (0–22%). - Teams lack actionable user-centric metrics; launches rarely blocked for latency regressions, even at large orgs (22%). - Evidence gap: - Performance claims made without WPT traces or global baselines; “speed” gets marketed without context (44%). - Public sector analyses will serve as a proxy for private-sector issues; intent is constructive, not shaming (55–66%). - Proposed remedies: - JS budgeting and cap-and-trade mindset (33%). - Tooling judged by TTI-neutral/negative impact; frameworks must publish budgets, remaining headroom, and targeted device/network profiles (77%). - Move to evidence-based debate; if your target market is wealthy enterprise users only, say so and prove the assumptions (89%). ### 🗒️ Notes - Thesis and analogy - “JavaScript is the web’s CO2” underscores systemic externalities (0%). - Overuse threatens web viability on emerging markets and low-end devices. - DX bait-and-switch mechanics (11%): - Appeals to dev speed and simplicity replace user value conversations. - Frames three values—Universality, Fidelity, Cost to produce—then overweights DX to erase the others. - Organizational dynamics (22%): - Teams seldom track real-user latency metrics (e.g., TTI, FID/INP) or block launches for regressions. - Performance constraints surface only when business pain appears. - Data trends and costs (33%): - Median JS payload ballooned; JS is “the most expensive way” to do things in a browser due to CPU and main-thread contention. - Calls for JS budgets/cap-and-trade to curb emissions. - Tooling landscape (33–44%): - Polymer/Preact/Svelte/Ionic/Vue offer starter kits/CLIs that can send less JS, but disasters persist. - Marketing claims of “speed” lack traces and baselines (44%). - Evidence-first approach (44–66%): - Public sector examples will be published to give concrete, citable cases, leveraging WPT. - Praise for USDS/GDS improvements; aim is to educate and set bar for “serving everybody.” - Practical standards (77%): - Demand TTI-neutral/negative tools; require clear budgets and reproducible instructions. - Many popular tools may be relegated to prototyping—and that’s acceptable. - Call to action (89%): - End the DX bait-and-switch; have data-driven debates that state market targets and performance tradeoffs explicitly. ## 📖 References: - The original article at Infrequently Noted: https://infrequently.org/2018/09/the-developer-experience-bait-and-switch/ - WebPageTest (for collecting traces): https://www.webpagetest.org/ - Tools mentioned: Polymer, Preact, Svelte, Ionic, Vue. - Public digital service orgs: USDS, UK GDS. ## 🗣️ Paraphrase: - Original idea (0%): “JavaScript is the web’s CO2... Those who emit the most are furthest from suffering the consequences.” - Paraphrase: Treat JS like a pollutant: a little is essential, but excess contaminates the ecosystem. The heaviest emitters are insulated from the damage—until the environment degrades for everyone. - Original idea (77%): “We need tools...that deliver a better developer experience without fundamentally impairing the user experience... explain clearly… how they deliver under-budget experiences… what devices and networks their tools are appropriate in.” - Paraphrase: Tooling must improve developer workflows without undermining users. Vendors should publish reproducible guidance showing how they meet strict performance budgets, quantify remaining headroom, and specify the device and network contexts where their stack is suitable. ## 📰 Newsletter: This week in WordPress and the wider web: remember that performance is a feature, not a footnote. Alex Russell’s “Developer Experience Bait-and-Switch” argues that we’ve let DX become a stand-in for UX, shipping megabytes of JS that punish users on lower-end devices. The fix? Evidence-first engineering: set JS budgets, measure TTI, and choose frameworks that publish honest performance headroom and device/network targets. Learning web dev? Start with fundamentals: semantic HTML, progressive enhancement, and Core Web Vitals. Recent updates worth a look: - WordPress performance teams continue to improve LCP/INP out of the box; keep your eye on caching, image lazy-loading, and script strategy. - New plugin highlights: performance-focused asset managers, modern image pipelines (AVIF/WebP), and block-level code splitting. Community shout-outs to contributors auditing real-user performance and sharing WebPageTest runs. If your site claims “speed,” show the traces. Links: - Alex Russell on the DX bait-and-switch: The “Developer Experience” Bait-and-Switch - WebPageTest for reproducible measurements: WebPageTest Keep it friendly, keep it fast, and keep it fun—because your users’ thumbs and batteries will thank you. ## ✅ Action Items: A strategic prompt tailored to your role (GoDaddy Developer Advocate, OSS/WordPress educator, aspiring OSPO director): - Purpose: For each article you review, produce a brief mapping to: - Open-source advocacy and sustainability - Contributor onboarding/engagement - Education and curriculum design - WordPress ecosystem transparency and inclusivity - OSPO-aligned governance and policy - Prompt to reuse: “Analyze how this article advances a sustainable and inclusive open-source web. Identify: 1) Performance and accessibility guidance relevant to WordPress and plugin/theme ecosystems (e.g., JS budgets, TTI targets, progressive enhancement). 2) Contributor education opportunities: draft two workshop modules (beginner/advanced) and associated exercises using WP (enqueue strategies, script splitting, Core Web Vitals). 3) Community engagement: propose a contributor sprint format to audit JS payloads across popular plugins/themes, with a disclosure policy and reproducible WPT traces. 4) OSPO implications: recommend policy language for project acceptance criteria (performance budgets, RUM dashboards, regression gates in CI), and transparency norms (publishing device/network targets). 5) Funding and sustainability: outline incentives for maintainers to meet budgets (recognition, grants, marketplace badges). 6) Inclusivity: describe how performance work reduces inequities for global users and new contributors (low-end device testing labs, documentation readability).” How this article aligns: - Advocacy: Centers user equity by curbing JS externalities. - Engagement: Creates concrete contributor tasks (trace collection, budget enforcement). - Education: Anchors curricula on evidence-based performance. - OSPO: Suggests measurable policies and procurement standards for performance. - Transparency/DEIB: Encourages explicit device/network targets, benefiting marginalized users. ## 🧪 Hypotheses: - H1: Enforcing JS budgets (e.g., ≤150KB compressed JS at initial load) reduces median TTI by ≥30% on low-end Android devices without hurting key conversion metrics. - H2: Publishing device/network applicability for frameworks reduces misapplication and improves Core Web Vitals across heterogeneous user bases. - H3: Progressive enhancement-first architectures yield higher completion rates on constrained networks than SPA-first with SSR fallback. - H4: Public performance baselines and regression gates decrease long-term maintenance costs and incident frequency. ### 📊 Methodology: - Data sources: RUM (CrUX, self-hosted) for LCP/INP/TTFB/TTI; WPT synthetic on a standard low-end Android profile; analytics funnels; plugin/theme telemetry. - Design: A/B tests comparing current stack vs. budget-enforced build; multi-armed bandits for different hydration strategies; cohort analysis by device class/network type. - Analysis: Difference-in-differences on conversion and performance; quantile regression for tail latency; segmented funnel analysis for task completion. ### ❓ Questions: - What thresholds define “under-budget” across markets (e.g., India vs. US)? Should budgets be regionalized? - How should frameworks publish “performance headroom” credibly? - When is interactivity worth its JS cost vs. server-rendered HTML plus minimal enhancement? ### 🔮 Future Research: - Standardized “JS carbon budget” labels for frameworks/plugins. - Portable profiles for “low-end device” testing in CI. - Market studies tying performance budgets to business KPIs across sectors. ### 💡 Implications: - Advances knowledge by linking concrete budgets to real-world outcomes. - Informs policy for marketplaces (e.g., WordPress.org badges for meeting budgets). - Guides practice towards progressive enhancement and transparent tooling claims. ### 🧠 Learning Styles Assessment: - Readability: General tech audience; estimated Grade 10–12 due to abstractions and industry terms. - Visual (Present): Minimal; a referenced WPT video/trace is implied but not embedded. Improve: add diagrams of JS cost pipeline, WPT screenshots, budget charts. - Aural (Present): None. Improve: audio summary or podcast segment. - Verbal (Present): Strong analogies (“CO2”), clear rhetoric. Improve: add glossaries for non-native speakers. - Kinesthetic (Present): None. Improve: hands-on exercises—run WPT, set a JS budget in CI. - Logical (Present): Trend data, causal reasoning. Improve: include tables/graphs and step-by-step budgeting checklists. - Social (Present): Mentions communities; no interactive prompts. Improve: discussion questions and community trace-sharing. - Solitary (Present): Reflective arguments. Improve: journaling prompts—audit your site’s TTI and write findings. - Naturalistic (Present): Environmental analogy. Improve: sustainability case studies linking energy use to JS weight. ### 📊 Accessibility Assessment: - Screen reader: Depends on the site; article text likely semantic but images/video need alt/labels. Improve: ensure alt text, ARIA landmarks. - Keyboard navigation: Ensure all links/buttons focusable; visible focus states. - Contrast/readability: Maintain high contrast; adjustable font sizes; avoid long unbroken paragraphs. - Text resizing: Responsive typography; no layout breakage on zoom; avoid fixed-height containers. ### 🌍 DEIB (Diversity, Equity, Inclusion, and Belonging) Assessment: - Cultural relevance: Focuses on global users and low-end devices; lacks diverse case studies. Improve: examples from Global South and community-run networks. - Inclusive language: Generally neutral; some jargon. Improve: define terms (TTI, SSR, hydration). - Neurodiversity support: Dense paragraphs. Improve: more headings, bullets, summaries. - Representation: Limited. Improve: include quotes/cases from diverse practitioners. - Psychological safety: Critical tone toward practices, not people; add explicit encouragement and resources for improvement. ### ✅ Logical validity: - Positive reasoning: - Causal reasoning (33%): More JS → worse TTI on low-end devices; strengthens argument with plausible performance mechanics. Improve: add quantitative citations and controlled comparisons. - Consistent analogy (0%): “JS is the web’s CO2” clarifies externalities. Improve: bound the analogy with limits where JS is necessary. - Appeal to evidence (44–66%): Calls for WPT traces and baselines; promotes reproducibility. Improve: include a canonical baseline spec in-article. - Balanced view (77%): Affirms need for tools/frameworks, conditional on budgets. Improve: show success stories meeting budgets. - Potential weaknesses/fallacies: - Hasty generalization risk (44%): From observed “disasters” to broad indictment. Mitigation: publish representative sample with statistics. - Slippery slope hint (0–11%): “Web won’t flourish unless…” Strong claim; bolster with adoption/market-share data tied to performance access. - Strawman caution (0%): Labels a composite “straw-man” argument; while declared, ensure opposing views are fully represented with citations. Tone: Urgent, admonitory, advocacy-oriented; evidence-seeking, critical but solution-focused. 🔍 DARVO Analysis - Deny: The article does not deny problems; it accuses common DX narratives of denying user costs by omission. - Attack: Critiques practices and marketing claims (“speed without context”), not individuals. No character attacks; intent is reform. - Reverse Victim/Offender: Does not position developers as victims; rather, spotlights users—especially marginalized—as bearing costs. No DARVO pattern present. - Notes: Uses strong metaphors (“polluters”), which can feel accusatory, but context frames systemic critique, not personal defamation. ### 🔍 SEO Evaluation: - Keywords: Strong candidates—“developer experience,” “JavaScript performance,” “Time to Interactive,” “JS budgets,” “progressive enhancement.” Integration is natural. - Meta description: Recommend: “Why DX rhetoric can hide user harm: JavaScript budgets, TTI-neutral tooling, and evidence-based performance to make the web accessible for all.” - Title tag: Current title is clear, contains primary keyword “Developer Experience,” within length. - Headers: Could add H2/H3 structure with keywords for scannability (e.g., “JS budgets,” “Evidence with WebPageTest”). - Content length: Substantial; delivers value with clear thesis and prescriptions. - Links: Add authoritative external links (CrUX, WPT, Core Web Vitals docs) to support claims. - URL: Human-readable and concise. - Images: Where present, ensure descriptive filenames and alt text; include performance graphs to enrich. - Mobile optimization: Article body likely responsive; ensure fast load and minimal blocking scripts. - Engagement: Add in-article CTAs to performance guides; embed example WPT runs. - Schema: Use Article schema; consider HowTo schema for “Set a JS budget in CI.” - Social: Ensure Open Graph/Twitter Card tags with compelling summary and image. ## 🎯 Conclusion: The article argues that heavy JavaScript—justified by “developer experience”—imposes inequitable costs on users and threatens the web’s inclusivity and reach. The remedy is an evidence-based culture: JS budgets, TTI-focused tooling, transparent baselines, and honest marketing about device/network suitability. For WordPress and open source, this translates into governance (budgets and regression gates), contributor education (performance-first practices), and community transparency—aligning tightly with advocacy for a sustainable, inclusive web. You’ve read as far as 100% of this article. <!-- deep-read:sections end --> [[3. Resources/Readwise/Full Document Contents/Articles/The Developer Experience Bait-and-Switch|Full Document Contents]] ## Document Notes --- tags: - #webperformance - #javascript - #developerexperience Author: Alex Russell Source: Article (Infrequently Noted) Reference: https://infrequently.org/2018/09/the-developer-experience-bait-and-switch/ date created: {{date:YYYY-MM-DD}} {{time:HH:mm}} --- # Title: The “Developer Experience” Bait-and-Switch ## Table of Contents: - [[#📝 Summary:]] - [[#📖 Main Content:]] - [[#🗒️ Notes]] - [[#📖 References:]] - [[#🗣️ Paraphrase:]] - [[#📰 Newsletter:]] - [[#✅ Action Items:]] - [[#🧪 Hypotheses:]] - [[#📊 Methodology:]] - [[#❓ Questions:]] - [[#🔮 Future Research:]] - [[#💡 Implications:]] - [[#🧠 Learning Styles Assessment:]] - [[#📊 Accessibility Assessment:]] - [[#🌍 DEIB (Diversity, Equity, Inclusion, and Belonging) Assessment:]] - [[#✅ Logical validity:]] - [[#🔍 DARVO Analysis]] - [[#🔍 SEO Evaluation:]] - [[#🎯 Conclusion:]] ### References: - Alex Russell, The “Developer Experience” Bait-and-Switch, 2018-09-11. https://infrequently.org/2018/09/the-developer-experience-bait-and-switch/ - WebPageTest reference in-article (example trace shared via Twitter thread). - Related communities/tools mentioned: Polymer, Preact, Svelte, Ionic, Vue; USDS, GDS. ## 📝 Summary: - Core claim: “We cannot continue to use as much JavaScript as is now normal and expect the web to flourish.” Overuse of JS imposes asymmetric costs on users—especially those on low-end devices and networks—while benefits accrue to developers and organizations. - The “developer experience” (DX) narrative often substitutes developer convenience for user value, absent evidence. Russell urges an evidence-based discussion that budgets JS and prioritizes Time-to-Interactive (TTI) and accessibility for all users. - He calls for JS budgeting/cap-and-trade, transparent performance baselines, and tooling that is “JS-neutral” or “TTI-neutral,” with clear budgets and device/network applicability. - He plans to publicly analyze public-sector sites (US/UK) to show concrete impacts and push for accountability and better practices. Key lines: - “JavaScript is the web’s CO2.” (0%) - “We must budget. We must cap-and-trade JS.” (33%) - “Tools that cost the poorest users to pay wealthy developers are bunk.” (89%) ## 📖 Main Content: - Problem framing: - JS overuse has grown from ~50KB (2011) to 350KB median compressed on mobile (~2MB uncompressed) (33%). This bloats parse/compile/execute cost—particularly harmful on low-end Android and in constrained networks. - DX rhetoric often equates faster dev iteration with better UX, but lacks measurement linking dev choices to user outcomes (0–22%). - Asymmetry and externalities: - Those deploying heavy JS rarely feel the pain; users on low-cost devices do (0–22%). - Teams lack actionable user-centric metrics; launches rarely blocked for latency regressions, even at large orgs (22%). - Evidence gap: - Performance claims made without WPT traces or global baselines; “speed” gets marketed without context (44%). - Public sector analyses will serve as a proxy for private-sector issues; intent is constructive, not shaming (55–66%). - Proposed remedies: - JS budgeting and cap-and-trade mindset (33%). - Tooling judged by TTI-neutral/negative impact; frameworks must publish budgets, remaining headroom, and targeted device/network profiles (77%). - Move to evidence-based debate; if your target market is wealthy enterprise users only, say so and prove the assumptions (89%). ### 🗒️ Notes - Thesis and analogy - “JavaScript is the web’s CO2” underscores systemic externalities (0%). - Overuse threatens web viability on emerging markets and low-end devices. - DX bait-and-switch mechanics (11%): - Appeals to dev speed and simplicity replace user value conversations. - Frames three values—Universality, Fidelity, Cost to produce—then overweights DX to erase the others. - Organizational dynamics (22%): - Teams seldom track real-user latency metrics (e.g., TTI, FID/INP) or block launches for regressions. - Performance constraints surface only when business pain appears. - Data trends and costs (33%): - Median JS payload ballooned; JS is “the most expensive way” to do things in a browser due to CPU and main-thread contention. - Calls for JS budgets/cap-and-trade to curb emissions. - Tooling landscape (33–44%): - Polymer/Preact/Svelte/Ionic/Vue offer starter kits/CLIs that can send less JS, but disasters persist. - Marketing claims of “speed” lack traces and baselines (44%). - Evidence-first approach (44–66%): - Public sector examples will be published to give concrete, citable cases, leveraging WPT. - Praise for USDS/GDS improvements; aim is to educate and set bar for “serving everybody.” - Practical standards (77%): - Demand TTI-neutral/negative tools; require clear budgets and reproducible instructions. - Many popular tools may be relegated to prototyping—and that’s acceptable. - Call to action (89%): - End the DX bait-and-switch; have data-driven debates that state market targets and performance tradeoffs explicitly. ## 📖 References: - The original article at Infrequently Noted: https://infrequently.org/2018/09/the-developer-experience-bait-and-switch/ - WebPageTest (for collecting traces): https://www.webpagetest.org/ - Tools mentioned: Polymer, Preact, Svelte, Ionic, Vue. - Public digital service orgs: USDS, UK GDS. ## 🗣️ Paraphrase: - Original idea (0%): “JavaScript is the web’s CO2... Those who emit the most are furthest from suffering the consequences.” - Paraphrase: Treat JS like a pollutant: a little is essential, but excess contaminates the ecosystem. The heaviest emitters are insulated from the damage—until the environment degrades for everyone. - Original idea (77%): “We need tools...that deliver a better developer experience without fundamentally impairing the user experience... explain clearly… how they deliver under-budget experiences… what devices and networks their tools are appropriate in.” - Paraphrase: Tooling must improve developer workflows without undermining users. Vendors should publish reproducible guidance showing how they meet strict performance budgets, quantify remaining headroom, and specify the device and network contexts where their stack is suitable. ## 📰 Newsletter: This week in WordPress and the wider web: remember that performance is a feature, not a footnote. Alex Russell’s “Developer Experience Bait-and-Switch” argues that we’ve let DX become a stand-in for UX, shipping megabytes of JS that punish users on lower-end devices. The fix? Evidence-first engineering: set JS budgets, measure TTI, and choose frameworks that publish honest performance headroom and device/network targets. Learning web dev? Start with fundamentals: semantic HTML, progressive enhancement, and Core Web Vitals. Recent updates worth a look: - WordPress performance teams continue to improve LCP/INP out of the box; keep your eye on caching, image lazy-loading, and script strategy. - New plugin highlights: performance-focused asset managers, modern image pipelines (AVIF/WebP), and block-level code splitting. Community shout-outs to contributors auditing real-user performance and sharing WebPageTest runs. If your site claims “speed,” show the traces. Links: - Alex Russell on the DX bait-and-switch: The “Developer Experience” Bait-and-Switch - WebPageTest for reproducible measurements: WebPageTest Keep it friendly, keep it fast, and keep it fun—because your users’ thumbs and batteries will thank you. ## ✅ Action Items: A strategic prompt tailored to your role (GoDaddy Developer Advocate, OSS/WordPress educator, aspiring OSPO director): - Purpose: For each article you review, produce a brief mapping to: - Open-source advocacy and sustainability - Contributor onboarding/engagement - Education and curriculum design - WordPress ecosystem transparency and inclusivity - OSPO-aligned governance and policy - Prompt to reuse: “Analyze how this article advances a sustainable and inclusive open-source web. Identify: 1) Performance and accessibility guidance relevant to WordPress and plugin/theme ecosystems (e.g., JS budgets, TTI targets, progressive enhancement). 2) Contributor education opportunities: draft two workshop modules (beginner/advanced) and associated exercises using WP (enqueue strategies, script splitting, Core Web Vitals). 3) Community engagement: propose a contributor sprint format to audit JS payloads across popular plugins/themes, with a disclosure policy and reproducible WPT traces. 4) OSPO implications: recommend policy language for project acceptance criteria (performance budgets, RUM dashboards, regression gates in CI), and transparency norms (publishing device/network targets). 5) Funding and sustainability: outline incentives for maintainers to meet budgets (recognition, grants, marketplace badges). 6) Inclusivity: describe how performance work reduces inequities for global users and new contributors (low-end device testing labs, documentation readability).” How this article aligns: - Advocacy: Centers user equity by curbing JS externalities. - Engagement: Creates concrete contributor tasks (trace collection, budget enforcement). - Education: Anchors curricula on evidence-based performance. - OSPO: Suggests measurable policies and procurement standards for performance. - Transparency/DEIB: Encourages explicit device/network targets, benefiting marginalized users. ## 🧪 Hypotheses: - H1: Enforcing JS budgets (e.g., ≤150KB compressed JS at initial load) reduces median TTI by ≥30% on low-end Android devices without hurting key conversion metrics. - H2: Publishing device/network applicability for frameworks reduces misapplication and improves Core Web Vitals across heterogeneous user bases. - H3: Progressive enhancement-first architectures yield higher completion rates on constrained networks than SPA-first with SSR fallback. - H4: Public performance baselines and regression gates decrease long-term maintenance costs and incident frequency. ### 📊 Methodology: - Data sources: RUM (CrUX, self-hosted) for LCP/INP/TTFB/TTI; WPT synthetic on a standard low-end Android profile; analytics funnels; plugin/theme telemetry. - Design: A/B tests comparing current stack vs. budget-enforced build; multi-armed bandits for different hydration strategies; cohort analysis by device class/network type. - Analysis: Difference-in-differences on conversion and performance; quantile regression for tail latency; segmented funnel analysis for task completion. ### ❓ Questions: - What thresholds define “under-budget” across markets (e.g., India vs. US)? Should budgets be regionalized? - How should frameworks publish “performance headroom” credibly? - When is interactivity worth its JS cost vs. server-rendered HTML plus minimal enhancement? ### 🔮 Future Research: - Standardized “JS carbon budget” labels for frameworks/plugins. - Portable profiles for “low-end device” testing in CI. - Market studies tying performance budgets to business KPIs across sectors. ### 💡 Implications: - Advances knowledge by linking concrete budgets to real-world outcomes. - Informs policy for marketplaces (e.g., WordPress.org badges for meeting budgets). - Guides practice towards progressive enhancement and transparent tooling claims. ### 🧠 Learning Styles Assessment: - Readability: General tech audience; estimated Grade 10–12 due to abstractions and industry terms. - Visual (Present): Minimal; a referenced WPT video/trace is implied but not embedded. Improve: add diagrams of JS cost pipeline, WPT screenshots, budget charts. - Aural (Present): None. Improve: audio summary or podcast segment. - Verbal (Present): Strong analogies (“CO2”), clear rhetoric. Improve: add glossaries for non-native speakers. - Kinesthetic (Present): None. Improve: hands-on exercises—run WPT, set a JS budget in CI. - Logical (Present): Trend data, causal reasoning. Improve: include tables/graphs and step-by-step budgeting checklists. - Social (Present): Mentions communities; no interactive prompts. Improve: discussion questions and community trace-sharing. - Solitary (Present): Reflective arguments. Improve: journaling prompts—audit your site’s TTI and write findings. - Naturalistic (Present): Environmental analogy. Improve: sustainability case studies linking energy use to JS weight. ### 📊 Accessibility Assessment: - Screen reader: Depends on the site; article text likely semantic but images/video need alt/labels. Improve: ensure alt text, ARIA landmarks. - Keyboard navigation: Ensure all links/buttons focusable; visible focus states. - Contrast/readability: Maintain high contrast; adjustable font sizes; avoid long unbroken paragraphs. - Text resizing: Responsive typography; no layout breakage on zoom; avoid fixed-height containers. ### 🌍 DEIB (Diversity, Equity, Inclusion, and Belonging) Assessment: - Cultural relevance: Focuses on global users and low-end devices; lacks diverse case studies. Improve: examples from Global South and community-run networks. - Inclusive language: Generally neutral; some jargon. Improve: define terms (TTI, SSR, hydration). - Neurodiversity support: Dense paragraphs. Improve: more headings, bullets, summaries. - Representation: Limited. Improve: include quotes/cases from diverse practitioners. - Psychological safety: Critical tone toward practices, not people; add explicit encouragement and resources for improvement. ### ✅ Logical validity: - Positive reasoning: - Causal reasoning (33%): More JS → worse TTI on low-end devices; strengthens argument with plausible performance mechanics. Improve: add quantitative citations and controlled comparisons. - Consistent analogy (0%): “JS is the web’s CO2” clarifies externalities. Improve: bound the analogy with limits where JS is necessary. - Appeal to evidence (44–66%): Calls for WPT traces and baselines; promotes reproducibility. Improve: include a canonical baseline spec in-article. - Balanced view (77%): Affirms need for tools/frameworks, conditional on budgets. Improve: show success stories meeting budgets. - Potential weaknesses/fallacies: - Hasty generalization risk (44%): From observed “disasters” to broad indictment. Mitigation: publish representative sample with statistics. - Slippery slope hint (0–11%): “Web won’t flourish unless…” Strong claim; bolster with adoption/market-share data tied to performance access. - Strawman caution (0%): Labels a composite “straw-man” argument; while declared, ensure opposing views are fully represented with citations. Tone: Urgent, admonitory, advocacy-oriented; evidence-seeking, critical but solution-focused. 🔍 DARVO Analysis - Deny: The article does not deny problems; it accuses common DX narratives of denying user costs by omission. - Attack: Critiques practices and marketing claims (“speed without context”), not individuals. No character attacks; intent is reform. - Reverse Victim/Offender: Does not position developers as victims; rather, spotlights users—especially marginalized—as bearing costs. No DARVO pattern present. - Notes: Uses strong metaphors (“polluters”), which can feel accusatory, but context frames systemic critique, not personal defamation. ### 🔍 SEO Evaluation: - Keywords: Strong candidates—“developer experience,” “JavaScript performance,” “Time to Interactive,” “JS budgets,” “progressive enhancement.” Integration is natural. - Meta description: Recommend: “Why DX rhetoric can hide user harm: JavaScript budgets, TTI-neutral tooling, and evidence-based performance to make the web accessible for all.” - Title tag: Current title is clear, contains primary keyword “Developer Experience,” within length. - Headers: Could add H2/H3 structure with keywords for scannability (e.g., “JS budgets,” “Evidence with WebPageTest”). - Content length: Substantial; delivers value with clear thesis and prescriptions. - Links: Add authoritative external links (CrUX, WPT, Core Web Vitals docs) to support claims. - URL: Human-readable and concise. - Images: Where present, ensure descriptive filenames and alt text; include performance graphs to enrich. - Mobile optimization: Article body likely responsive; ensure fast load and minimal blocking scripts. - Engagement: Add in-article CTAs to performance guides; embed example WPT runs. - Schema: Use Article schema; consider HowTo schema for “Set a JS budget in CI.” - Social: Ensure Open Graph/Twitter Card tags with compelling summary and image. ## 🎯 Conclusion: The article argues that heavy JavaScript—justified by “developer experience”—imposes inequitable costs on users and threatens the web’s inclusivity and reach. The remedy is an evidence-based culture: JS budgets, TTI-focused tooling, transparent baselines, and honest marketing about device/network suitability. For WordPress and open source, this translates into governance (budgets and regression gates), contributor education (performance-first practices), and community transparency—aligning tightly with advocacy for a sustainable, inclusive web. You’ve read as far as 100% of this article. ## Highlights - My hope, instead, is that by showing specific outcomes and the overwhelming volume of these examples it will become possible to talk more specifically about what's wrong, using and pervasively citing data. I hope that by talking about what it means to build well when trying to serve everybody, we can show businesses how short they're falling of the mark -- and why those common root-causes in JS-centric development are so toxic. And if the analysis manages to help clean up some public sector services, so much the better; we're all paying for it anyway. ([View Highlight](https://read.readwise.io/read/01k37f3etxb9ne2hbn2yep71fw))