Hacker News new | past | comments | ask | show | jobs | submit login
Why iOS 13 and Catalina Are So Buggy (tidbits.com)
537 points by gdeglin on Oct 23, 2019 | hide | past | favorite | 349 comments



That doesn't make sense. None of this has changed from previous updates and all previous macOS updates were far more stable than this one. This isn't a particularly feature laden update either.

But now all of a sudden we get catastrophic (deleted emails) and less catastrophic (missing Music playlists) data loss, crash bugs and generally weird behaviour of many apps.

I have identified one particular area where bugs are endemic: iCloud and it's complete failure to deal with multiple OS and client app versions. This is clearly a design issue as it also manifests itself in many ways that are not bugs as such.

For instance, Notes has gained the ability to share folders via iCloud. But if you create a folder and then share it from a device with the latest OS version, that folder disappears from all devices running older OS versions and importantly also from the icloud.com website.

Reminders on Catalina warns you of such version incompatibilities and the wording is telling. It's talking about "converting" something to the latest version. "Conversion" shouldn't even be a thing that users need to know about where no user controlled files are involved.

All indications are that there is a fundamental design error at the very core of iCloud's architecture. It feels like iCloud operates not as a single source of truth but as yet another device that participates in peer to peer syncing. This is a very complex architecture and they haven't been able to make it work.

So my conclusion is that iCloud which has always been exceptionally buggy has become pervasive within Apple's ecosystem. This is what has changed.


> all previous macOS updates

My experience is this is true of recent updates, but I don't think the data would support such a sweeping statement beyond that. I remember the dustup around this in 2015/2016 after comments by Marco Arment:

https://marco.org/2015/01/04/apple-lost-functional-high-grou... https://marco.org/2015/01/05/popular-for-a-day

I haven't listened to the interview that Eddy Cue and Craig Federighi did with Gruber since it aired, but my recollection is that they said that they actually measure these things and there had been FAR fewer bugs over years (from that date) and that we've simply come to expect less buggy software as a result. Or at least that's my years-old recollection, I could be wrong. And so I think what's likely is that this version is worse than recent versions, but if you compare to, say, 10 years ago it's less buggy. Kind of like what people experience when we have increases in the crime rate -- far better than it used to be, even if people don't recognize it, but (1) still an increase, and (2) we should expect progress, not things getting worse!

https://daringfireball.net/thetalkshow/2016/02/12/ep-146 (I could be wrong and maybe it was a different interview)

Anyway, there was a ton of chatter here and everywhere else in the tech community around that time. Here's a quick example at the time (but I imagine there are dozens of others, if not hundreds):

https://news.ycombinator.com/item?id=11034071


When people stop filing bugs, because it’s futile and pointless waste of time, then you get fewer bugs and your metrics go up...


My understanding is that they have ways of discovering when something breaks beyond the user having to file a report. But I agree that Apple is terrible when it comes to communicating back to people about what they file. It doesn't happen. (They've also been bad at this for as long as I've been paying attention to these things. I don't think they're worse than they already were in the last year.)


I think your appraisal is probably a fair one, but I wouldn't isolate it to iCloud, it'd be anything where a device operates with things outside of itself.

My car isn't new (2007) and lacks the built in bluetooth-ish stuff. So I have my iPhone connected to the aux via the lightning-to-headphone jack adapter. My Apple Watch is my means of adjusting music: not perfect, but I have a rule (seems to be the bare minimum) that I only track forward/back/whatever if I'm on the interstate and there are no cars near me even though the hand with the watch on it is on the steering wheel (I'm glancing, so that's a cautionary thing that even though it is brief, I could be a danger to others). Well, since the latest updates and point releases we're now at the stage where the Apple Watch has a hard time staying in sync with my iPhone. If I start a track, the watch is aware and the now playing "app" is visible. But if I pause the song and the Watch blacks out, if I activate it, I'm back at the main watch face with time and date. Before, it'd return to playing now and I could tap play button and be good to go. Instead, I need to wait until I'm at a stop and turn it back on via the iPhone (in which case, watch now shows now playing again) or hope "Hey Siri, resume music" works.

This also falls into what the article talks about that it is a regression in behavior that doesn't, seemingly anyway, involve a crash. It's terrible, but it isn't going to register on any of their logs/reports because the devices seem to be functional throughout.


Shortcuts are another feature where they changed the format and anything that syncs back to an iOS 12 device becomes nonfunctional

Another bad piece of this release is that iOS and iPadOS were staggered: iOS 13 came out on September 19th and iPadOS on the 24th. Even if all of your devices were new enough to update, the iPad didn't have a compatible release for the better part of a week, so a bunch of features were broken.


That’s not accurate. This year had Catalyst and SwiftUI which sucked a lot of manpower from dev tools and frameworks.


I think Catalyst and SwiftUI are rather isolated activities at this point. I would be surprised if there was much overlap with teams working on iCloud and user facing apps. But I have no inside knowledge obviously.


iCloud had its own set of issues, but I wouldn't be surprised of many of the OS framework engineers were involved in those two projects (and other; there are rumors now of Apple AR glasses).


I agree. I looked through that list and there's nothing in the list that doesn't apply to previous releases


The article does make sense, although I agree that it is not a complete answer to the question its title poses. For example, if iOS 13 had a higher number of features (it did) that got pulled late due to schedule chicken (they did), that would explain why iOS 13 was rockier than other releases.

All the points are applicable to other releases, but that doesn't mean they don't also explain iOS 13's issues.


> That doesn't make sense.

I thought all those reasons sounded good, and the problems he described could have easily become worse in recent years.

Also, FTA: "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."


iCloud incompatibility between various macos and iOS versions has been going on for YEARS. As someone who deals daily with 4-5 different devices, I've long run into this issue. Random bits of iCloud just refuse to sync between certain versions without any word of warning. Not at all new in Catalina.


I have a slightly different take on this. I think every company should dedicate a certain percentage of their revenue to handling bug reports from users. Yes, many bug reports will be bogus, but many will be pure gold (I speak from experience). Yes, it involves a lot of manual work. But it is so incredibly worth it — you get to catch the odd bugs that you will never catch with automated or in-house testing.

In contrast, big companies like Apple try very hard to avoid and ignore user bug reports. There is no way to easily E-mail them, "filing a radar" is hard, and even if you do they do their best to ignore your report.

