My iPhone has done all sorts of weird things, including misplaced screens, crashes, etc. Yesterday I had to restart it to make it behave. All of this started suddenly after updating to iOS13 (it also has the latest updates on bandaid).
macOS Catalina regularly crashes and even forgets the long-standing errors that damage my work every day, and will probably never be fixed. The waking problem with two monitors remains a daily headache, so I have to set the monitor’s sleep delay to at least 10 minutes to minimize headaches, but at least I have mastered the voodoo key sequence timing to avoid it 90% of the time -ENTER-ESC-ENTER – … until it is synchronized).
Long ago acquaintance with TidBits sums things up nicely for what I call the Apple Core Root.
Overloaded function lists lead to a schedule for chicken
… managers play “plan chicken”; since no one will admit in the department meeting that their part of the project is behind … products on an annual release schedule, such as iPhones and operating systems, must be shipped in September, whatever condition they are in …
Crash reports do not identify faults that do not crash
… Unfortunately, the crash reporter cannot catch errors that do not crash. It’s blind to the photos that never upload to iCloud, the contact card that just doesn’t sync from my Mac to iPhone, the Time Capsule backups that get corrupted and need to be restarted in a few months, and the installation app on the new iPhone 11 that was captured in a loop and repeatedly asked me to sign in to my iCloud account until I had to call Apple Support. (These are all real problems I’ve experienced.)
Minor errors are triaged
… errors that are rare or not very serious – those that cause confusion instead of data loss – are continuous the pressure to the rear burner of the triage system.
Regressions are resolved. Old bugs are ignored
… Do you remember what I said about changes that caused new mistakes? If an engineer accidentally breaks a work function, it is called a regression. They are expected to fix it.
However, if you submit an error report and the QA engineer determines that the error also exists in previous releases of the software, it is marked “not a regression.” By definition, it is not a new error, it is an old error. Chances are, no one will ever be assigned to fix it.
Automatic tests are used sparingly
…Apple does not do much automated testing. Apple relies heavily on manual testing, probably too much.
Complexity has ballooned
… it is virtually impossible to create a comprehensive test package.
Look forward to
In a unique move, Apple announced iOS 13.1 before iOS 13.0 was released, a rare admission of how serious the software quality issue is …
MPG: “lack of automated testing” = software development incapacity. Using automated tests is not a “fad”; I used them 30 years ago and used it to this day.
Complexity is the enemy of both security and feasibility. So what does Apple do? Add more complexity without automated testing. This guarantees emissions of waste quality, and it therefore gets worse.