Skip to content
Thoughtful, detailed coverage of everything Apple for 29 years
and the TidBITS Content Network for Apple professionals
56 comments

Six Reasons Why iOS 13 and Catalina Are So Buggy

iOS 13 and macOS 10.15 Catalina have been unusually buggy releases for Apple. The betas started out buggy at WWDC in June, which is not unexpected, but even after Apple removed some features from the final releases in September, more problems have forced the company to publish quick updates. Why? Based on my 18 years of experience working as an Apple software engineer, I have a few ideas.

Overloaded Feature Lists Lead to Schedule Chicken

Apple is aggressive about including significant features in upcoming products. Tight schedules and ambitious feature sets mean software engineers and quality assurance (QA) engineers routinely work nights and weekends as deadlines approach. Inevitably some features are postponed for a future release, as we saw with iCloud Drive Folder Sharing.

In a well-run project, features that are lagging behind are cut early, so engineers can devote their time to polishing the features that will actually ship. But sometimes managers play “schedule chicken” since no one wants to admit in the departmental meeting that their part of the project is behind. Instead, they hope someone else working on another aspect of that feature is running even later, so they reap the benefit of the feature being delayed without taking the hit of being the one who delayed it. But if no one blinks, engineers continue to work on a feature that can’t possibly be completed in time and that eventually gets pushed off to a future release.

Apple could address this scheduling problem by not packing so many features into each release, but that’s just not the company culture. Products that aren’t on a set release schedule, like the AirPods or the rumored Bluetooth tracking tiles, can be delayed until they’re really solid. But 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

If you have reporting turned on (which I recommend), Apple’s built-in crash reporter automatically reports application crashes, and even kernel crashes, back to the company. A crash report includes a lot of data. Especially useful is the stack trace, which shows exactly where the code crashed, and more importantly, how it got to that point. A stack trace often enables an engineer to track down the crash and fix it.

A Mac crash report

Crash reports are uniquely identified by the stack trace. The same stack trace on multiple crash reports means all those users are seeing the same crash. The crash reporter backend sorts crash reports by matching the stack traces, and those that occur most often get the highest priority. Apple takes crash reports seriously and tries hard to fix them. As a result, Apple software crashes a lot less than it used to.

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.)

Apple tracks non-crashing bugs the old-fashioned way: with human testers (QA engineers), automated tests, and reports from third-party developers and Apple support. Needless to say, this approach is as much an art as it is a science, and it’s much harder both to identify non-crashing bugs (particularly from reports from Apple support) and for the engineers to track them down.

Less-Important Bugs Are Triaged

During development, Apple triages bugs based on the phase of the development cycle and the bug severity. Before alpha, engineers can fix pretty much any bug they want to. But as development moves into alpha, and then beta, only serious bugs that block major features are fixed, and as the ship date nears, only bugs that cause data loss or crashes get fixed.

This approach is sensible. As an engineer, every time you change the code, there’s a chance you’ll introduce a new bug. Changes also trigger a whole new round of testing. When you’re close to shipping, a known bug with understood impact is better than adding a fix that might break something new that you’d be unaware of.

Bugs that generate a lot of Apple Store visits or support calls usually get fixed. After all, it costs serious money to pay enough support reps to help lots of users. It’s much cheaper to fix the bug. When I worked on Apple products, we’d get a list of the top bugs driving Apple Store visits and support calls, and we were expected to fix them.

Unfortunately, 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.

Apple is lousy at fixing old bugs.

Apple pays special attention to new products like the iPhone 11, looking for serious customer problems. It jumps on them quickly and generally does a good job of eradicating major issues. But any bugs that are minor or unusual enough to survive this early scrutiny may persist forever.

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.

Not all groups at Apple work this way, but many do. It drove me crazy. One group I knew at Apple even made “Not a Regression” T-shirts. If a bug isn’t a regression, they don’t have to fix it. That’s why the iCloud photo upload bug and the contact syncing bug I mentioned above may never be fixed.

Automated Tests Are Used Sparingly

The software industry goes through fads, just like the fashion industry. Automated testing is currently fashionable. There are various types of automated testing: test-driven design, unit tests, user-driven testing, etc. No need to go into the details here, except to say that, apart from a few specific areas, Apple doesn’t do a lot of automated testing. Apple is highly reliant on manual testing, probably too much so.

The most significant area of automated testing is battery performance. Every day’s operating system build is loaded onto devices (iPhones, iPads, Apple Watches, etc.) that run through a set of automated tests to ensure that battery performance hasn’t degraded. (Of course, these automated tests look only at Apple code, so real-world interactions can—and often do—result in significant battery performance issues that have to be tracked down and fixed manually.)

iOS battery health

