My iPhone has been doing all sorts of strange things, including mis-drawn screens, crashes, etc. Yesterday I had to reboot it to make it behave. All of this started suddenly upon updating to iOS 14 (with the latest bandaid updates).
macOS Catalina regularly crashes, even forgetting the longstanding bugs that hurt my work every day, and surely will never be fixed. The dual display wakeup problem remains a daily headache, so I have to set the display sleep delay to at least 10 minutes to minimize the headache, but at least I have mastered the voodoo key sequence timing to avoid it 90% of the time (ESC-ENTER-ESC-ENTER-... until it syncs up).
A long-ago acquaintance writing for TidBits summarizes things nicely for what I term Apple Core Rot.
Written a year or so ago, this article applies even more to iOS 14.
Overloaded Feature Lists Lead to Schedule Chicken
...managers play “schedule chicken” since no one wants to admit in the departmental meeting that their part of the project is behind... products on an annual release schedule, like iPhones and operating systems, must ship in September, whatever state they’re in...
Crash Reports Don’t Identify Non-Crashing Bugs
...Unfortunately, the crash reporter can’t catch non-crashing bugs. It’s blind to the photos that never upload to iCloud, the contact card that just won’t sync from my Mac to my iPhone, the Time Capsule backups that get corrupted and have to be restarted every few months, and the setup app on my new iPhone 11 that got caught in a loop repeatedly asking me to sign in to my iCloud account, until I had to call Apple support. (These are all real problems I’ve experienced.)
Less-Important Bugs Are Triaged
...bugs that are rare or not terribly serious—those that cause mere confusion instead of data loss—are continually pushed to the back burner by the triage system.
Regressions Get Fixed. Old Bugs Get Ignored
...Remember what I said about changes causing new bugs? If an engineer accidentally breaks a working feature, that’s called a regression. They’re expected to fix it.
But if you file a bug report, and the QA engineer determines that bug also exists in previous releases of the software, it’s marked “not a regression.” By definition, it’s not a new bug, it’s an old bug. Chances are, no one will ever be assigned to fix it.
Automated Tests Are Used Sparingly
...Apple doesn’t do a lot of automated testing. Apple is highly reliant on manual testing, probably too much so.
Complexity Has Ballooned
...it’s practically impossible to create a comprehensive test suite.
In an unprecedented move, Apple announced iOS 13.1 before iOS 13.0 shipped, a rare admission of how serious the software quality problem is...
MPG: “lack of automated tested” = software development incompetence. It’s not a “fad” to use automated tests; I was using them 30 years ago and use it to this day.
Complexity is the enemy both security and realiability. So what does Apple do? Add more complexity, without automated testing. This guarantees garbage quality releases, which is why they are getting worse.