When I wrote "percentage of revenue", I meant it. In my software business (https://partsbox.io/), I dedicate about 10% of my time to reading, analyzing, and responding to user bug reports. Carefully thinking about every report let me catch bugs and problems that I never would have found. I also learned that every user bug report carries some information: even if something isn't actually a bug, getting multiple reports about it might point to a usability or a documentation problem.

If Apple also spent 10% of its revenue on processing bug reports and fixing bugs, they would not have a quality problem like they do now.


If Apple spent more than $11 dollars on documentation they also might not be in the situation they're currently in.

So much of what happened in Catalina is just flat out not written down in the Developer Documentation. Apple's documentation has been waning for a while, but it's fallen off a cliff in the last eighteen months.

It's impossible to believe that's not having an impact on external software quality, and it's difficult to believe it isn't having an impact on Apple's own applications too.


I remember doing my first hackintosh, due to an attempt at a startup where we wanted to have a iOS and OSX client.

The documentation blew me away, nicely packaged with XCode, and made it really look like a platform that would care about developers, especially given how niche it was.

That was 10.6 time.

Currently, I have a Mac forced on me by company. I look at docs... and they are the same docs I remember, with bits missing, a "deprecated banner" from 5 years ago. Deprecation notices give no information what APIs one should use in place, or where new documentation is.


This boggles my mind. My flabber is ghasted.

Documentation is of paramount importance! How else will people build an ecosystem around your software if they can't figure out how to use it in a variety of ways?

I really hope this isn't some trend of just abandoning the commons, taking without adding back in.


I think the point is to get the average beginner dev frustrated and not make macos apps. They've been pruning the platform slowly but surely for quite some time now

ipad seems to be their focus for "pro" stuff now. Now that iPad apps can run on macos i think that's a clear sign that if you want to make a macos app - don't bother, make an ipad app


The Catalyst documentation for running iPadOS apps on a Mac is actually the worst offender. It's garbage, and unusable. Anyone who has built a Catalyst app has effectively had to reverse engineer significant parts of the APIs. God only knows if some of them are supposed to be private, and if Apple will suddenly decide they are and reject apps from the store for it.

I don't think there's a deliberate conspiracy here. All this stuff is launching two years before it's ready, and subject to a huge internal war at Apple - it's fairly clear a chunk of the MacOS team doesn't want to do Catalyst fearing it's the death of the Mac, even if the management do.


I had the same experience trying to write a plugin for Logic Pro early this year. None of the old documentation or examples were relevant, and I never did find anything from Apple that did work. I finally used someone else's framework as a starting point.


There are a surprising amount of Catalyst API documents that literally just have the function name and no description of what it does and an empty page.


That sounds an awful lot like a typical project that starts out on the right foot, everyone has a procedure they follow but crunch time approaches and they start to cut corners just to get things done. Documentation and testing are the first I’ve seen to go.


The quality of the original "Inside Macintosh" books was the main reason I started programming on the Mac back in the day, and lost interest in the Amiga.


Definitely put a number on it! And track how close you actually are. I think 10% of revenue will be deemed too much for most organizations.

Usually Support is seen as a distraction to new product development or whatever the strategy is, but often I see management overestimate how much time and money is spent on it. So, just tracking that cost/time will likely increase it and improve customer satisfaction.

Unfortunately, improving Customer Support is not rewarded in organizations as much as cutting costs, creating new products or expanding revenue, so you'll probably need the CEO to care a lot about it to improve matters. And CEOs can't really put a number on improving customer support, so it is optimized to cost less over the near term, not deliver a better service.

I also see the worrying tendency to keep only Customer Service or equivalent responsible, as if they can fix the bugs and improve the design.


Just a not that there is a way to get a bug report filed - call support, get the issue escalated because its not fixed, if they cant fix it it will go to engineering.

I have personally witnessed hundreds of support cases go through this various process, in some cases taking months of work (for communication mostly from eng to customer) of T2 support reps.

Now - is their current spend sufficient? Probably not, but Apple consistently ranks among the highest customer service ratings - so they probably think spending more here is a waste of time.


While this is true, it is a solution for people dedicated to getting a problem fixed. Calling up a support line is a huge barrier, and companies lose out when people cannot file bugs or express their frustration with little issues with ease.


Absolutely - and out of the first year of purchase you gotta pay - people LOVE paying! But that last part matters - if a company already wins the customer service metrics - how do you convince management the money is worth it?


> If Apple also spent 10% of its revenue on processing bug reports and fixing bugs

Just to be clear, you're suggesting they dedicate $25B/year to bug fixing? Seems high, given their total R&D budget for 2018 was only ~56% of that.

https://www.macrumors.com/2018/11/05/apple-2018-form-10-k-hi...


Sure, why not? It's not like they're doing anything else with the money. It doesn't have to be only software fixes either. There's plenty of hardware issues like the keyboard.

The spending doesn't have to be instant either. Just start increasing the spending and measure user satisfaction and bug report counts. Once you've arrived deep into diminishing returns you can stop increasing the spending.


> Once you've arrived deep into diminishing returns you can stop increasing the spending.

How do you know they're not there now? It's hard to believe they're not thinking very carefully about these sorts of things, given how successful they've been establishing a place in the market.


> How do you know they're not there now?

I don't know for a fact but I have more respect towards Apple than to think that the current state is the best they could do.


> I have more respect towards Apple than to think that the current state is the best they could do.

$265B in Revenue and and $59B in profit seems to indicate they're already doing pretty well. Maybe your definition of 'best' isn't in perfect alignment with the rest of the marketplace?

I get that there are things about their products you can point at and wish were done better, or at least differently. I use Apple products myself, so I have a list of these things myself. But, the thing is, this isn't unique to Apple. Have you ever been completely satisfied with a product or service? I can't really say that I have. About the best that I've ever been able to achieve is something that's a close enough approximation to my 'requirements' that I can adapt what I'm doing to make it a solution.

Point is - you're never going to find something perfect. There will always be a gap and hopefully effort on both sides to close that gap. Those financial numbers aren't a perfect indication by any means, but they do signal that Apple's doing a reasonably good job of closing that gap for a reasonably large number of people willing to part with their earnings to buy Apple's products.


The number doesn't matter. It's the precedent being set that Apple takes bug reports, and investigations into them, seriously through a percentage of revenue. It could be 10% of something more in-line with Mac OS X - like 10% of revenue from OS X app store sales. Either way the point is that Apple should be concerned about quality of software far more than it is. I submitted a bug to Apple about how the Apple login page was rejecting requests from browser headers from Linux machines. Apple rejected the ticket as a problem on my end even though I gave them clear instructions on how to repro. I did the same on Twitter - even linking them to a Browserling instance showing them, again, exactly how to repro. I gave up talking to the wall. Apple didn't care until it got mainstream press. That's a horrible user experience and frustrating that you need to traverse multiple avenues and hope your issue bubbles up to a consensus of users to get the appropriate attention. How many bugs like that go unaddressed even though someone has spent the time and effort documenting and submitting it? Sure, wrangling that isn't easy - but Apple has the resources to do it.


> Either way the point is that Apple should be concerned about quality of software far more than it is. I submitted a bug to Apple about how the Apple login page was rejecting requests from browser headers from Linux machines. ... Apple didn't care until it got mainstream press.

Can you provide a link? I'd be interested to read how it played out. My gut reaction is that number of people logging into Apple's site from Linux is a tiny fraction of their market. At first glance, it doesn't seem surprising to me that they'd prioritize other things.

> How many bugs like that go unaddressed even though someone has spent the time and effort documenting and submitting it?

I'm not sure I agree with the implicit assumption you seem to be making that spending time and effort documenting a bug entitles you to a call on a development organization's resources, time, and prioritization.


Using revenue is a bit silly. Speaking in terms of the dev budget would make more sense.


That would be a serious cut into their stock buybacks!


Yes bug fixing the frigging keyboard should take at least 1 Billion. At least they would have something that types properly


That's around 100,000 engineers worth of salary. Good luck (:


No kidding... it would be hard to find that number of engineers at the level Apple needs, much less organize them all, so they're pulling in the same general direction.


Yeah I have a bug where the disk storage calculations show Messages as using a negative amount of disk space. Nothing I could have done as a user could have caused that, but they've ingored the bug report I sent.


You are writing this based on gut feeling, big companies simply can't go over every bug report- it's not scalable.

I used to work on a product at a big company, we took users input very seriously, not only from bug reports but also by analyzing telemetrics data and simple users "star" feedback.

At the end of the day it's simply impossible to both fix everything and still go forward when the product is big and complex. To this day the product has terrible reputation as buggy and unfriendly.

Even the simple task of finding what the problem is, fixing it and then closing related problem reports is very complex since many bugs manifest themselves in different ways.


> You are writing this based on gut feeling, big companies simply can't go over every bug report- it's not scalable.

I often hear this repeated, and I keep wondering: why? Why is it not scalable?

Apple had 265 billion dollars of revenue in 2018. I'm spending 10% of my budget on QA. So, in the case of Apple, if you had a 26 billion dollar budget (give or take a few billion) for your QA department, why couldn't you go over every bug report?

It's definitely possible, it's just that companies are making a different tradeoff, assuming that bugs will not influence buying decisions that much. And to a certain extent they are right.


Because software is just not something you can just throw more money and people at and expect it to get better. In fact, that is the surest way to make a piece of software worse.

Software, despite all the attempts to come up with ways to commoditize its production, does not scale.


But we are talking about reading bug reports, not writing software. Also, I would argue that finding and fixing bugs actually does scale, as opposed to designing and writing new systems.


How do you recognize 100,000 reports of the same bug but different manifestation ? What if it's an architectural issue (and many bugs are)? What if you are already working on a total re-write that's going to be released in 2 releases ? What do you do with bugs found internally ?

Also remember that many bugs requires much more then changing a couple of lines of code, they require cross module changes and re-testing which can lead to more bugs.


You need the small subset of people who actually understand how the software works to fix the bugs, lest you just end up playing whack-a-mole and introducing new bugs.

Ideally, it wouldn't be like this, but we don't live in an ideal world, and there's always some unintended consquence when you start pulling the string on anything nontrivial. And there's never sufficient automated testing, especially for the things that haven't been a problem yet.


Fixing the bugs is one thing, but identifying that user reported bugs are in fact bugs is an entirely separate issue. The latter takes a ton of time, requires no developers, and is what everyone above you in this thread is talking about.


The GP comment that spawned this thread said this:

> If Apple also spent 10% of its revenue on processing bug reports and fixing bugs,

"fixing bugs."

So, fixing bugs is 100% part of the discussion here.

But, let's ignore that for a second.

Let's say Apple triages all its bugs, but then doesn't fix them.

How is that an improvement? How is triaging the bugs but not fixing them at all an improvement?


Does the Chrome team go over every bug report? It seems like it to me, though I've only filed a few.


They also ignore bugs for a decade or more.


> To this day the product has terrible reputation as buggy and unfriendly.

In what way is that an argument against paying attention to bug reports? Are you saying that the continuing existence of this product means it does not matter? Arguably that strategy will work, up to the point when something better comes along, and by then you will be too deep in bugs to pivot.


We did fix customers bugs, I don't know that exact investment made but it was not trivial at all- and still bugs were found and not all of them fixed.

This specific product grew to be an abomination which in part is responsible for the many complaints it gets.


Automotive companies do, though.


maybe in the safety critical parts, but do they fix entertainment system bugs ?


That's quickly becoming the main point of differentiation in most reviews since cars in a certain class have become more or less the same performance wise.

Speaking from the perspective of just wrapping up the car buying process. All of the reviews had just as many, if not more words devoted to the infotainment experience as to the driving experience.

Here I am thinking Bluetooth is peak feature so I can play my music while carving canyons and reviewers are taking off points because the touch screen isn't colorful enough or something.


But as I've been saying for a few years now, most people don't want to drive. They'd much rather be driven so they can mess with their phones.


I want to be driven because it's safer and usually more relaxing, even though I like to drive.

And I want my Bluetooth connection to work flawlessly but it never does.


Or the Bluetooth connection works, but does random things you can't change. The last rental car I had, upon connection, forced Spotify to re-open and start playing the last playlist. Even if Spotify was closed.

Some entertaining solutions I found online include a playlist that includes only silent tracks and switching to that playlist before you turn off the car, or canceling Spotify Premium so you can no longer download/cache songs, giving you enough time to mute before Spotify's cloud can stream the song to the car.


I want to drive. Just not to work (or the shops, or anywhere else on a daily basis).


It's basically why Windows 10 is also so much buggier than previous versions: Nadella cut a good portion of Microsoft's Q&A team.


If this your anecdote, or are their studies around this?

I ask because anecdotally everyone I know finds Windows 10 to be the most stable Windows they've ever used.


There was a big data deletion bug from an update that happened around a year ago, I don't think there was anything that bad in Windows 7


Did they not use 2000? Or XP? Or even 7 for that matter?


I've used Windows on and off since 3.11, and have used 98, xp, 7 and 10 a lot.

As much fun as it is to hate on Windows, if I'm honest with myself 10 has been the most stable experience I've had with Windows, with the possible exception of 3.11 (though that was a long time ago).


I've used Windows since 3.11 as well and I still use Windows 7 and Windows 10 every day. The rate of significant issues has been higher with Windows 10 than with Windows 7. Although they're mostly related to the UWP parts. For example on Windows 10 the UWP UI stuff sometimes stops working so I can't even open the start menu. That has never happened to me on Windows 7, although it did happen on XP and earlier. To be clear, I'm talking about the start menu specifically not the whole explorer.exe freezing, which happens on every Windows including 10, but can be restarted without a whole PC reboot.


It’s not like there was anything to do in Win3.11 other than Word, mspaint, Solitaire, and writing funny messages in the marquee screensaver


This seems pretty far removed from most other people's experiences.


Which is why I was asking if there was any kind of quality study / survey / anything better than opinions around this, because as you say the anecdotes in my anecdote arsenal seem to be quite a bit different from other folk (or at least other highly verbal folk) on the internet.


I agree with you SCdF. Win 10 has been the most reliable Windows for me since 3.11, except maybe late-stage XP when all the worst bugs had worked out. I think it’s always the case that people that have bad experiences are going to be vocal, because you don’t go around talking about “oh hey, everything worked normally today.”

The deletion bug WAS pretty bad, but it also affected a VERY tiny group within the subset of users that had opted in to experimental/advanced-preview updates.


All previous versions of Windows stabilized because they were more or less feature complete. The problem with W10 is that it’s continuously in motion. 1809 becomes stable, but before you know it you’re on 1903 and the trouble starts all over again.


Win 10 is fine for me.


Windows 10 is fine for me too, altho UWP apps seem really laggy. I understand the logic of callback style coding, but it seems like you click a button, and then the system graciously responds. Whereas in non-callback style coding, the system begins to do something and you feel like it's definitely on the job. It would be nice to have some kind of feedback constantly linking the button press to the response that happens.


Who uses UWP apps? At my workplace we have managed desktops that lock out the Windows Store and I don't miss it at all.


Yesterday a coworker was frustrated with his computers, and said something insightful: "When software gets past a certain age it just gets bad." He was referring primarily to Android and Windows (10) but it applies to every piece of software that suffers from feature creep. If it's a cash cow they have to keep stuffing new things in and periodically repainting it to make it look new again.

Around 10.9, MacOS reached a "feature complete" state. Now things are just being changed for change's sake. Running older Android versions reminds me of how fast and slick they were, and how many features have since have just added complexity in meaningless ways (they've changed the "silent" mode roughly 4 times since 2011?) and introduced "features" nobody asked for. Half the features end up getting removed later.

As an example of good software that doesn't perpetually introduce bugs, take venerable *nix Desktop Environment XFCE. (Screenshots here https://xfce.org/about/screenshots) It has a release every few years and doesn't add anything major or change in breaking ways - it works, and works the same as it always has for decades.

(edit) I had another thought - since Apple the company is now so large and most of their resources are focused on churning out new products year after year, it could be that they've stretched themselves too thin and the people that could uphold the quality standard of the systems either a) aren't as much of a hardass as Jobs was and don't have as high standards, or b) just don't use the products on a regular basis. I bet you there's someone working at Apple right now getting paid >$250k/yr that hasn't touched macOS in over a year.