Beyond batteries, a few groups inside Apple are known for their use of automated tests. Safari is probably the most famous. Every code check-in triggers a performance test. If the check-in slows Safari performance, it’s rejected. More automated testing would probably help Apple’s software quality.

Complexity Has Ballooned

Another complication for Apple is the continually growing complexity of its ecosystem. Years ago, Apple sold only Macs. Processors had only one core. A program with 100,000 lines of code was large, and most were single-threaded.

A modern Apple operating system has tens of millions of lines of code. Your Mac, iPhone, iPad, Apple Watch, AirPods, and HomePod all talk to each other and talk to iCloud. All apps are multi-threaded and communicate with one another over the (imperfect) Internet.

Today’s Apple products are vastly more complex than in the past, which makes development and testing harder. The test matrix doesn’t just have more rows (for features and OS versions), it also has more dimensions (for compatible products it has to test against). Worse, asynchronous events like multiple threads running on multiple cores, push notifications, and network latency mean it’s practically impossible to create a comprehensive test suite.

Looking Forward

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. Apple has immense resources, and the company’s engineers will tame this year’s problem.

In the short term, you can expect more bug fix updates on a more frequent schedule than in past years. Longer-term, I’m sure that the higher-ups at Apple are fully aware of the problem and are pondering how best to address it. Besides the fact that bugs are expensive, both in support costs and engineer time, they’re starting to become a public relations concern. Apple charges premium prices for premium products, and lapses in software quality stand to hurt the company’s reputation.


David Shayer was an Apple software engineer for 18 years. He worked on the iPod, the Apple Watch, and Apple’s bug-tracking system Radar, among other projects.

Subscribe today so you don’t miss any TidBITS articles!

Every week you’ll get tech tips, in-depth reviews, and insightful news analysis for discerning Apple users. For 29 years, we’ve published professional, member-supported tech journalism that makes you smarter.

Registration confirmation will be emailed to you.

Comments About Six Reasons Why iOS 13 and Catalina Are So Buggy

