Software may be getting worse, but it used to be horrible
Many commenters argue that while 1990s and early-2000s software was crash-prone, insecure, and constrained by weak hardware, it has since become far more stable and capable at a low level. At the same time, they see a marked decline in user experience and “quality of feel”: growing latency, inconsistent UIs, lost user control, enshittified business models, and apps that prioritize metrics, subscriptions, and telemetry over usability. The rise of web stacks, cloud dependence, and AI-assisted “vibe coding” is seen as accelerating bloat and mediocrity, even as tools and infrastructure theoretically make it easier than ever to build robust, high-quality systems.
Overall theme
- Many agree past consumer software (esp. Windows 9x/ME/XP era) was technically fragile, but argue today’s problems are different: less crashing, more bloat, worse UX, and more extractive business models.
- Several see a “U-shaped” arc: horrible → golden middle (Win 7 / Snow Leopard, etc.) → declining again.
Reliability vs. stability
- Then: frequent BSODs, single bad app or driver taking down the OS, fragile media (NES carts, scratched CDs), DOS memory limits, “DLL hell.”
- Now: OSes rarely hard-crash, better memory protection, tab isolation, package managers, and test culture.
- Counterpoint: some still see BSODs and severe bugs (e.g., Windows recovery mode unusable with USB input), especially via third‑party drivers and AV.
UX, performance, and latency
- Strong sentiment that UI/UX has degraded: hidden scrollbars, oversized whitespace, moving buttons, laggy menus, animations, telemetry, and network round‑trips for trivial actions.
- Latency called out as a major regression: noticeable delays on keypress, right‑click menus, and basic app operations despite far faster hardware.
- Old software on old hardware often felt “instant” and “commandable”; modern systems feel sluggish and less customizable.
Testing, metrics, and AI code
- Mixed views: some claim tools and AI make it easier to produce heavily tested, accessible, maintainable code.
- Others warn against Goodharted metrics (LOC, coverage), vacuous or AI‑generated tests, and overreliance on A/B testing and telemetry that optimize engagement over quality.
- Concern that “vibe coding” with LLMs lets non‑experts ship insecure, poorly architected systems, especially for novel apps.
Nostalgia, bias, and expectations
- Several warn about rosy retrospection and changing user bases: early users were more technical; today’s mass audience drives different design constraints.
- Others insist they distinctly remember snappier, more efficient apps and fewer daily UX papercuts.
Business models, ownership, and cloud
- Many complaints target enshittification: subscriptions, locked‑in cloud services, revocable features, surveillance, and ad‑driven design.
- Contrast drawn between proprietary, changing SaaS and relatively stable, user‑respecting ecosystems (Linux distros, some macOS apps, FOSS tools).
Games as microcosm
- Old games often buggier but more innovative and “important”; modern AAA titles more polished but constrained by huge budgets, monetization, and risk‑aversion.