TS
Sign In
Knowledge Base
Detailed Notes||10m 7s

Software is in Decline - Jonathan Blow

https://www.youtube.com/watch?v=FeAMiBKi_EM

Here are detailed notes from the transcript:


Detailed Notes: The Decline of Software

Main Topics Discussed:

  • The speaker's thesis that software is currently in decline.
  • The potential for this soft decline to lead to a hard, civilization-threatening collapse.
  • The argument that software's apparent progress is largely due to hardware advancements, not inherent software improvement.
  • The widespread degradation of software quality and lowered user expectations.
  • Illustrations of pervasive daily software bugs and illogical behavior.

Key Points and Arguments:

  1. Software is in Decline:

    • Thesis: Software is in a "soft decline" that causes inconvenience, but could lead to a "hard decline" given its pervasive role in civilization (communication, vehicles, critical systems like airplanes).
    • Evidence of stakes: Airplanes have killed hundreds due solely to bad software.
    • Counter-perception: Most people don't believe this, as software appears to be flourishing (e.g., internet companies, new technologies). The goal is to establish this as a plausible perspective.
  2. Pace of Collapse:

    • Historical collapses (e.g., Bronze Age collapse - 100 years, Fall of the Roman Empire - 300 years) are slow processes.
    • People living through the early stages of a slow collapse might not recognize it, believing things are "basically the same" despite subtle degradation. This poses the question of whether we would recognize software's decline from the inside.
  3. Software is Free-Riding on Hardware:

    • Main Argument: The perceived improvement in software quality ("gets better" in air quotes) is primarily due to "amazing advances in hardware technology" – computers getting faster and faster for decades.
    • Claim: "Software technology itself has not improved in quite a while."
  4. Machine Learning: A Local Improvement, Not Overall Progress:

    • Counter-example considered: Recent "cool stuff" like AlphaGo or face-swapping apps, often powered by machine learning (ML).
    • Rebuttal 1 (Hardware Dependence): These impressive ML results heavily rely on a "quantity of computation" that was impossible 20 years ago (i.e., fast hardware).
    • Rebuttal 2 (Minority of Software): ML algorithms, while genuinely improved, constitute a "minority of actual software technology." The core ML component is often "tremendously simple" compared to the vast, complex, and "falling apart" surrounding code (e.g., loading bitmaps, handling user input).
    • Conclusion: Software exhibits "small local technological improvements like machine learning" alongside "overall inertia or degradation in the rest of the field."
  5. Degradation and Lowered Expectations:

    • Central Claim: "We simply don't expect software to work anymore."
    • Historical Shift: Decades ago, computer problems were often attributed to lack of user-friendliness. Today, if software misbehaves, the common response is "yeah, it's software, restart it, whatever."
    • Concern: If standards continue to shrink, it will become unsustainable.
  6. Anecdotal Evidence of Pervasive Bugs (Within a Few Days):

    • The speaker decided to screenshot every "obvious bug or unintuitive or incorrect piece of behavior."
    • Examples:
      • Command Line (Lua console): Prompt intermittently displays "attempt to index a nil value."
      • Emacs: Reloads files too early, cutting off half the content, requiring manual reset.
      • Gmail: Formatting bugs reminiscent of old Microsoft Word, causing text to appear in a narrow column; difficult to fix.
      • Visual Studio: Errors ("collection was modified...") when simply typing command-line arguments (happens ~4-5% of the time).
      • Epic Store: "Unable to start the download."
      • Steam: Black install window requiring restart; Alt-tab breaks full-screen mode, requiring game restart.
      • Counterstrike Broadcast: A "mysterious sixth player" named "undefined" displayed for an entire professional match with 100,000 viewers.
      • Ultima 4 Map Website: Map display was corrupted, wrapping incorrectly, requiring a different browser.
      • Russian Visa Site: Phone number field invalidation would not reset, requiring clearing cookies and restarting the entire application process.
      • Hotel System: Turning AC on/off intermittently causes the room phone to emit a partial ring.
      • Adobe Photoshop (Licensed): First action after install ("file new document") resulted in "new document extension could not be loaded because of a program error."
    • Observation: These examples were found "within a couple days" without trying hard; the speaker had to "stop collecting them." Users are "not surprised by any of this."

Important Facts or Data Mentioned:

  • Bronze Age Collapse: ~100 years.
  • Fall of the Roman Empire: ~300 years.
  • Airplane crashes due to bad software: Killing hundreds.
  • Counterstrike match viewership: 100,000 people.
  • Visual Studio bug frequency: Approximately 4-5% of the time.

Conclusions or Recommendations:

  • Software quality is deteriorating and user tolerance for bugs is increasing, masking the decline.
  • The perceived advancement of software is largely an illusion created by increasingly powerful hardware.
  • Recommendation: Individuals should try to count or log daily instances of software bugs and unintuitive behavior; the speaker believes people will be "surprised how many there are."
  • The unacknowledged decline poses a significant, long-term threat to civilization given its deep reliance on software.
Generated with Tapescript
7f0104f - 03/02/2026