Detailed Notes||10m 7s
Software is in Decline - Jonathan Blow
https://www.youtube.com/watch?v=FeAMiBKi_EMHere 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:
-
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.
-
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.
-
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."
-
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."
-
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.
-
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