Notable Replies

  1. I have never ever seen such a buggy macOS before. Most of the bugs I reported were fixed. But I didn’t even get a notification about the bug fix.

    And it doesn’t look like it’s going to get better. 15.1b1 foobared dragging a file on the dock. That was fixed in b2. But now the menus get foobared.

  2. So is the fact that Mail in iOS 13 no longer displays the contents of mime-attachments in mailing list email digests a regression, or “Not a Regression”?

  3. I really wish Apple would adopte a longer OS Update strategy say 2 years rather than 1. Sierra/High Sierra (and the Desktop/Documents/Photos cloud trap people fall into - Hey Ben My mac is crawling ! help ! )Mojave - Catalina has made for a fast paced modern update
    path (not to mention the phones and now the branch of iPad and watch) but it hardly allows for a user to breathe. For the first time all but one of MY machines need upgrading to meet OS standards (a bottom of the barrel Air is what i run Catalina on right now). I see a lot of issues especially with Apps not thoroughly quitting -Finder issues! Time Machine problems (which has prevented me from loading a backup of a library that got hosed by a third party vendor’s crappy programming) Photos and Music crashing. Really stupid issues could have been tested before released. I do get a boost in work when Apple dumps this crap on users who are are (imho) Bleeding edge wanna bees… but i’d rather deal with other issues. Oh and I had to delete Swift completely in Catalina because it would not download at all. I think i have to Nuke and Repave to get it to work because it isn’t happening at all.
    -> my motto -> You can’t download patience.

  4. There’s no way of knowing, but if you report it as a bug or provide feedback, at least it will get recorded.

    https://www.apple.com/feedback/mail.html

  5. Fascinating article.

    Exactly this. Why does Apple have to release a new OS every year? Who would not purchase a new Mac if they needed it because the OS is 11 months old? Especially since Apple hasn’t charged for OS upgrades in a while. I would much rather have the OS upgraded every 2 or 3 years, but be more polished.

  6. I’m also in this camp. There is no reason macOS needs a ‘major’ update every year (apart from marketing maybe).

  7. So here’s a thought. Arguably, some of the problem here is the effort of developing the core of the operating system and a vast suite of bundled apps and releasing them all at the same moment.

    What if, going forward, Apple took a page from ChromeOS and had the core of macOS update itself quietly over time without drawing attention to itself (and hopefully without impacting users in a big way now that 32-bit apps are off the table).

    Then, for apps like Safari, Photos, Mail, Messages, Calendar, Contacts, Reminders, Notes, and so on, Apple could still do a splashy release that would showcase new features that users care about. But without the core macOS stuff to develop and test at the same time, the overall project might be a lot more manageable.

    Even the splashy app release wouldn’t necessarily have to be all at once in September—Apple could bundle a few apps together into releases that would happen at different times of year in conjunction with the hardware devices that best show off those apps and features.

  8. As a late adopter of everything, I’m not impacted as much, but Apple is impacted. I won’t even buy hardware anymore until it and the software have been around at least 6 months.

    I’m so glad I got out of the coding business before the hurry up attitude took over. The stress would have killed me.

  9. For several years I’ve been helping out Apple via the AppleSeed program. Sometimes they reply to bug reports, sometimes not. Sometimes bugs are fixed at a decent pace, sometimes not until the next major release. At the moment, I’m involved with an unsettled iOS bug report that includes documentation and a workaround. The general situation is described here at Apple’s Discussions forum:

    Q: Unable to rearrange app icons in ios 13

    But Apple’s response to my bug report has been, to put it gently, nonsensical. This has lead me to consider what’s going on at Apple, and likely a lot of other coding establishments. Here are my current conclusions:

    1. Apple is indeed in a state of triage. The code clinic has to put less urgent bugs on standby.

    2. The volume of complex code has, as we expected decades ago, forced coding-by-committee. We know what that’s means. Human communication, reason, logic and emotional stability breakdown in proportion to the complexity of the task at hand.

    3. Object-oriented development means the use of ‘established’ code that’s commonly just as prone to bugs as any other. Fixing object code isn’t on anyone’s front burner. Old code lumbers on, incapable of addressing new features, new security concerns, etc.

    4. There are mounting pressures of Time and associated Money. In an age when Quality Capitalism has been overthrown by Quick and Dirty Capitalism (to put it mildly), priorities have shifted away from The Art of Coding toward: Good enough; Skip the code commenting; Feed the stockholders stat; Progress, not perfection; Skip the code verification; Skip the functionality verification; Exploitation without explication! Or as I like to simply put it: Short-term thinking leads to long-term disaster. Pick your synonym. It’s a Spirit of the Age.

    5. Modern coding tools are dinosaurian. Improvements in rapid coding have not adequately addressed the ongoing failures of coding fundamentals. Consider the term Memory Buffer and the frequent, constant, voluminous ways in which it is exploited by hackers, crackers, black hats, script kiddies. Pick your descriptor. IMHO (In My Heretical Opinion) everything C-based must go. It’s zombie coding. Let’s cut off its head and move on to the bright and promising young things, such as Swift and Rust. Let’s focus on developing so-called ‘Artificial Intelligence’ that helps us establish actual Human Intelligence in coding.

    Summary: Apple and the rest of the world’s coding community are caught in a conflict between the forces of Expectation versus Realization.

  10. That’s a very interesting take on it from the developer’s perspective. Thanks, Derek.

    I have to say I was somewhat startled by your comment on object-oriented coding. I believe in pretty much every seminar I have ever attended where the topic of OO coding came up, the concept was introduced by mentioning that OO became necessary because otherwise code would eventually no longer have been maintainable ( and/or scalable/extensible).

    Yet here we are, ~40 years later, learning that our OO code is no longer maintainable either. So maybe it’s not the type of code after all. Maybe it’s the coding environment? And as you indicate that’s both the tools and the economic environment.

  11. I hope you caught my recent edits.

    I have a biological systems perspective I find useful in understanding human systems. We humans demand simplicity amidst unfathomable natural complexity. But here we are creating our own unfathomable human complexity while attempting to force our demand for simplicity. Expectation versus Realization.

  12. I haven’t used Rust, but I’m pretty conversant in Swift. I agree it’s a big step in the right direction. Swift, along with ARC, makes it hard or impossible to make a number of basic programming mistakes.

  13. lowengard I really wish Apple would adopte a longer OS Update strategy say 2 years rather than 1.

    I think this is unlikely. Apple has a yearly product update cycle, and OS updates are part of that. Apple gets free publicity, and sells more toys, based on flashy new features. Fewer updates means fewer sales, and lower stock price.

  14. Note though that for the Mac that’s not true in general. The MBP might get an annual update. Most other Macs don’t get that level of attention these days.

  15. That’s absolutely true on the Mac side (heck, most Mac hardware changes barely get a press release these days), but all of Apple’s operating systems are so inter-related at this point that it may be tricky to decouple them enough to ship at different times.

  16. Although I do agree with most everything said in the article, I do take exception to the above. My observations are that all of the significant bugs being discussed now were well known to testers prior to release. I think there may have been a small delay in the original release date, but Apple appears to lay out an iron-clad schedule far ahead of time that is rarely violated. If there are bugs, they get shoved into the next update, as long as they aren’t known to be catastrophic.

    There have been a handful of cases of near catastrophic releases, but most of these involved a last minute change that was never provided to testers before release. I don’t feel that was the case in this instance.

  17. I watch a new release break something I use. In a subsequent release they fix that problem but something else is broken. In the next release they fix that and …

    It appeared to me people are not testing the whole application instead they are only testing the code they changed and missing the code they broke in the process. They need to test the whole application before shipping it not just the parts they think they touched/impacted.

  18. Without likely sounding like a captain obvious doofus, is there also a fundamental lack of engineering staff for all the platforms they’re trying to maintain and develop for?

    From previous stuff I’ve read, there’s two issues.

    Firstly, are there enough quality engineers to employ or is there still a mass shortage in the industry, thus making it an ever-increasing battle to acquire, and worse, actually hold onto staff.

    Secondly, aren’t Apple as a tech company supposed to be renowned for not employing enough engineering staff too (small teams, for example), so the sheer lack of people in the fight makes maintaining and gaining ground in the ever increasing battle to improve software and ever get around to squashing these “not a regression” bugs ever unlikely. I mean, do they even consider having teams that deal with these longstanding bugs, or is that too much of a financial cost pipe dream for us to expect?

    All I can say as a customer is it certainly doesn’t sound at all good, knowing these “Not a Regression” things more often than not are never fixed.

  19. From Scientific American June 2015: Why the Upgrade Cycle Will Never End
    Eventually these companies have no choice but to add features that nobody asked for. Meanwhile bloated, overwhelming technology has a very real emotional effect on us; we feel like idiots when we can’t master it. Then, as the software becomes increasingly weighed down with features, the interface must be redesigned to accommodate them all. (Such a redesign is then, of course, marketed as a new feature.) And each time you lose a few days of productivity as you learn the new layout.”

    and Douglas Adams in 1984:
    “it is very easy to be blinded to the essential uselessness of them by the sense of achievement you get from getting them to work at all. In other words - and this is the rock solid principle on which the whole of the Corporation’s Galaxy-wide success is founded - their fundamental design flaws are completely hidden by their superficial design flaws”

  20. My machine booted 3 or 4 times today. Wake on sleep is still a disaster in MacOS, so docking/undocking is a clown show. Will my machine wake up when I touch it? or will I get the apple after some time? Who knows?

    I think some of the answers here are simplistic, for sure OO is not to blame for this. Yes companies want new features, but does anyone even know what all the new features in Catalina are? I don’t think there are that many, clearly the problem is that the understanding of what can and cannot be done given an amount of time and a pool of efforters (trying not to call people resources) is become problematic.

    I too have been hoping Swift would make this problem better. SwiftUI was incredibly buggy, but by the same token, it is surprising how it was able to make a kind of finish line in a state that approaches usability.

    Apple is a lot of things. I hope it will continue to dare to improve (a la SwiftUI) and not just become a shell-shocked withering servant of the feature police.

  21. What machine is that? I’m starting to see patterns with certain models that aren’t universal.

  22. Last time? I reported a bug to Apple, they got back to me one year later when I was running the next macOS asking me to quickly test for the bug again on the old system and report back. Yeah, sure. They simply are not going to receive reports on all the bugs that they have and likely have no idea about them these days. There is really no connection at all (nearly) to customer feedback these days in any big companies. Google for example apparently did not know that they Sync (Google Drive) app did not work with offline files on the Mac when they launched it. I only once got help from Apple ever with something since the 80’s and it was (of course) an Apple-ID related issue and mainly because not having direct access to their servers. I even got blocked by Apple for a week recently because their support webpages doesn’t work as they should in Safari … .

  23. 2018 Macbook Pro with 32GBs of RAM and 1TB SSD.

  24. Appreciate the article from a dev perspective! Why Apple insists on tying major OS releases to their iPhone upgrade cycle is beyond me. Decoupling them would go miles towards ensuring quality software releases.

  25. Appreciate the article from a dev perspective! Why Apple insists on tying major OS releases to their iPhone upgrade cycle is beyond me. Decoupling them would go miles towards ensuring quality software releases.

    Releasing multiple announcements of software upgrades at the same time increases the chances of getting more column inches in the press. And since upgrades are generally a good thing, it usually means positive publicity and “how too” articles, avoiding the chance of headlines like this really recent one by Josh about a chain gang of product releases:

    “Alexa, Throw Spaghetti At The Wall And See What Sticks”

    https://tidbits.com/2019/09/27/alexa-throw-spaghetti-at-the-wall-and-see-what-sticks/

  26. FWIW, just to comment on this part, I have read an article or two since iOS 13 was released that said that Apple doubled the number of binaries over iOS 12 that were compiled from Swift code, so maybe they agree with you. (As I wen to look for them, it turns out that the articles were all based on the same blog post: https://blog.timac.org/2019/0926-state-of-swift-ios13/ )

  27. How tragic that today’s software engineers cannot be honest about their progress. I’m convinced that much of this problem is due to virtually all of Silicon Valley being run like a summer camp instead of a business with adults at the helm. If I were a manager and had been led down this road by my engineers, I’d want to fire the lot of them. “Just tell me your problems and let’s try to fix them”, would be my mantra.

  28. Can we be so certain it’s the engineer’s being dishonest? Couldn’t it just as likely be that the engineers are quite clear about their abilities and communicate that too, but management simply refuses to adjust scope/timeline accordingly?

    It’s a rather commonly found management “principle” these days to deliberately set goals too high, allocate resources too tightly, etc. in order to ensure (at least according to the proponents of this tactic) that people are always churning out at max capacity.

  29. Yeah, when the article says “making it past Apple’s internal testing and the public beta phase,” I was thinking that meant that the bug survived through those phases, not necessarily that it wasn’t identified or reported. As David said, Apple triages bugs heavily, so lots of known problems won’t be fixed intentionally because of the risk of regressions.

  30. @godrifle Why Apple insists on tying major OS releases to their iPhone upgrade cycle is beyond me. Decoupling them would go miles towards ensuring quality software releases.

    I think there are two reasons Apple combines hardware and software announcements. First, new hardware (eg: improved cameras) enable new software features. Also, the more features Apple can announce at once, the bigger the media splash, and the more publicity Apple receives.

  31. All I know as a user is that when I loaded IPadOS 13 on my 4G Mini it really introduced numerous bugs to Mail and to the text editor. It looks like e-mails are formatted for a larger screen. The subject matter consumes the trash can, new email, and move to icons. One cannot type into the bcc or cc fields as the keyboard intrudes into those spaces.

    Tapping on a word to introduce the cursor to make a change to a single letter selects the entire word. its impossible to place the cursor after a single letter, backspace to erase it and then type in a new letter…the entire word has to be retyped. This is such very basic stuff that I can hardly hold my breath to see what else is broken.

    So many of these new “features” are about half past worthless. Sidecar would be neat, but you have to have the latest hardware to use it. Using Files to connect to an external USB thumb drive would be very convenient and a huge step forwards but it’s apparently overly sensitive to what kind of media and how it’s formatted in order for it to work.

    Is all this complexity and interconnectedness really necessary? Especially when so much of it doesn’t work? Reminds me of Simon & Garfunkle’s 59th Street Bridge song, “Slow down, you’re moving too fast. Ya’ gotta make the morning last. Just kicking down the cobblestones, looking for fun and feeling groovy.”

  32. Just a point … Could there be a strong profit motive in Apple’s frenetic update schedule? Could the breakneck pace that Apple has kept, be a market dominating move? Could it force customers to follow along with whatever Apple creates, and could it keep any competitors ( 3rd parties) at bay? Is it possible that Apple knows that by keeping customers on their toes and ready for anything by giving them shiny new ‘features’ every 6 months that it also is able to rope them into new limits, and profit windows at the same time? The Apple customer base is so stunned by the pace of updates that things like App Notarization in Catalina which give Apple control over programs that don’t even use the Apple store, slip in as new ‘realities’, along side arbitrary deprication of 32bit apps. I suspect thats the ‘Apple Genius’ using the software update as an offensive business tool to push growth.

  33. I’d like to see Apple move their software releases to incremental, and unplug key apps like Mail from the OS. It will likely never happen, but I believe it would lead to more features, more refinements and more stability. The annual release schedule, based solely on marketing, is hurting them.

  34. Yes, purely for hype. It’s sad.

  35. I’m starting to feel like Apple needs to start paying beta testers…as it “feels” like Apple might be relying on public beta too much. Because if they are…obviously nobody that is detailed or actually uses the OS for real life is reporting back to Apple…other than reporters blogging stories about the “new macOS features”. :innocent:

    I’ve been finding so many obvious things in Apple’ own stable of “standard apps”, from installing to just opening the new Photos App and it crashing and having to rebuild for hours…seriously seems someone there just needs to test their own work as I cannot see how anyone could possibly miss some of these glaring problems, sure seems they would have to find many of these issues, if they tried it themselves (so it would seem). Quality control is way down! Plus, 4 iOS / iPadOS updates in a month…dang.

    So now for these other software developers…I say shame on them for both not testing there stuff and they have been warned for years and years that this was coming.

    Yet, still Catalina is a BIG change…I compare it to leap that Lion was with no more Rosetta or PPC code. Catalina is a big deal…there are going to be some pains with this gain. :crazy_face:

  36. I wonder which version of macOS, and which Apple apps Apple management use. Maybe they’ve all moved to Apple Music (the service), and don’t notice loss of music archives. Maybe they’ve all migrated off email, and use Messages, or Slack, and don’t notice the email bugginess. Maybe one day Apple Mail will be headphone-jacked/Dashboarded from the OS. Maybe macOS will continue to be free, and Apple will temporarily sell an email product called… Claris Emailer…

    And Eudora will have the chance to rise again.

  37. As an iOS/Mac/Watch developer I run into bugs/issues all the time. In the past, it was rare to run into something where it seemed like the Apple folks were inexperienced. Now I run into it all the time. They make changes or do something with no awareness of the impacts, so it breaks stuff in third party apps and it breaks longstanding conventions for how certain concepts or technologies should function. Some of these things make no sense at all, and I can only assume they have tunnel vision to their internal needs and internal apps, combined with a lack of experience and understanding of wider software development needs.

    I suspect part of this perception is due to the fact that I am an old guy with decades of experience, and Apple is probably leaning heavily on fresh-out developers who lack experience. So my question is, where are the seasoned managers who should be running the team and keeping an eye on the big picture? I love working with young developers, but they absolutely need to be managed by a veteran or you’re going to run into the issues we’re seeing on a wide scale today.

  38. Just a point … Could there be a strong profit motive in Apple’s frenetic update schedule?

    YES! And it’s one of biggest reasons why they recently broke the trillion $ mark once again. Apple’s software is just as important to consumers and businesses as its hardware. Remember Apple’s cloning disaster in the 90s?

    Could the breakneck pace that Apple has kept, be a market dominating move?

    Apple does not come near to dominating either the mobile phone or computer markets, Androids and PCs do by far. Apple dominates profits. This is why, except for some glitches here and there, is why its stock prices remain so high.

    Could it force customers to follow along with whatever Apple creates, and could it keep any competitors ( 3rd parties) at bay?

    If current or potential customers don’t like the stuff Apple is selling, they won’t buy it. Keep in mind that some major consumer electronics companies with a broad range of hardware need keep churning out unprofitable mobile phones and advertising them to maintain good positions in retail and online stores and reinforce the brand with consumers. LG is just one example of a large scale company that only has had very, very few profitable quarters for mobile phones:

    https://techcrunch.com/2019/05/01/lg-mobile-still-losing-money/

    Mobile phones are usually unprofitable for Samsung, Apple’s closest competitor in this market, and as heavy an advertiser for its mobile division as Apple:

    https://www.theverge.com/2019/7/30/20748162/samsung-q2-2019-earnings-galaxy-s10-sales

    I suspect Samsung is kind of stuck having to manufacture and ship a lot of phones to a lot of retailers across the globe to help sell their TVs, refrigerators, air conditioners, etc. It’s also why they’ve been building Samsung stores that are very much like Apple stores except they don’t sell anything in them so they won’t tick off Walmart, Best Buy, etc.

    Is it possible that Apple knows that by keeping customers on their toes and ready for anything by giving them shiny new ‘features’ every 6 months that it also is able to rope them into new limits, and profit windows at the same time?

    Apple became successful by reversing the “give away the razor to sell the blades” model. Because they give away better software to sell the hardware, and the software had better be really good in order to sell the overpriced hardware. This is the biggest reason why the Apple clones almost destroyed the company. Apple needs to have better software and to accomplish this, its software is frequently updated and problems quickly addressed, in comparison to its competitors. It’s why people buy and tend to stay loyal to Apple stuff. This week Apple reported a 50% adoption rate for iOS 13 for its mobile devices:

    https://www.theverge.com/2019/10/16/20918359/apple-iphone-11-pro-ios-13-adoption-rate-google-android-10

    I am not yet a member of this 50% club. It still sounds too buggy for me.


  39. TEKnight Rider

        October 23
    

    I’m starting to feel like Apple needs to start paying beta testers…as it “feels” like Apple might be relying on public beta too much. Because if they are…obviously nobody that is detailed or actually uses the OS for real life is reporting back to Apple…other than reporters blogging stories about the “new macOS features”. :innocent:

    Personally, I think Apple didn’t have as many public beta testers as necessary. Not having as many testers leads to fewer data points, which allows problems to slip through the cracks.

    So now for these other software developers…I say shame on them for both not testing there stuff and they have been warned for years and years that this was coming.

    This is a big problem too, and a big quality control problem as well.

  40. Interesting. On adoption rate. What are the reasons adoption rate matters? Hardware sales sort of, but are there more ? Presuming Apple’s not doing anything shady like making the new software slow down old phones, having every old customer on the latest OS doesn’t appear to be a large driver for hardware sales. Yet, it’s the lead point to most keynotes.

    I have heard them say it enables them to innovate faster, but if we look at the last years don’t we see a steady decline in OS features introduced and a rise in application level features ( Mimoji). I’m not sure there’s something inherent in the OS that enabled them to build Mimoji app, is there ?

  41. 1 year, 2 years, 3 years… It won’t make any difference. If they have more time they’ll add more features. That’s an iron law of software development.

    Locking feature release to particular flagship marketing releases is the fundamental problem. This becomes super hard the more interconnected things are.

    There are a lot of ways to fix this (it’s not a problem unique to apple), but it takes time and will for a company culture to change.

  42. Why does there need to be any regularly scheduled updates to the OS? Third party app devs don’t release updates yearly. Why not push out features as they are ready? Apple could still hold big press events to announce features that will be coming in the next 6 - 12 months, but they could be rolled out individually. This would make it easier for users to adapt to changes because so many things aren’t changing at once.


  43. bkd_bkd

        October 23
    

    Interesting. On adoption rate. What are the reasons adoption rate matters? Hardware sales sort of, but are there more ?

    Good adoption rates mean loyalty to the product, frequent or at least regular use, and trust in the brand. It also means people are more likely to download apps, buy apps and make in app purchases. It’s why so many people jumped into Apple Music from the start, and why Apple is so confident that its services business will become a revenue generator. Apple’s App Store totally KOs Google’s every quarter to date; it beat them by 30% for the first half of this year:

    https://sensortower.com/blog/app-revenue-and-downloads-1h-2019

    And they are running neck and neck with Spotify in global paid music subscriptions. Apple began beating them in the US:

    https://www.wsj.com/articles/apple-music-overtakes-spotify-in-u-s-subscribers-11554475924

    Since then, Spotify lowered some of its paid rates and initiated a revenue sharing arrangement with Hulu (buy Hulu and get Spotify free, which sounds like a better deal than pay for Apple Music and also pay for TV+). Their student plan continues to bundle Hulu and Showtime, and because it is $4.99 per month for the bundle even though it includes the music version with commercials, it qualifies as paid. Though the US number of Spotify subscribers has gone up, per subscriber revenue has gone down, and Spotify admits it will continue to drop:

    https://techcrunch.com/2019/07/31/spotify-108-million/

    Presuming Apple’s not doing anything shady like making the new software slow down old phones, having every old customer on the latest OS doesn’t appear to be a large driver for hardware sales. Yet, it’s the lead point to most keynotes.

    People are not replacing Macs or PCs as frequently as they used to, but for Apple, it’s the software that sells the hardware. Unless PC buyers work in a field that requires heavy processing power, an Acer, Dell or Lenovo isn’t that different, and both home and business users tend to go for the best deal.

    I have heard them say it enables them to innovate faster, but if we look at the last years don’t we see a steady decline in OS features introduced and a rise in application level features ( Mimoji). I’m not sure there’s something inherent in the OS that enabled them to build Mimoji app, is there ?

    I think the profit motive led to Mimoji and Animoji. And Apple is a very creative company.

  44. OK, let’s keep this focused on issues surrounding the operating systems and less on Apple’s financial situation. The two are related, but the bugginess of this year’s releases is new and Apple’s focus on revenue is not.

  45. Actually, in my opinion, it is far more predatory than simple marketing. It provides the opportunity to sunset older hardware and coerce users to purchase new ones with each upgrade. As an example within hours of the release of IOS 13 there was not a single new iPhone 7 for sale anywhere, including authorized independent vendors, yet they were freely available the day before. After IOS 13 was release the only iPhone 7 available were refurbs. I know this for a fact as I was checking for the best prices for them the day before IOS13 release and all the major vendors had them but the next day they had all disappeared from their websites.

  46. Egad!
    I just discovered my boss was considering buying an iPhone 7!
    Should I quit now - before it turns out he is still using a Nokia??

  47. I was just begging the question – I understand the why Apple does this. I just disagree with it. :slight_smile: The point I was trying (but failed) to make is that tying a major OS release to a date driven by a hardware release cadence (irrespective of the state of the OS) can easily result in buggy, incomplete software.

  48. I disagree, I don’t think that iOS 13 has anything to do with discontinuing the iPhone 7 since the 7 runs iOS 13. It makes much more sense that with the iPhone 11 Apple revised its hardware offerings. The iPhone 8 was lowered in price and became the lowest cost iPhone. It’s a hardware decision.

    Hopefully the rumored lower-cost iPhone will appear in winter or spring. This is rumored to have the iPhone 8 form factor but new insides. Whether this will replace the iPhone 8 (same price, better insides) or be even lower in cost (I hope) is unknown.

  49. That same dynamic was in place when I left Apple in 2004. The difference was that engineers with old, unfixed bugs risked getting a call from Steve asking why the F*** this bug still isn’t fixed.

    But also, let’s not discount the working conditions in effect at Apple. All reports from Apple indicate the Cook/Federighi regime has brought with it much more of a sweatshop atmosphere than when I was there. “Schedule Chicken” is another way of saying “working your employees to death”. A clear symptom of this is when engineers adopt slogans like “not a regression” to avoid suffocating under the workload.

  50. Why does Apple have to release a new OS every year?

    I have a slightly different view than everyone else. Obviously each new version of the Mac OS offers new features, which are a nice selling point. But I think that the new features are sort of a side-show for what is really important in each new OS, something that Apple slows down development of to their extreme peril.

    Each new version of the Mac OS brings with it three absolutely essential things: Security improvements, reduced maintenance and improved reliability, and better integration with Apple’s other devices. All three of these are key areas where Apple is head and shoulders above the competition.

    With regard to security, malware and hacking are constantly evolving, and if Apple didn’t evolve the Mac OS with it, the Mac OS would quickly become painfully vulnerable. The security of Apple devices is a HUGE selling point. You never pick up the newspaper and read about an entire company using Macs whose computers were all infected and millions of dollars of data loss/lost work ensued. I hear from Windows users constantly who have had catastrophic problems with their computers and they are keen to never have them happen again.

    As far as reduced maintenance and improved reliability, computers have become a household item that users expect to use with no headaches and little thought…like a refrigerator. Reliability sells. Not only that, but fewer tech support calls means money saved for Apple. Users don’t want to have to do ANY routine maintenance to keep their computers running reliably. It doesn’t receive much press, but with each new version of the Mac OS, the Mac is requiring less maintenance and it protects the integrity of your data more and more. In fact, Macs are becoming so easy to maintain, that I’m considering dropping my Macintosh Routine Maintenance Web site.

    Finally, the better integrated the Macintosh is with Apple’s other devices, the more Apple devices consumers will buy. I’m sure that Apple has sold a ton of Macs because they work so well with iPhones and iPads and Apple Watches. This sort of integration MUST get better and better to keep users in the Apple camp for ALL of Apple’s devices.

    I don’t see how Apple could drop the yearly Mac OS update and maintain the above advantages.

  51. Not very well. I had Office 11 at work, when I updated to Catalina it said “Microsoft Office will need to be updated to continue to work.” I took that to mean it would need an update, not that we would need to buy a new version, which I would call an upgrade. Adobe did the same thing with its new Creative Cloud app :frowning:
    Now I have to uninstall Adobe Creative Cloud and look for an alternative.

  52. I love the actual content of this article, but I think both the headline and introduction are wrong and misplaced.

    The problem with Catalina and iOS 13 aren’t that they’re unusually bad. The problem is they’re exactly the same quality as (nearly) every other major release, and it just isn’t acceptable anymore. A further problem is that Apple is actually trying to fix these problems by rapidly releasing fixes, but it’s too complex to do that.

    The six points listed are absolutely the reason. But saying “this is unusually bad” is not just wrong but counterproductive. As long as we keep justifying bugs in major releases as “well, it’s not usually this bad” we give them an excuse to continue. No, it’s always been this bad. As long as things keep going this way, it’s always going to be this bad. It’s time to accept that and use new techniques to stop the problem.

  53. Not only is the “new major release every year” forced schedule wrong, but also Apple’s procedure for releasing things has gone completely off the rails.

    A couple of days ago, a major Xcode update (11.2) was released. That means it’s eligible for submitting apps to the App Store. But this Xcode contains a bug where many apps built with it are likely to crash on launch unless the user has updated to iOS 13.2. (The crash involves the presence of a UITextView in the storyboard; many apps have that.) This bug was not present in the preceding Xcode 11.2 beta. So it was added silently and released as final without public testing. That’s not just nuts; it’s stupid.

    That is emblematic of how the whole of iOS 13 feels to me as a developer: radical changes are rushed into production without sufficient testing, care, or thought.

  54. As a former Apple QA employee, I’m not sure whether I’m allowed to agree with the article, but I think I can agree with this comment.

  55. (Repeating my comment on a later article, so that the comment can be found here, too.)

    I have no evidence, but I will tell you what I expect is the case.

    Apple developers, like so many of us, do not know what a successful test is: They think software testing is running tests to see if the software works as intended. If it works, they think that is a successful test.

    I don’t want to be ruler of all software, but if the role was forced on me, my first executive order would be that no person could work at software development unless a) they had studied The Art of Software Testing and b) they understood and agreed with what Glenford J. Myers wrote in that book. Wrote 40 (count 'em, forty) years ago.

    Software testing is exercising a program with the intent of causing it to malfunction.

    “A successful test case is one that detects an as-yet undiscovered error. [Myers]”

    I have not read the 3rd Edition, which Wiley is now selling. I hope they have not watered down the message. It should be all in Chapter 2 - The Psychology and Economics of Software Testing (fourteen pages). It’s in the book!

    The rest of the book is details based on the facts of Chapter 2. The 3rd Edition was published 8 years ago, so the remaining chapters will not be right up to date. That does not matter. Unless it has been watered down, the message is in Chapter 2.

Join the discussion in the TidBITS Discourse forum

Participants