I'm reading this on a late-2013 MBP retina running 10.9.5 and not only does it do everything I need it to do, "upgrading" from here would actually cause me to lose essential functionality (which is why I haven't done it). I have a stash of replacement MBPs to replace this one with when it finally does die, but I don't know what I'm going to do when they're all gone because AFAICT everything Apple is producing nowadays is shit and everything else on the market is vastly worse. Sometimes contemplating the future (or even the present) causes me to sink into deep existential despair because I remember what the world was like when there was a company that made computers that Just Worked.


Although older software usually does what we need it to do, I question the wisdom of running an Internet-connected machine with software that no longer receives security fixes. If the various Linuxes might give you what you need, I encourage you to check them out. Debian with XFCE and Xubuntu's LTS are both very good options that stay stable and secure.

Out of curiosity, what would you lose functionality-wise by upgrading? What's your mission-critical workflow?


> If the various Linuxes might give you what you need

Oh, how I wish! The problem is it's not just me. I'm the IT department for my wife as well, and there is no way she's going to switch to Linux. For on thing, she's a writer, and she uses MS Word. That is not going to change. :-(

Also, what to do for a mobile device? They all suck big fat honking weenies AFAICT. We both have iPhone SE's which, AFAICT, are the least bad of all the available options. We both tried Android once and it was a disaster.


> she uses MS Word

I've always wondered about people that are able to switch platforms. I've always thought that you pick the operating system that best runs the software you want to use. So it makes sense that a Word user wouldn't switch to Linux.

> We both tried Android once and it was a disaster.

Why was it a disaster? Were the apps you needed not there? I use iOS (on an iPad) and Android (on a Pixel phone) and they both seem good enough.


> Why was it a disaster?

It was a long time ago so I don't remember the details, but it was just a slow, buggy mess. Maybe things have gotten better since then but the experience left such a bad taste in my mouth that I've not gone back to re-evaluate the situation. It's an expensive experiment to conduct in terms of both money and time. Also, the fact that Android is so intimately intertwined with Google gives me serious pause. At least with Apple there's a chance that my data is somewhat secure. With Google I know with certainty that it isn't because their entire business model is to surveil me and sell the data to third parties.


Well I got my mother to switch to Ubuntu with LibreOffice, I just installed it on my old Macbook Air (that I previously had running a heavily riced Xubuntu), handed it to her and showed her how to get online and how to open LibreOffice Writer. Sometimes people just need a nudge.


I actually really like 10.14 - I'm kind of shocked you're still on Mavericks. My 2010 MBP (with upgraded SSD) still rocks 10.13 fine.

What are you worried about losing with Yosemite+?


iPhoto mainly. But also, in general, Mavericks Just Works for me so any change involves risk with very little potential payoff. I have a ton of apps that I rarely use, but I know they work. If I "upgrade" and next year I discover that this broke something that I only use once in a blue moon, now I'm totally hosed.

Also, I just can't stand the new "flat look". It's just ugly and lazy. It feels like Windows. And the fact that I can't change it offends my sensibilities.


I use a bootable full-disk backup like CarbonCopyCloner and test rigorously for a few months.

My only issue with older OS versions are security updates, as Apple for justifiable reasons doesn't provide security updates for 6 year old versions.


> I have a stash of replacement MBPs

You make it sound like they're t-shirts or something haha


More like vintage cars. (My wife and I both drive old cars because it's nearly impossible to find a new car that doesn't spy on you or allow itself to be remotely disabled.)


Really? I drive a base-level 2015 RAV4 and there's no network connection to anything (except, I guess, my iPhone when I play music over Bluetooth).

Maybe where I am cars are still behind the times.


I may have given the wrong impression by using the words "vintage" and "old". We're driving 2012 models.


I was more referring to how the comment made it sound so easy to just stock up on a bunch of new Macbooks. In other words, it's not something anyone could do, especially from a financial standpoint.


Ah. Well, I consider them an investment. It's either buy old computers now or new computers later (or do without, but that's not really a viable option in today's world).


How long have you been storing them and do you take any precautions? I ask because those batteries have a shelf life and storage condition can change things dramatically. See:

https://www.runpcrun.com/laptop-battery-use-and-storage-guid...


Different ones for different lengths of time. I just go on Craigslist every now and then and when I find a good one nearby I snarf it up. I don't take any particular precautions other than storing them in a climate-controlled part of the house. I'm kinda figuring on having to replace the battery anyway when I bring one from storage into service.


I thought it was just me. I've ended up with a stash of mid-2015 MBP in my office too.


Same here!


> Running older Android versions reminds me of how fast and slick they were

Those are some rose-tinted glasses for sure. Android lacked basic performance and stability for years after release.


I apologize for not being clear; I was referring primarily to 4.4 "KitKat". Still have a tablet that I run with that on it (offline) to read ebooks. Quite nice. You are correct though - pre-4.0 was pretty rough.


Yeah agreed. I am torn presently between the feature creep and the fact that new phones are so physically faster computationally that Android can finally scroll smoothly.


Even my 2017 KeyOne with 2GB RAM and a slower class SoC runs fine; the only caveat is I've disabled GApps. I realize this is a large ask for some, but I think it's important to point out that Android itself isn't terribly heavy, Google's tracking is.


I'm quite partial to 4.2.2 Jelly Bean, the last release with the "Phablet" UI layouts meant for the Nexus 7. I had a Galaxy Note Ⅱ at the time, and it was easy to get that UI by changing the screen DPI setting or using a custom build like Paranoid Android: https://i.imgur.com/O8lSsXn.png


Android hasn't gotten slower. Android apps have had feature creep and the lack of native code makes them slow. A good example is the Google Maps app which has consistently gotten slower every year because the devs clearly only test it on flagship phones with gobs of RAM.


Android has been getting slower because of security enhancement like disk encryption and aslr, and probably mitigation for Spectre/meltdown.


You'd be amazed at home much time and how many resources useless UI animations take up. Go turn "Animation Scale" to 0 in the android developer settings page, and it will feel like your phone is 10x faster.


This really is incredible, it totally fixes my frustration at waiting for animations to finish and occasionally stuttering as it tries to uselessly slide things off the screen.

Btw, I also have an option under Accessibility that says "Remove animations" that doesn't require having Developer Mode enabled. Seems like an easier shortcut if you only want to turn off these animations.


Holy shitballs. This is amazing. Why isn't this the default?

Maybe I can wait till the pixel 5... oh.


Great point and it makes me think of software that hasn’t changed because it does exactly what it’s supposed to and no more. Like right now I am learning awk and sed using a book that was published in the late 80s and every single command and program listed in that book still run today. Other than old Unix command line tools I can’t think of any other programs that fit your description


macOS' problem ironically enough I think is that it is not a cash cow. Apple stopped charging for it with 10.9, but of course more importantly, the Mac itself does not generate a ton of cash for Apple (which was always the true source of revenue). Not a day goes by that I don't imagine features I wish macOS did for me. The desktop OS is not "mature" or "complete", its just not a big enough piece of the pie with comparison to iPhone for Apple to invest time in it. If you were to gift the Mac/macOS business to some random startup, there is a good chance it would see huge stability and evolution. Unfortunately, the business is coupled to a company that happens to make a different product that makes it way more money. If anything, Apple has been removing "features" from macOS at great pain to its users -- and I don't mean 32 bit or this security stuff, I mean the fact that they don't focus almost at all on the surrounding ecosystem. Apple used to continue investing in software for macOS like Final Cut Pro and Aperture, things that kept them invested in the OS itself. They very clearly do not want to be in that space anymore, so its weird to think that the OS is somehow "done" and just "spinning its wheels".

For a good non-open source example, look at Photoshop: it's been around for almost 30 years and people still think its worth paying for and are generally happy with the updates they get. Perhaps some are unhappy with the pricing model, but I actually see lots of people that are very happy with that too (myself included).

macOS only seems stale because it hasn't changed meaningfully in so many years, not because it can't.

With regard to the bugginess: yes, I think it has everything to do with the fact that they are now trying to ship a new version of iOS, iPadOS, tvOS, watchOS, AND macOS every year on the dot.


Quite insightful - thanks for writing this.

I'd love to see evidence otherwise, but I do think that desktop interfaces are pretty "done" at this point - you can have a couple different paradigms and layouts, but usually it's the same thing - either a Windows 7-style taskbar/start menu layout, or a macOS dock/statusbar layout. There's not been much change in the desktop space in a long time. Features here, animations there, but desktops are relatively stagnant. The cool thing is that you can extend them with other programs if you want, but mostly they're just a way to launch programs. Not a lot of messing around is needed if you ask me.


Is this a product of Apple's functional structure? Most companies are divisional, so you'd have a certain number of engineers dedicated to MacOS, who have to come up with new features to ship every year, but Apple's divisional structure makes it easier for those engineers to get pulled over to work on the new iOS feature?


Is it possible to do both? To improve our software over time while not letting the quality slip?


Windows XP reach a good state.

Windows 7 was the pinnacle.


XP is still one of my favourite operating systems of all time.


How would they not touch macOS?


I have been told by multiple sources that Apple engineering salaries are not competitive with industry leaders and haven't been for a long time. I wonder if the dissolution of the Jobs anti compete agreements exacerbated the issue.

However Apple seems to be willing to pay for highly sought after skills.

I have also been told that they don't have company level hiring standards so you should expect uneven abilities across different teams.

I have also been told that things were being rewritten or rather that Apple likes to rewrite. Apple doesn't seem to be very good at limiting regressions caused by these rewrites.

That's why there are so many crashes across the board. The crashes are caused by bugs or changes in behavior in common frameworks. This seems to jive with the author saying that Apple doesn't do enough automated testing.


I was just speaking with an acquaintance at Apple this weekend that works in a group in this area at Apple, and they pretty much said exactly what you just said.

Also, it doesn’t help that they can’t directly benefit from the general progress the industry is making in virtualization and container areas without rewriting for their own platform.


This is in contrast to this ex-Apple engineer. He recently quit. https://www.youtube.com/watch?v=dCGg_12gn-s I also read on twitter that it's the Interns who deal with "fun" bugs -> not professionals! https://twitter.com/meteochu/status/1186701883429273604


I wouldn't read too much into that tweet.


> Also, it doesn’t help that they can’t directly benefit from the general progress the industry is making in virtualization and container areas without rewriting for their own platform.

Can you expand on this? Are there limitations on MacOS that prevents them from doing so?


The macOS kernel (XNU) does not have any kind of containerisation support. I believe "Docker for Mac" is actually a Linux kernel running inside a hyperkit/xhyve VM, and uses Linux's container support.

Apple hasn't put much public effort into making macOS work well inside a virtual machine. Recent versions in particular, where the window compositor uses Metal for drawing, don't run well. Apple hasn't opened the API for writing GPU drivers, so there are no drivers for the virtualised GPUs provided by VMWare, Parallels, VirtualBox, or Qemu in their VMs. (The tightening of code signing requirements [see the 'library-validation' flag] even locked out nvidia from providing their own GPU drivers from macOS 10.14 onwards.) The only way to have GPU acceleration in macOS guest VM is to pass through a whole GPU at the PCIe device level. (I don't know if anyone has tried AMD's MXGPU tech, which allows GPU 'slices' to be passed to VMs, with Macs and macOS VMs; the GPUs that support it are a little too expensive for a weekend project.)

There are signs that Apple does use virtualisation internally; specifically, they've started adding drivers for virtio devices and one of Qemu's display adapters to macOS.


> "Docker for Mac" is actually a Linux kernel running inside a hyperkit/xhyve VM, and uses Linux's container support.

This is indeed correct. Your Docker VM lives at:

    /Users/$USERNAME/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw
It would be very nice to be able to use libvirt from my Mac in the same way as my Linux workstation. Or be able to migrate VMs between the two. They're both using the same-ish CPUs, after all! (Workstation has a "i7-5820K" vs the Macbook Pro's "i7-8850H")


It would be very nice to be able to use libvirt from my Mac in the same way as my Linux workstation.

I believe libvirt as such is supposed to work on macOS. Furthermore, recent versions of Qemu apparently support using macOS's Hypervisor.framework. So it seems like this should be doable, although I've not had a chance to try it myself yet.


Cool, thank you for the info. It's been a while since I tried it.


> The tightening of code signing requirements [see the 'library-validation' flag] even locked out nvidia from providing their own GPU drivers from macOS 10.14 onwards.

Library validation has nothing to do with drivers.


Library validation has nothing to do with drivers.

Depends on the type of driver. For GPU drivers, it is indeed a problem.

I'm going to assume from your comment that you haven't actually written many (any?) device drivers on macOS, so let me explain roughly how GPU drivers on macOS work:

- One or more kexts provide an IOFramebuffer implementation, plus an IOAccelerator object which listens for various types of user clients. The IOFB and IOAccel are typically clients of the GPU's IOPCIDevice object and handle its interrupts and memory.

- A variety of user space plugins (essentially dynamic libraries) are loaded into any process wishing to use GPU acceleration, with different plugins for Metal, OpenGL, and so on.

The kext communicates directly with the hardware and manages memory, but the user space plugin tends to deal with the higher level tasks such as generating command streams, compiling shaders, etc., and they talk to the kernel driver using the IOKit user client mechanism. The plugins also provide the back-end implementations for the app-facing APIs such as OpenGL, Metal, and OpenCL.

In recent macOS versions, WindowServer, the process responsible for drawing your macOS desktop, has had the library-validation codesigning flag enabled. This flag enforces that any code loaded into the process must be signed using a certificate from the same Developer Team ID as the main executable or Apple's own certificate. This means, no third-party plugins can be loaded.

This also means third-party GPU drivers can't work with most Apple apps and WindowServer itself, because they require aforementioned user space plugin.

For similar reasons, classic Core Audio plugins (not to be confused with Core Audio Server Plugins) are deprecated - they used to be loaded directly into the process using Core Audio, which no longer works on apps with library-validation enabled.

Drivers which are implemented entirely as kexts or which are loaded into a "server" user space process are not affected by this, which I guess is what you were talking about.


> I'm going to assume from your comment that you haven't actually written many (any?) device drivers on macOS, so let me explain roughly how GPU drivers on macOS work

I have written a couple toy ones, but nothing major and I'll admit I have no specialized knowledge of graphics drivers.

> Drivers which are implemented entirely as kexts or which are loaded into a "server" user space process are not affected by this, which I guess is what you were talking about.

Yes, I was talking about how anything loaded into the kernel does not have to deal with library validation (though there is still the check that it's signed with a valid KEXT certificate, which I assume Nvidia already has). I generally call the user-space portion of a driver that's loaded into applications to be plugins and keep them outside of the umbrella of "drivers" (which I reserve for the KEXT portion only) but in this case I think we both understand what's going on and are just disagreeing on what the terminology is.

> For similar reasons, classic Core Audio plugins (not to be confused with Core Audio Server Plugins) are deprecated - they used to be loaded directly into the process using Core Audio, which no longer works on apps with library-validation enabled.

These are plugins that implement AudioHardwarePlugIn, right? I think that they're being disabled by default anyways to get people to migrate to AudioServerPlugin, but they were deprecated way before library validation was even a thing because they inherited the sandbox of the application they were loaded into, which was already causing them to fail in odd ways.


I generally call the user-space portion of a driver that's loaded into applications to be plugins and keep them outside of the umbrella of "drivers" but in this case I think we both understand what's going on and are just disagreeing on what the terminology is.

Given that the kext is essentially useless without the userspace component (and vice versa), I don't think it's unreasonable to call the plugin part of the driver. Note also that it's installed in /Library/Extensions. This certainly also matches the user experience: they download the NVIDIA "driver" installer which happens to install a bunch of kexts and also the user space components at the same time.

These are plugins that implement AudioHardwarePlugIn, right?

Correct.

More generally, the IOCFPlugin mechanism, which paired user space components with kexts, is essentially dead for third-party driver developers thanks to the increasing lock-down of user space processes.


Aside from the software side, the licensing also heavily restricts virtualisation - if Apple would just /permit/ it, I know of several companies (not to mention open source groups) who would /love/ to create some industrial-scale iOS/OSX testing tools - right now they're limited to "duct tape a bunch of iPhones plugged into old-gen mac minis into a rack" and that's an absolute nightmare to manage...


I think this is exactly it. Apple has the keys to the kingdom. If they would loosen that up just a bit, for testing purposes, I bet they’d unlock a huge potential for the ecosystem delivering tools that even they could internally benefit from.


They need to unionize. The company they work for has 60 Billion in profit!!!


Or they could get a new job at a competitor.


The only iOS 13 bugs I’ve been bitten by are:

1. Safari’s back button now seems to lose the position on the previous page - sometimes.

2. The share sheet has a row of Messages contacts that I didn’t ask for, don’t want, and can’t turn off - and it creates the risk of super-inappropriate sharing, because all my work contacts are eligible for being on this row, seemingly at random.


God this, my number one share contact is my ex, who i broke up with almost 5 years ago, and literally havent contacted in over 4. This person isn't even a contact in my contacts anymore, yet still top HOW.


This is because Siri knows that you secretly still have a desire for your ex.


Don't be paranoid. It's because Siri desires your ex.


Technology is really reinforcing the correct behavior - if you think you don't want to talk to someone, DELETE them off your phone/social media.

I used to have the same problem until i took the plunge and just banished everyone i didn't like out of my digital life. If i don't want to interact with them, i just make their contacts poof/block them


I’ve got a large number of contacts who I rarely (but not never) want to contact.


> This person isn't even a contact in my contacts anymore

...did you not actually read his post?


I completely agree with point 2, and I have already accidentally shared a hacker news story to a work colleague without intending to!

I can’t understand why there is no option to remove it.


Slightly off-topic, but a while ago Google changed the YouTube app's sharing menu to show Google contacts first... ah yeah, just because they probably wanted to make YouTube the next social gathering space. Hit Like and Subscribe and Share! (I never do).

God damned growth hackers. Imagine driving out of the highway to the exit you regularly take to get home, but wait, it now leads straight into a shopping mall, because hey, look at this new shopping mall, please spend your money here! Want to go home? Make a 3 point turn and drive that way instead!


> I can’t understand why there is no option to remove it.

You can i think... but not sure;

Settings > Siri & Search > Messages > Learn from this app < uncheck


Didn't work for me. I unchecked all boxes for Contacts, Phone and Messages, rebooted my phone, it's still there.


Strange. At some point after i changed multiple settings this feature stopped working for me. Instead of the "suggested contacts" i only saw a sort of blurred panel without any contacts.

So i started searching and re-enabling things and suddenly the suggested contacts were back. Not sure what caused it then, might have been a bug...


Haven't noticed #1 but I love the new share sheet feature. I often text with the same few people, sharing links, images and what not, and this thing has really sped up that flow. Also I think the risk of accidental sharing is mitigated somewhat by the fact that you're taken to the compose screen and actually have to press send – it doesn't happen right away and gives you an opportunity to back out. This I also find extremely useful since I often add comments to whatever I share.


I have one where notifications aren't clickable (tappable?) on the lock screen, and I need to turn the screen on and off several times for them to work or just go to the app manually. Strangely enough they can be dismissed through swiping, the click event registers but just does nothing.


Interesting. I seem to have the opposite: some notifications I can't swipe right (finger moves left to right) to open, but I can tap on them to open them.


Number two is actually the thing that pushed me to switch from Android. Now it has followed me to iOS. These product managers are out of control. Why should it be mandatory? At least it’s not suggesting messenger contacts from other apps that I contacted literally once ever 3 years ago. (Yet)


> At least it’s not suggesting messenger contacts from other apps that I contacted literally once ever 3 years ago.

Only because none of the messaging apps have implemented it yet. As someone who uses their phone for messaging 70% of the time, I actually missed it from Android and am happy to see it come to iOS.


I use WhatsApp for 99% of my messaging. I’d be happy with the new share sheet row if it could be configured to show me my common WhatsApp contacts. But because it’s Messages only, it only shows people I very very rarely want to contact.


It’s not Messages only, WhatsApp just hasn’t implemented it yet.


When WhatsApp get round to implementing it, will I be able to turn it off for messages?


FWIW re #2 if you do accidentally click on an iMessage contact it brings up the message compose dialog and you have to use the regular send button. I too shared your fear, and have accidentally clicked the wrong contact.


I’ve encountered so many iOS bugs (both in 13 and previous versions) I’ve strongly considered making a website documenting them all. I honestly think Apple CarPlay is the buggiest thing I’ve ever used.


CarPlay on my iPhone 11 Pro has no hysteresis around day/night mode. It will literally go back and forth as frequently as every two seconds - extremely distracting at the periphery of my vision.


Latest CarPlay I’ve had to unplug and replug my phone to get audio to output. And sometimes it just fails to even load CarPlay. Super weird.


#2 is infuriating. If they don't fix this I'm going to have to stop using the phone. It's asinine such a list isn't customizable. I text my girlfriend the most, and she isn't even in that list half the time! At the very least it should be a list of whoever you texted last, in chronological order, but it's fucking random.


I can't help getting the feeling that they should make two versions of iOS, one for the average user/teenager, and one for professional use.

Really they mostly just need to remove a boat load of features to make it a work phone.


OTOH, I updated a test MBP to Catalina yesterday and after the update completed, I looked at the desktop and thought: 'well hello iOS 13 on MBP.' I really wish the consumer fluff wouldn't keep leaking on my work equipment.


I believe the contacts list you’re referring to is generated by AirDrop based on nearby contacts. You can’t reorder it or edit the list but you can turn it off using Settings for AirDrop.


I believe the contacts list you’re referring to is generated by AirDrop based on nearby contacts

The 12 year old girl across the street who helps me walk our dogs on a regular basis (hence why she's in that bar), whose father works for Google, and has an Android phone is most certainly not showing up due to AirDrop when I'm in my living room.

And I'm with parent comment: I DO NOT WANT 12 year old girls to be one accidental button push away from inappropriate content. Hell, I don't want to explain to my bluegrass pickin' buddies why I sent them an Ikea link, either.


Only one of the settings is limited to contacts; AirDrop can also be set to find “everyone”, which probably uses WiFi Connect or some other trickery to locate nearby devices even on other platforms.


I have it set to only contacts. I'm looking at the share sheet right now: there is no one in that list that is within WiFi range. My wife: at work in Redmond. Dog walk girl: at school, in Redmond. My mother: 3000 miles away in Florida. My bluegrass pickin' buddies..., oh, you get the point. Me: at work in Bellevue, WA.

But you prompted me to remember: "Aha! AirDrop uses a different icon than what I see right now!" Observe the following:

https://media.idownloadblog.com/wp-content/uploads/2019/06/i...

Note the contact on the left, and icon: it's the AirDrop icon. But the rest have a Messages icon. That, I'm assuming, comes from contacts I've recently messaged and has nothing to do with AirDrop. I could have my phone on airplane mode, and those still show up.


Bug 1 is driving me nuts but found it hard to confirm that it was affecting others or was even new. Strangely, I feel slightly better now!


I can only surmise (hope) that their resources are diverted towards Something Big. Could be ARM macOS and/or AR glasses. Not that this excuses the bugginess of their current core products.

Bringing up comparisons to Steve Jobs must be the tech equivalent of Godwin's Law, but if there was one thing about him, it's that he actually was a user of his own products, like us.

It feels like there's no one at Apple (or other companies) like that anymore. They can only try to guess at what it must be like to be a user, so they can't nitpick all the little things that annoy us.


>Bringing up comparisons to Steve Jobs must be the tech equivalent of Godwin's Law, but if there was one thing about him, it's that he actually was a user of his own products, like us. It feels like there's no one at Apple (or other companies) like that anymore. They can only try to guess at what it must be like to be a user, so they can't nitpick all the little things that annoy us.

Exactly this. As he famously said on stage he was the low paid beta tester for Apple. He was also sensitive to certain users opinion. I could only wish he was replying email on this latest MacBook Pro and decide to throw the damn thing out of the Window. Calling up Engineers at midnight and demand this to be fix or redesigned ASAP.

Without Steve we have been stuck with this butterfly keyboard for 4-5 years now, because Tim Cook decided it is a small problem and they need to amortise the cost of R&D.


> I could only wish he was replying email on this latest MacBook Pro and decide to throw the damn thing out of the Window. Calling up Engineers at midnight and demand this to be fix or redesigned ASAP.

I think part of Apple's issue is that Cook isn't that the guy at the top isn't a product guy -- it's the guy at the top could do (and from some rumors, possibly does?) his job with an iPad. I feel like, under Cook's tenure as CEO, the Mac has lagged, while the iPad significantly improved. Part of that is that the Mac was a mature platform when he took over, but a big part of that is that Cook can provide some of that Jobs-ian top-down product feedback that designers must listen to.


With their culture, something big will be worked on by a relatively small team in total secrecy. The team, in name of secrecy, will repeat the same mistakes that some other teams are fixing elsewhere.


Secrecy inside a company may help a team to focus on only one thing but it also prevents people from understanding the "big picture" and unless there is a special process for "sharing lessons learned", people repeats the same mistakes over and over. It is a little sad.


Norbert Wiener pointed this out 60 years ago, re: US military secrecy during WWII.


Or because they are in endless loop of rewriting without organization or planning.

Which is conclusion some pointed out based on Darwin source that we can view...


They seem to have at least a fair bit of effort devoted to reversing earlier maligned decisions, given the new Mac Pro, thicker iPhones with larger batteries, and the rumors about ditching butterfly switches on the laptops.


> It feels like there's no one at Apple (or other companies) like that anymore.

There certainly are people like that, it is just that unlike Jobs they have no voice on the matter.

Same with other companies.


Yes. I get that "passionate person in charge" vibe only from Elon Musk and some game developers.


As a VoiceOver user, I can provide a lesser known perspective. I've gotten used to waiting several months until I actually install a new major release. With the exception of iOS 12, basically all releases since iOS 5 were quite buggy when it comes to apples screen reader VoiceOver. Luckily, applevis.com these days publishes a list of known problems with accessibility on iOS a few days before every major release. So those of us that depend on lesser mainstream features feel the bad release quality already since quite a long time. Still, with all the hickups that Apple has during new releases, their accessibility stack is still lightyears before Android.


> their accessibility stack is still lightyears before Android.

Don't you mean "ahead of"?


Yes, "ahead of" probably sounds better. I am not a native speaker.


That’s what that means, “before” being the opposite of “behind”. It’s just not as common a construction in most English locales as it used to be. It does still get more restricted usage in this sense: when considering the future, “this is what lies before us” wouldn’t sound out of place.


Out of this context, I would assume that "before" is being used as a location instead of a temporal reference. I.e. "this" referring to some kind of object; "the food was laid before us".

As a temporal reference, it's definitely valid, but it bears a somewhat highfalutin connotation. It sounds like someone who is trying to wax poetic.

Not that I would fault a non-native speaker for using it; it's a very nuanced and probably subjective interpretation.


After doing some iOS/Mac development, I'd say some bugginiess is caused by changing APIs and behaviors inflicted by Apple, expected to be absorbed/dealt with by developers. They mercilessly do this with every release and no doubt that affects their internal projects. Also, xcode has gone the way of iTunes and ObjC was always a huge pain. It's a really hostile environment to develop in, where you're having to play catch up all the time.


Wow. My experience is opposite. Been in iOS development for over 10 years already, little less for Android. App made for iOS still works with very minor adjustments, while on Android it’s a mess. We was forced to change build system several times, breaking changes and just silly API renames, service depreciations, generations of push services, forcing firebase and AndroidX, change of permission model, of concurrency model.

Honestly, I can’t even name single such change for iOS. At worse it is adding interface implementation.

About objective c and Xcode. Just lol. I love being able to debug by pressing single button and putting breakpoint. Android studio, being abominably ugly and slow, and killing battery like in 1 hour, still struggles to do that for native code.

Also, what is wrong with Objective C?


I support a MacOS app that connects to hardware devices via Bluetooth low energy and/or USB back to 10.7. First off, Apple makes it damn near impossible to test old versions, but we have every OS in a parallels VM and have copies. Every single release introduces breaking changes. We also bundle a version of our app on the hardware device and this is a big deal for us when an old version stops running on a new machine/OS. The way they’ve changed ATS over the years has broken across major versions.

They’ve changed Bluetooth chipsets a number of times over the years and each one has its own behaviors which makes writing one single BLE communication library that works for all versions very difficult. For instance, in the latest chipset, if you try to increase throughput by using a mixture of ble characteristic writes with and without response, you can very easily end up in a deadlock situation. It appears the hardware buffer just drops ble packets including those with response if full (which appears to hold 5 packets in the latest 2019 MacBook Pro). Dropping without response packets is fine since they’re expected to be unreliable (and you can build a reliable protocol on top) but they drop the write with response packet which the firmware blocks forever on (you can see this pretty clearly when using a ble packet logger). There’s no timeout and all subsequent packets are queued and never sent. Reliable writes should never be dropped!

Every new MacOS/iOS release is a worrying event. Testing the betas which are super unstable increases the tension because you never know if they’ll fix certain breaking changes. Up until the latest beta, our app did not work on iOS or MacOS until they rolled back some ATS hardening because they didn’t like the certificate pinning style we did of manually evaluating trust (which worked countless versions back).


> I can’t even name single such change for iOS.

I can give you one. A few years back an important interface was arbitrarily renamed in the CoreBluetooth stack. I would look it up, but I’m on mobile and laying in bed. Ask tomorrow and I’ll find it.

anyway, I was overseeing a half-dozen BT apps for a hardware company at the time. Was a real pain to go through all those projects and #ifdef the interface name for the iOS version. Very odd change since I’ve never seen Apple do anything like that before either.


Lol this one was painful. And they also moved where the peripheral identifier is located in the object hierarchy to a superclass CBPeer which was wrapped in available MacOS 13+. So all my existing code that referenced the identifier on the CBPeripheral where it was prior to MacOS 13 needed warning suppression since identifier has been available through the object hierarchy on peripheral since forever


> Honestly, I can’t even name single such change for iOS. At worse it is adding interface implementation.

Airplay. Airplay has had several significant behavioural changes over the past five years, some of which still aren't even documented.

Airplay 2 wasn't so much a functionality release so much as throwing out a lot of technical debt.


> Honestly, I can’t even name single such change for iOS.

It's not horrible, but UINavigationController is quite infamous for changing internally with each release and behaving strangely with apps until you utter the right incantation to make it work right.


Unfortunately, just because the developer experience on Android can be even worse, that doesn't mean the developer experience on iOS isn't bad.


Yes. Thing is this are de-facto only two platforms alive. Yes. Mobile (and desktop) developers life suck. But someone has to write all that software.

And, IMO, iOS/macOS/Cocoa/Xcode is best out there. And most importantly - most stable. Nice boutique experience, nice API, good documentation, everything is integrated and working.

Other platforms are even worse. Way worse. I am also doing Switch, KaiOS, Xbox, PS3/4, did Symbian and like dozen more obscure ones.


Pretty much this ^

All these rants about XCode/iOS/UIKit/ObjC somehow being a terrible environment to develop for are presuming there is something significantly better out there. There isn't, it seems. You will find developers bitching about literally any development platform out there (except maybe Haskell when you are on HN ;-)

My personal experience is limited to C++/ObjC/Java/Python on Linux/macOS/iOS, and I can only agree that ObjC on Apple platforms is by far the easiest and most productive environment for me. I've only dabbled in Swift a tiny bit so far, but my feeling is that it's also a lot less hostile than C++. In terms of toolkits, Cocoa/UIKit is at least as good as Qt, and much better then e.g. GTK or the abominations you have to deal with if you develop Java applications. Don't know about Windows platforms but considering the endless list of technologies and frameworks that are supposed to supersede whatever came before it, it's likely not much better over there.


> And most importantly - most stable

I have to restart XCode at least once an hour to get all my breakpoints back and several times a day if it crashes for no apparent reason and boots up with the project missing, empty or missing files. Fortunately I don't do a lot of app development any more but some low level C libs don't compile themselves (no: not possible to do this in any other language).

Stable is not what I use to describe XCode. Bloated with "do it the apple way" yes but not stable.


Well, they said "most stable".


Development on Windows desktop maybe dull, but pretty straight forward/stable/well documented in my opinion


It is. With microsoft it's another problem: too much technologies. All are OK-is, but ultimately deprecated. MFC, WinForms, WPF, Silverlight, you name it. But, to be clear, I think Visual Studio has close 2nd place in desktop development experience after Xcode. Also, IMO, VS is way better IDE that Xcode for generic C++ projects.


Macos used to not have a yearly schedule. New versions took the time they needed. I think it's actually a better model, it allows engineers the time to test and make sure things work. Having arbitrary deadlines just increases the amount of crunch time which usually increases the amount of bugs.

Other than that, I wish that Apple did another Snow Leopard and focused for one year purely on fixing bugs in macos x instead of introducing new features.


Although I like looking forward to the next macOS name unveiling and seeing new themed wallpapers, I think operating systems should get a regular stream of small updates for individual features and builtin apps, instead of monolithic yearly releases branded as distinct products.

As for API sets, SDKs and third-party app compatibility, they could still be tied to yearly milestones, e.g. "macOS 2020 January", so there would be no breaking changes for apps which advertise compatibility with that, at least until 2021.

Isn't that kinda what Windows 10 does now?


Rolling updates is the reason I loved using Arch Linux instead of the more common Ubuntu.

Though if quality control is bad, rolling updates means many broken updates spread over the year instead of an optional huge broken update every October. Right now I'm on Mojave, works well enough, and I can wait until next summer to update to Catalina, when hopefully the major bugs have been ironed out.


Exactly, a long time between releases pushes teams to get their feature into this release even if just 90% ready. If the Mail.app team could ship updates not just annually, I’m sure they’d make faster progress and ship more stable releases.


You can have releases based on a timed schedule, or you can have them based on a set number of features. You either release every year, making sure it's solid regardless of what new features are in place. Or you based it on when the requested features are ready and solid. If you try to do both, you're in for a bad release.


Mountain Lion, El Capitan, and High Sierra were all essentially 'Snow Leopards'

Snow Leopard also introduced major new features, like Quicktime X and the App Store. It wasn't quite what people seem to think it is now, 10 years later.


To expand on your point, Snow Leopard came out 2 years after Leopard did.


Snow Leopard is still my favourite MacOS, anything past that I've never been super keen on.


This article explains why something is buggy. Maybe why Apple's software is buggy.

It does not explain why the latest stuff is so buggy.

Is Catalina that much more complex than, say, Mavericks? Are managers playing deadline chicken more?

I don't see evidence for this.


The author used to work at Apple, but no longer does, so they probably can’t comment accurately on anything super recent. I agree with you, it doesn’t really deliver on the title, but I still found it an interesting read. But yeah, a more accurate title would be something like “common causes of quality issues in Apple software.”


I agree, the question is more: if that’s the culture historically, and accurately how did it ever work?

This release something is different, which either vastly exacerbates the issues listed, or causes other problems.

...I am interested in what the root cause of it is, but this is just a list of symptoms, and perhaps the output of the issues listed by the OP without whatever the magical Q/A process that historically somehow got things across the line in the end.


Every .0 release for iOS and OSX has been buggy. Every single one.

And then a few point releases later and it's all forgotten. And then the next .0 release arrives and the blog posts reappear.


Every .0 release for iOS and OSX has been buggy. Every single one.

I've run and tested every release going back to 2001 and it's been a while since a macOS release has been this buggy and caused serious data loss in some cases.

So even for .0 release, this has been pretty bad.


May I be Goldilocks? I’ve used basically every iOS beta. Beta 1 is always AWFUL. Then it gets better and better. iOS 13 is probably the worst, but only incrementally so. It’s hardly worth having a fuss.


It's not a beta, it's what they encourage their users to upgrade to


I know. I’m talking about iOS 13 beta 1.

If you think this is what a bad OS looks like, you should try that.


iOS 12 beta 1 was a lot better, FWIW.


I must be some kind of unicorn then. I used iOS 13 betas since beta 1 and never encountered any problems. In contrast, I recall having all sorts of problems with iOS 9, 10, and either 11 or 12 (but not both). In one of these other betas, GPS was effectively completely broken on all AT&T iPhone X for the two week beta.


There was the data-loss bug that plagued the Snow Leopard release.


And Snow Leopard was supposed to be a feature-light release to improve quality!

It eventually was very solid and is well-regraded today. But yeah, it’s a great example of the risk of the OSX.0 release.

Personally I try to wait until version ~4 of anything Apple. I’ve been very happy following this strategy.


Have you forgotten about the release that melted hardware?

Melted.


My very first Mac was the PowerBook G4, and I waited over a month to buy it even though there was a game I wanted to play because they hadn’t hit the 0.2 release of the OS.

It amazes and frustrates me to see people get all shocked about when I already knew this about Apple even before I was a customer. Fifteen years ago.

Nothing. Has. Changed.

Nothing.

At some point you need to blame yourself for being taken in again. It’s “fool me twice”, not “fool me eight times”


This was also my experience. I am always perplexed by these pearl-clutching post-Jobs threads, which also pop up on the hardware side as if no Mac hardware had thermal issues or other hardware faults while Jobs was at the helm.


iOS is already at 13.1.3


Tangentially related: GitHub has already dropped support for Mojave. The whole site is now broken in Safari 12 because it’s no longer the “current” version of the browser. Well, it is if you run Mojave, as you need to upgrade the entire system to get Safari 13.

I can understand not developing new features for Safari 12, but speaking of regressions, why would you go break things that used to work a week ago?


Safari 13 is supported on Mojave. You can install it in System Preferences->Software Updates (there's a link that says "more updates" or "other updates" or something along those lines).


Thanks you, I did not know this. I looked into it a few days ago and Apple’s support page[1] seemed to tell me pretty clearly that I had to upgrade. I know see the small print that says:

> For some earlier versions of macOS, Safari might also be available separately from the Updates tab of the App Store.

1: https://support.apple.com/en-us/HT204416


I suppose no-one is reading this thread anymore, but for the record I was now able to check, and I do not have an option to download Safari, neither in the App Store nor after clicking the secret link in System Preferences.


I have Safari 13 on High Sierra


Indeed (and unfortunately given the extension changes), but leaving an out of date browser is non-negotiable.


GitHub has already dropped support for Mojave. The whole site is now broken in Safari 12 because it’s no longer the “current” version of the browser.

Is that a message Github have put out, or have they accidently rolled out a new feature that has a bug in Safari 12? That seems more likely to me. Github's browser support is usually very good, and it'd be incredibly disappointing if they've broken something intentionally.


I did not look into the details. There is a warning at the top of the page, and stuff that has worked before, like previewing markdown in comments, is broken.

Best guess: they removed a polyfill somewhere.


> Well, it is if you run Mojave, as you need to upgrade the entire system to get Safari 13.

You don't; Safari 13 runs on macOS Mojave (and macOS High Sierra, if you're still using that).


I'm using High Sierra 10.13.6 (17G5019)and I don't have an update for Safari 13


> I'm using High Sierra 10.13.6 (17G5019)and I don't have an update for Safari 13

I do (I won't upgrade past High Sierra on an older iMac as it breaks text rendering on it's non-retina screen so badly).


i had this problem as well, the first time i tried to upgrade to mojave. but at some point, apple made it possible to re-enable sub-pixel anti-aliasing.

https://www.howtogeek.com/358596/how-to-fix-blurry-fonts-on-...

at this point, i don't think you even have to do that terminal thing anymore; you can just enable it in settings.


It doesn't replicate what we used to have, it's a half fix at best.

You also have to disable and re-enable it during the Catalina install or it really messes things up.


Check the Apple App Store updates section, I believe that houses the High Sierra update, whereas Mojave uses the system update.


Thanks a bunch!


I agree that's a rather aggressive schedule for support, but I'm running Mojave 10.14.6 (18G103) and Safari Version 13.0.2 (14608.2.40.1.2) right now.


This is complete disinformation yet is one of the top comments?


Sorry, what is complete disinformation? I suppose I was wrong to say it isn’t possible to update to Safari 13 without updating the OS as people say they have done it. But I genuinely don’t have the option, after checking everywhere I’ve been instructed to.


I did not work for Apple but this article describes exactly what I was thinking.

Apple has very waterfall cycle. Everything is planned year after year to be released for the September event. When the deadline approach teams realized that are behind and they need to overwork. And when people get tired and under pressure, they usually introduce even more bugs.

The article also nails the solution: a more Agile workflow. But it ain't gonna happen: "Apple could address this scheduling problem by not packing so many features into each release, but that’s just not the company culture."


They could simply decouple the apps from the OS, like Android. Safari and Mail.app do not need to be tied to OS releases.

Android OS releases do not get nearly as much fanfare because a lot of core functionality is decoupled from the OS: app store(s), mail clients, browsers, todo lists, even the text messaging apps and some security frameworks.

Which of course is exactly why Apple keeps everything in one big release. They want lots of press talking about the brand new features.


I wonder if there's some anti-trust consideration to it. If Apple were able to update all their apps separately from the OS that would mean they had accessible APIs to do it. People would complain a lot more loudly about Apple blocking replacement functionality and Apple wouldn't want to allow a replacement for, eg, the messages app.

If you integrate the apps directly into the OS then you can just say that no APIs exist, those are just features of the operating system itself.


I think you're right about the decoupling. But I don't think they do it this way for press reasons to be honest. Apple is all about integration, And it makes sense that this applies to Apps/OS as it does to OS/Hardware. Also, most buzz is generated by OS level changes (Dark mode etc.).


Safari can actually be updated separate from the OS.


Apple operating systems are on a semantic versioning system with regards to API. The idea is that API only break on the major version update which is released each year (ignoring that a the OS X version has a "10" in front of it).

Non-breaking API additions and userspace features which do not impact API can be rolled out throughout the year though. There are also changes to private API throughout the year since the Apple apps using them are distributed with that operating system release.

Generally, API grow up as private API that get adopted by other Apple apps, then may get promoted to public once they are stable and maintainable.

IMHO, the big issue with iOS 13 and Catalina this year was that there were several huge developer features and internal system refactoring which were maturing during beta. This slows down everyone who is dependent upon those features. The solution there is to require public API to have a higher level of maturity before that beta 1 release.

I disagree that Apple is waterfall, because their release dates are fixed, and they will change what will be delivered to make that date. I don't know if a twice annual major feature releases (and corresponding WWDC summer and WWDC winter) fixes anything, or if it just makes the life of third party developers harder.


Microsoft tried doing that with the bi-yearly Windows 10 feature updates, and now they are moving to a yearly release cycle because there were too many bugs getting into releases even with an army of "insiders" (although it should be an army of QA people that are in Redmond). They don't release major updates to system applications between releases either (The rewrite of Edge and WSL2 are planned for release 20H1).

The real problem is that Apple needs to loosen the secrecy between engineering teams, as there's no good way to tell if your new Safari feature breaks something in System Preferences because the System Preferences developers are in another building and aren't under the right NDA to learn about your new Safari feature.


I think we should not conflate SDL and long term product and feature planning. You can have both agile SDL and long term planning.


"Agile" is only about software and it doesn't always work even for tiny projects. Apple's products are so much more than this. Distribution, marketing, manufacturing, support etc.

You can't delay a new iPhone release because it's imperfect. They make phones to make money, and they are very good at it.


Cf with Microsoft I think they are ok. Past mart just cannot upgrade. Now is so much I have to take a rest and avoid the upgrade.


I'm still on High Sierra on my 2015 Macbook Pro. I haven't upgraded my OS nor my machine and pretty happy with it (I only accept updates within my OS version itself) . On my home machine, I do use Mojave, which by itself is quite buggy and I'm waiting for some more fixes before I upgrade my Macbook Pro to Mojave as well.

I never install Apple's newer OS'es because I have a lot of development related stuff setup on my machines and wouldn't want them to break post an update. But so far, this lag in my update schedule has served me really well for years now and looks like this won't be changing anytime soon for me, either.


The "Regressions Get Fixed. Old Bugs Get Ignored." thought does not help your strategy.

After 6 months into the new version of iOS and MacOS, there is a lot less attention to fix problem in the previous version of the OS. It is even worse when it comes to firmware problems on older hardware.

If you have a 2+ year old Apple device you need to hope that all the security bugs on your hardware are also in the latest software or hardware, otherwise it may just never be fixed.


Google is just as bad at this and have many of the same issues of too many things being built at the same time. Googlers often lament that fixing bugs is never a priority to new features which is pretty much Apple as well. Perhaps too much complex technology is hard to do.

I work for a non-tech similarly big company that uses a lot of software (that we make ourselves as well as integrating vendors) and our processes and quality are even worse than Apple and Google.

But as an iOS dev I would happy if at least Xcode was built and tested properly...


Same here. The "You need a newer Xcode to compile this" pops up more and more often though (e.g. with vulkan stuff), so I guess I'll have to upgrade soon... probably to Mojave.


My wife updated her macbook to Catalina the other day and suddenly has low disk space errors popping up all the time. She stores no big files and does nothing on the laptop but school work. Turns out it created a new encrypted disk partition containing all of her personal data, and somehow it kept adding disk snapshots multiple times per day. After some research, it seems that this is a known problem! I had to disable Time Machine and do some kind of tmutil command, then delete the recent snapshots. All that and she still has very little disk space. These are the kind of shenanigans I’d expect from Microsoft, not Apple, where everything is supposed to “just work”. I’m disappointed that Apple has released such a buggy OS update. Not even the Linux distros I use have been this buggy.


I had that too, and 'disk write' errors (which definitely are not). Ended up repartitioning and reformatting, and they went away (though the install and upgrade process even beyond all that still seemed hugely buggy - at one time the fresh install said install couldn't complete. And then it did. With no intervention).


I am also finding text selection in iOS 13 hit/miss. I either cannot activate the text selection or I cannot select without the cursor jumping all over the place. Also, I miss the magnifying glass for text selection. Did Apple remove that?


Hold down the space key as if you would be force touching it. It will make your finger become the "cursor". Slide it around as you see fit.


I was referring to text that's not editable. I can no longer select text on the screen without peeking under my finger to see if I selected everything


Yup, the magnifyig glass is gone. A horrible design choice to get rid of it IMO


Brilliant, thanks for this!


Yeah, the magnifying glass is gone.

The cursor will stay in the same place if you move your finger down some so it's not obscuring the selection; on a multi-line input, the first line's selection area extends down a half an inch or so, with all the lower lines displaced by a similar amount.

It's not too bad when you get used to it though I still miss the glass when I'm using my phone or my smaller iPad.


It either mistakingly selects everything or refuses to select a word and suggests a different word.

It seems to work better in Safari than Whatsapp.

Bloody annoying.


The way I've heard one company deal with noticing non-crashing bugs is to treat warning logs as 'crashes' with backtrace snapshots and upload them as specially tagged non-fatal crashes. Might help apple see if clients are having specific icloud issues.


Apple has been doing exactly this for many years. [0] It appears to have become public API 3 years ago, but that says nothing about when it was used internally.

The difficulty is in identifying, in advance, what’s an unusual but recoverable situation, and what’s a bad bug.

[0] https://developer.apple.com/documentation/os/os_log_fault


This seems like a really good idea to me. Is it possible to do in a way that preserves privacy and doesn’t basically become a hidden “telemetry” system?


Well it would have the same permissions as crash reports in general? It uploads the same amount of info as normal crashes right?

Most apps send analytics up already if you are not already aware, most don't ask for your permission to do so.


Make it opt-in and require a privacy review every time something like this goes in?


If you make it opt-in, the company will not get a lot of reports. If you want to get enough data, they should be opt-out as the others.


Opt-in analytics fail to account for people who turn them off because they don't like opt-in analytics. So you might be getting more data, but it might not necessarily be any more representative.


All the points are sensible. But hardly any of them is new so it doesn't help explain why iOS 13 is so buggy.


I could understand iOS 13 being buggy as they are trying cramp more features in every year. But the thing is, there is nothing on Catalina that felt new, unless you take removal of iTunes and new PodCast / Apple Music App as new.

99% of the macOS remain the same. The removal of 32bit Apps are long time coming. I just dont understand why it had so many problems.


Ya'll just have hindsight issues.

Every MacOS upgrade has been a problem for a non-trivial number of users. It's much more likely that YOU didn't have a problem because you were new the platform and didn't have much stuff to migrate. If you just got a Mac in 2018 moving to Catalina is no problem at all. It will probably go flawlessly and the only issue you might is with Adobe software… but if you use Adobe software on any platform that's nothing new either.

Moving from PowerPC to X86 had a bunch of problems. Remember when they dropped Rosetta completely? Or when they dropped support for the first Intel Macs because they were 32-bit only that was a problem. Remember when they changed QuickTime? Or dropped AFP? How about dropping Firewire? Or how about the changes to Filevualt? Or when they integrated your Apple ID into the user login and then removed it? Or how about all those times you upgraded and iTunes stopped working and you had to reinstall it manually. Oh man, how about that total abandonment of OS X Server.

Apple has NEVER been good about upgrades. Ever. You buy an Apple device and it's good for that point in time. In 2-3 years when the warranty is up and the platform evolves it's anyone's guess as to what will happen.


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

In case you were wondering why 13.1 got rolled out so fast. Snark aside, this annoys me because the message is, "haha, didn't find it fast enough, and now we don't have to fix it." And you jackasses think this clown shoes attitude should be enshrined on a t-shirt?


I still remember at WWDC a few years back, I went with some older radars to the labs, only to get turned down with a „You already have a workaround - why do you care?“

...that made me mostly stop filing radars for older issues.


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

That's the last thing I expected to know about such a big company.


When I interviewed at Apple last year, they emphasized their use of various robotic contraptions for end-to-end testing over unit tests. One engineer remarked that 20% test coverage was considered on the high end for his team.


They should have more automated tests. But considering this article does not surprise me at all. That also mean probably almost no exploration/fuzzy tests. The kernel may be one of the few exceptions.

Considering the secrecy infra-team I would expect almost no integration tests.

That also means that Apple products are pretty bad when it come to security contrary to what Apple's marketing wants you to believe.


Considering that they own the entire stack, I honestly think that one of the unofficial integration tests for lower-level components is when the apps sitting on fail to work.


Sounds like the past couple years of hardware "whoopsies" have come to the software side.

Over-optimization of existing processes, what Mr Cook made his name doing, seem to have gone a bridge too far.

Time to go back to making cool new products and not squeezing every last ounce of blood out of existing ones. And no, starting a TV production division doesn't count.


I refuse to install iOS 13.0 because it's so buggy, and refuse to install Catalina because all it does is take away features rather than adding value. They can't seem to stop to fix what's already broken, so they add a few things, break a few more and remove some I use and say "the emperor's new clothes are awesome."


13.1 is out now, and it's pretty slick.


My number one iOS bug right now: "Hey Siri call Scott's conference line" That exact text shows up on the screen...and Siri says "Calling Don's conference line". Both are in my contacts list. I have not had this problem prior to this week so it's probably a backend issue.


This narrative repeats with every release.

But is each release actually worse than the last?

My guess is, not really, though the perception persists for a couple main reasons:

(1) For a certain subset of people, the last release really was worse than ever before. New releases have new bugs, and those bugs will affect a certain subset of people that isn't necessarily the same as the bug from the last release. Those people complain (justifiably, I think) though of course people don't create a lot of posts to describe the problems they aren't having.

(2) We all naturally forget about the annoyances of years past while focusing on the current annoyances. (Generally, that is.)


I made a mistake of installing Catalina. Since the day the system is acting up weird. Apart from rejecting 32-bits apps, Catalina is also having memory kind of issues. After working for a few hours things start getting weird, chrome's extensions start crashing, if I try to open a new tab it does not let me load the page. I also start getting messages "X Application can not be opened" where X is ANY application I wish to open. The issue got a bit better after a recent 1 GB update but the main problem persists. I am seriously considering to downgrade to Mojave.


I've having a feeling that iOS 13 & Catalina is felt buggy b.c. it's not the operating system itself that's buggy but that the updater is buggy. Many things have changed in this release, and the installer/updater had to handle too many different scenarios.

For example, when I upgraded from Mojave to Catalina, an 'Moved Files' directory appeared that contained some files (that was once) in /usr/local/. I don't remember such directory appearing after an macOS update, and I've had many friends (that aren't really technical) appear that to them. There were lots of new applications (like Music.app and Podcasts.app), and data migration between internal databases weren't perfect.

I've installed Catalina two times, first by upgrading from Mojave and second a clean re-install. When I upgraded Mojave, I found too many bugs that I was worrying about data-loss, which lead to a full backup (I do backups regularly) and a clean re-install. (Admittedly, this was my first clean reinstall for a major macOS update) I clean-installed Catalina and manually restored all of my files from the backup, and except for some minor bugs I'm good.

It's a pity that updates aren't seamless, but if there's anyone having trouble with various Catalina bugs, (while Apple updates it's imperfect macOS updater) I would recommend a full clean re-install for macOS Catalina.


> For example, when I upgraded from Mojave to Catalina, an 'Moved Files' directory appeared that contained some files (that was once) in /usr/local/

This is a consequence of the read-only root filesystem in Catalina: https://support.apple.com/en-us/HT210650

Even with SIP disabled you can't do shit to that volume until you remount rw (at least, this was reported to work in betas, haven't seen anyone test the shipped OS).


> This is a consequence of the read-only root filesystem in Catalina: https://support.apple.com/en-us/HT210650

Actually, that's not the case, b.c. /usr/local/ isn't included in the read-only file system.


This isn't true, /usr/local is one of the writable firmlinked directories. How else would homebrew work?


Huh, I definitely have some moved files, and they're definitely from homebrew. But you're right, they're not from /usr/local. Perhaps the OP made the same mistaken assumptions of origin as I did?


I second the full clean reinstall. I encountered some very strange and show stopping bugs (Dropbox refused to work even with a reinstall for example) which disappeared after a backup and clean install.


My personal feelings are that #2 (crash reporting) and #6 (complexity) are the biggest issues facing Apple software quality. Apple is a metrics-driven company, and when managers see bad metrics going down (like crashes), they think they are doing a great job.

But, just like with police crime reporting, there can be an effect where metrics are massaged or are reported differently. With Apple, I think the issue is that crashes are avoided by design or by nature of growing complexity, which means that metrics will continually be going down, even if user-facing issues go up. An example being that a failed sync does not crash.

Apple has attempted to get ahead of this, recently, with the new Feedback Assistant allowing beta users to grab and report sysdiagnoses, but there's still a lot of work to do. I really appreciate the point the article makes:

> Besides the fact that bugs are expensive, both in support costs and engineer time, they’re starting to become a public relations concern.

Apple would be wise to heed this, instead of continuing to blindly trust metrics.


Apple stores are highly tuned to and responsive to customer experience in-store. The same is true with their AppleCare support online and via phone. The metric they focus on is Net Promoter Score. Maybe this same model could be applied to the OS, Apps and services. Apple user experience would be improved methinks.


As someone described, Jobs focused heavily on the sale experience - anything after that, unless someone (or his own experience with his product) convinced him, was irrelevant.

The moment your money parted with you, your importance ended. This was visible, among other things, in gutting departments that kept Apple alive when literally everyone else had better hw & sw - people who did long-term accounts with for example government customers, specific market areas, etc.


Like the guy said in the blog post, though, they don't have company wide hiring standards. Their service design is superb (and we should probably note, the service design is very close to the purchase point), but doesn't translate necessarily to their UX.


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

This tells you everything you need to know about the poor state of Apple's software. A large, untested code base that's been in development for years and years is going to reach a maximum point of complexity where the cost of adding new features exceeds the business value. The ROI turns upside down. That's when your technical debt turns into a bankruptcy and your software is kaput. It's quite conceivable that Mac OS, which is built on top of NeXTStep OS which dates back to the mid-80's, is reaching this state.


So a few days ago we had an article on the front page claiming Windows 10 was buggy because of automated testing, now we have an article claiming iOS is buggy because they don't use enough automated testing...


I have a theory that this year tons of stuff was rewritten in Swift, because with the lockdown of the ABI it's now possible to write libraries in Swift. This might be why this year is a bumper crop of bugs.


Very little has been rewritten in Swift.


Really? I read otherwise: https://blog.timac.org/2019/0926-state-of-swift-ios13/

It'd be hard to know unless you worked there. It's just a wild theory, I might be wrong :)


That's a very small fraction of the binaries that ship in the OS.


It makes very little sense for a resource constrained company to rewrite stuff that just works in Swift especially when it has a lot of low-level code. What they do sometimes is adding a Swift-friendly API layer around the Objective-C(++) code. Newer libraries that are not too low-level oriented might get written in Swift nowadays.


”It makes very little sense for a resource constrained company to rewrite stuff”

I don’t think ”for a resource constrained company” makes a difference there.

That’s good, because I have a hard time thinking of Apple as resource constrained.


Apple doesn't actually have a lot of engineers on most projects.


The resources are there to hire engineers. If they're not being used to hire engineers that's a management choice, not a resource constraint.


I wonder if that is true in reality. I know at one company I interviewed maybe 80 people. Of those I think 3 or 4 were hired. The point being it was hard to find qualified people. You could argue they should offer more money and they'd get more applicants. Say they offered 4x what they are offering now. They'd likely just end up with a bidding war with the other rich tech companies and so in the end nothing would happen (if all the companies raise their salaries then it seems arguable that there'd be little affect on applicants). Other solutions might be longer term like investing in education or hiring less experienced people and training. Others might be opening more remote offices hoping to find more talent in other locations.

All I'm really saying is as rich as Apple is I don't think hiring more engineers is as easy as just deciding to hire more.


It's certainly a management choice. I don't think Apple would be better served by just going out and hiring more engineers.


I’ve been super annoyed at some bugs in iOS Safari. In particular, double tap to zoom on web pages is completely broken. It’s a really old feature that just suddenly stopped working in the new iOS release.


That reminds me, during iOS 8, the Safari back button was broken for VoiceOver users. For half a year. They fixed it a few months before the next release :-(


Yep just noticed this today. Why remove this feature ? Did people complain about this during beta and Apple ignore it. Although zooming in by pinching and then double tapping reverts to original size which is nowhere near as useful. Fingers crossed for a point release that brings this back.


It's actually still around, however on some pages Safari will go into some sort of weird state where scrolling is slightly broken (you can't overscroll and have the page bounce back is the indicator that you're in the broken state). When you're in that state, double tapping to zoom doesn't work either. I find that I mostly encounter this bug on Reddit.


Thing is, it’s not removed. It’s just broken. Very very rarely the zoom will kind of work, just not where and when I expect it to.


I expect the number of the new security vulnerabilities to be a lot more than the bugs visible to the users. Considering the MacOS track of record in the last year ( https://support.apple.com/en-us/HT201222 ), I am pretty worried.

When I see a weird behavior I always wonder if it is a Apple's bug or a bug introduced by something trying to exploit a vulnerability.


It's popular tendencies today: release aplha/beta stage product and get free QA from users. Apple isn't an icon of hardware/software quality anymore.


The Apple USB keyboard on my old Mojave iMac works fine but doesn't work when I plug it into the iMac running Catalina.

I submitted the bug yesterday.


The latest Catalina beta released today (build 19B86a) fixed this bug—the keyboard now works.


One of the things that I heard about Windows 10 was that Microsoft switched from testing on real hardware to virtualized testing and relying on end-user crash reports. If Apple did something similar, that would explain why more nonfatal bugs make it through to final release.


Are they that buggy? They seem very stable to me and I’ve been running them since the betas.


I'm on the second-latest MacBook Pro. I completely erased my disk and installed a fresh copy of Catalina when it was released. It's been patched with the post-release update.

Almost all settings are at their recommended defaults, there is no third-party stuff that modifies system behavior, and I mostly only use Apple's own apps and services for stuff like music, books, cloud, mail etc.

And boy yes there are bugs. Not outright crashing/rebooting, but bugs there are.

I've been using macOS since Lion and I can't recall such a dismal release as Catalina's.


The public beta, code named Kodiak was awful. As were, 10.0 (Cheetah), 10.1 (Puma), 10.2 (Jaguar) and 10.3 (Panther). 10.4 (Tiger) was initially terrible, but did improve massively. 10.5 (Lion) was comparatively awful and quite jarring with it’s nit insignificant UI overhaul...

The point I’m making is that there is an awful lot of looking back with rose tinted glasses going on. It happens every time there is a new release. Thing is, every OS seems to suffer this, not just Apple.


So... what are the bugs?


My earlier comment about files disappearing from Music.app: [0]

Just now, I had taken some screenshots in a game. One of the screenshots insisted on sitting outside the Screenshots stack for some reason (Stacks automatically collapse similar items on the desktop.)

When you open a book in Books.app, then view a different Desktop Space, the Books window automatically jumps to that space, even without the "Show on All Desktops" option.

Activity Monitor column widths randomly grow towards infinity.

Display Accessibility options randomly stop taking effect until relogging.

Widgets randomly rearrange themselves in the Notification Center.

Music/TV/Podcasts/App Store sometimes show no content, just blank views.

On the developer side, many bugs and missing documentation for SwiftUI.

I don't have the energy to type them all out here again after writing their bug reports.

[0] https://news.ycombinator.com/item?id=21318159


Some of these bugs like the Books issue have been there for years, on multiple machines/macOS versions.

If that doesn't happen to anyone else, I wonder if it's my iCloud-stored settings for Books.app


Audio occasionally ceases to work if it has been muted. Or if a bluetooth headset had been previously paired.

Reboot resolves the issue.


Only Apple has the numbers, but reports I've heard from fellow devs don't encourage me to think I made a mistake moving away from MacOS last year.


[flagged]


Please follow the site guidelines when posting here, regardless of how wrong or annoying another comment is.

https://news.ycombinator.com/newsguidelines.html


Your bias appears to be showing as well.


This is a pretty subjective take.


Nothing in that article seemed surprising or especially odd. Most software development shops operate that way, especially the bits about management and feature culling before deadlines.

From talking to a few friends who work at Apple, I believe the article when it says they're not too big on automated testing, which is a shame.

At any rate, nothing in there seems new, as in, that it would explain why this year's releases are particularly more buggy than in any previous year. Assuming that is actually the case; I imagine every year's releases are pretty buggy, but after the .1 release comes out, everyone forgets until the next year.


It's more speculative I think. The guy worked for Apple for 18 years, so he's not totally out on a limb though.


I'm wondering what an 'objective take' on such a complex topic would be. My guess (& I'm happy to admit it's no more than that) is that subjective takes is all we've got.


Why do any SW/QA engineer routinely accept to work night and WE? Of course this is gonna be non productive and produce only buggy crap. I expect any reasonable person to understand that, and only very naive and/or junior people to not.

So just don't. What is your employer going to do? Fire you? Good, you don't want to work there anyway. And especially if you work at Apple, it is going to be easy to find a new job.

Refuse to ship crap. Refuse to work in insane conditions. If you don't it is not your employer's fault. It is yours. (I'm saying that in the context of highly qualified jobs, like engineering -- it does not apply to other situations where the employer has all the power and people are easily replaceable and sometimes have a hard time to find a job.)


None of this is unique to Apple — this is all standard practice for giant mass-market software projects. The “closed, not a regression” thing used to drive me crazy at Microsoft. It makes no sense whatsoever!


tvOS 13 seems to also be buggy. After the update I can no longer wake it via HDMI/CEC. Once I wake it some other (inconvenient) way then HDMI/CEC control works. Wake up was working on tvOS 12


I had to disable HDMI/CEC a while back because the AppleTV kept switch the TV back to it's own HDMI, stealing "focus" from the PlayStation.


strange, I haven't had that issue. I have 4 devices connected to the TV; A Mac Mini (running Ubuntu), An Apple TV, a PS4, and a Switch. If I turn any one device on it will wake up the TV if off and eventually switch to that device's input. But I haven't had any device switch the input to the TV out of order that I remember. I wonder what the issue is. My Apple TV is only used for 2 things, Kodi and Amazon Prime. I wonder if it's a particular app? I'm using the Apple TV 4k (not sure if that's the newest model or if there is another since)

Frustrating that this stuff is so finicky. It seems as simple as a USB keyboard which seem to generally work everywhere so why is it so hard to make work and keep it working.


Has anyone done back of the envelope calculations into how much it costs Apple in bandwidth to push an update?

I wonder if that is a reason there isn’t a stream of x.1 updates every few weeks as things are fixed?


this already happens, but x.1 updates are beta tested. If you’re running the beta channel, you’ll get x.1 updates shortly after launch.

These beta updates can go through a couple iterations before being released to the public, which is why it seems like there’s a long delay.


Is there evidence that crash reports are being systematically analyzed? It seems more likely those are collected and reviewed as convenient for the highest priority fix investigations.


Operating system should stop trying to do everything and just focus on giving basic functionalities in almost perfect way.

Let third party developer use those building blocks and add this magic!


I think this is where Apple's walled-garden approach is actively harming the growth and resilience of their operating system.

Unlike GNU/Linux, only Apple's in-company devs get to work on the proprietary code base, to build features based on a small number of decision-makers, and test them before release. Questionable decisions in the core don't get questioned by a wider community of devs before they get released to the public.

In Jobs' days, this approach might have worked better due to (maybe smaller code base and) higher quality and dedication of their internal dev teams.

Open-sourcing macOS maybe wishful thinking, but it's not an unreasonable idea, considering it's not their main money-maker (anymore?). In my opinion, this would vastly improve its future development, active participation by motivated community, and quality control.


It's going to take a long time before I can ever trust iCloud with my files again. Such an absolutely trash experience compared to Dropbox, Google Drive, and OneDrive.


It’s simpler than all that. They’re buggy because Apple inexplicably decided they need to ship a new OS every year rather than when the features are ready. Reap what you sow.


The bugs shows very increased complexity in the system, which causes so many exceptional scenarios that it is hard for QA to catch them all. This is the reason


They need one year of tech debt payback to get things back on track like what happened to one of their prev releases.


>practically impossible to create a comprehensive test suite.

Maybe it’s time for the community to look deeper into formal methods.


Interesting insights. It’s like a laundry list of software engineering management failures.


My wife’s Iphone lost most of its battery life since the update. Very dramatic difference


Since the iOS 13 update, I'd had this happen almost daily:

The battery level is reported as fine and everything works like normal from 100% to about 35%. At about 35% (could be 36 or 32 or whatever any given time--I can't see that the exact percentage matters), the phone crashes to powered off state. If I try to start it up with the power button, I get the "plug this in" indicator. If I start it using the hard reset method, then it'll power back up normally, and the battery will always report as 10% at this stage. It can stay like this for a few minutes up to a couple of hours, but it'll inevitably crash again if I don't plug it in. After it crashes, I can do a hard reset again and it'll come back up and the battery will often show something percentage in the 20's. Often if I try to use any app in this cycle, that'll cause a crash. If I do plug it in after a second crash, then suddenly the battery is reporting at maybe 23% again. Like, WTF?

It only started happening since iOS 13.

I would be happy if my iphone only lost most of its battery life. :)


That’s the new setting of the battery where the software fakes 100% at 90-80% of capacity based on the age and performance of the battery.

This can be turned off in the preferences.


iOS 13 was pretty buggy but the amount of improvements all across the system has been significant. I can live with it. But installing Catalina on my daily driver: no thanks. Xcode will force me to upgrade eventually I guess.


A bit ironic the author use to be on the Radar development team at Apple.


Sounds a lot like Windows development haha


iOS 13 has been pretty much flawless for me. However, I am waiting to update to Catalina until 2020 because support for 32 bit apps and OpenGL has been pulled.


Catalina does not drop support for OpenGL.


OpenGL has not been pulled, only deprecated. Same as before.


And it can't play TF2.


TLDR, technical debt.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: