Technical ramblings and random thoughts

Catalina and the death of macOS for the non-power user

Jared Watts, 9th November 2019

Yes, the title is an over-exaggeration. But it isn't too far from becoming the truth. I've spent the entire last week thinking about macOS, more specifically the recent Catalina update — and it has me conflicted.

What exactly has changed recently that has had me contemplating the macOS universe as it currently stands? Before I dive into my thoughts and experiences with Catalina I think some context about me and my history with Apple products over the years will help build my bonafides. Why do I think my commentary is worth its weight in character count? The answer I think, is that I'm not just a developer with too many years of experience, I also worked in my formative years in one of Apples' original target markets, typesetting and graphic design.

I started programming on macOS (or Mac OS as it was known) when I was ten years old. My parents (at my insistence) purchased a Power Macintosh 7500/100 along with a copy of Metrowerks CodeWarrior. I grabbed a copy of several programming books and taught myself C++. It was painful and slow, especially given my age and lack of prior experience with any other programming language, I wished I had picked C as my first language but didn't have the knowledge at the time to know any better. Regardless, I managed to begin building some small applications and in short time I was constructing complex GUI applications.

While growing up my parents owned and operated a small offset printing business. In order to help them out I would do basic typesetting and design work for them. My software of choice at the time was Macromedia Freehand but I also used PageMaker and other Adobe products depending on what clients would bring with them. Why bring this up? When I was upgrading to Catalina on my machines and I experienced issues, I started to think — if I didn't have the level of experience with Apple operating systems I currently do, or I took the different fork in the road and became a graphic designer or another profession where there was no readily available technical support apparatus backing me up, what would be my overall impression of the current state of this Apple ecosystem.

Several years after buying the Power Mac 7500 Apple released Mac OS 8. Originally it was to be System 8 the successor to System 7 — the then defunct Copland project was being rolled piecemeal back into System 7, it was an emergency stop-gap measure. But the thing was, the difference between System 7 and Mac OS 8 was significant and was a completely adequate hold over until the unknown future operating system was realised.

Mac OS 8 sported an entirely new look and feel, contextual menus, a greatly improved virtual memory subsystem, new types of window management and the addition of multithreading to file operations in the Finder (in addition to other improvements). It was a no brainer, why wouldn't you upgrade? It was all upsides and no drawbacks and upgrading was exactly what people did, it was an amazing success for Apple with 1.2 million copies sold over the first two weeks. It greatly improved my experience, it made me work more efficiently. It was a net benefit to me, and I'm sure to many millions of people who also purchased it. It made things better, it made my computer feel faster and extended the useful lifespan for the machine (helping justify the hefty price my parents paid for it back then).

This is where Catalina comes in. Upgrading to Catalina for me personally, didn't make things better. I've wasted numerous hours on it, for no net benefit to the way I work. This is the first macOS release that has made me question my decision to upgrade — nothing any prior update to a Macintosh operating system has done to the same extent as it has with Catalina.

I have two macOS machines I use on a daily basis, my work machine is a MacBook Pro and I personally own a 2018 Mac Mini. The Mac Mini has all upgrades and patches applied first, it is my test bench, the sacrificial lamb of sorts. There is no data on this machine that I don't mind losing; it can be out of operation without too much concern. How many other people are in this position though? Having a spare modern machine available to them to check and make sure an operating system released by a vendor is stable. Why has it come to this point, where I feel the need to sanity test a new operating system release for a vendor which use to be known for reliable, rock solid software.

Upgrading the Mac Mini

In the past, upgrades to macOS (aka Mac OS X) have been fairly straightforward. Depending on what my thoughts were on the cleanliness of the machine, I would either perform an in-place upgrade or wipe the machine and install afresh from a USB key. If I installed software over the time period between upgrades that could potentially have left cruft laying around, a clean install would be done (I'm a little pedantic this way, but I also like knowing I can stand-up my machine from backups etc).

The Mac Mini was basically new, purchased in February this year. It hadn't accumulated any cruft. It had Chrome, WebStorm, Postman, Tower, VMware Fusion, XCode and LittleSnitch installed (that is the exhaustive list of non-Apple software installed). It was essentially untouched. That being said, I have done macOS development in the past which included kernel extension development, I knew there was a chance that software which included kernel extensions could pose a problem. So naturally, I preemptively uninstalled those packages — both LittleSnitch and VMware was removed prior to upgrading. Already I had gone the an extra step further than most users would contemplate. I was already in the mindset of needing to be defensive in my approach to updating my system, my assumption was now that the operating system was working against me rather than with me.

I downloaded and installed the update, went through the process and waited for the machine to reboot. Waited for any firmware updates to install and perform the actual update to the operating system. I gave it an hour and kept an eye on it from my peripheral vision while doing some work. I came back to it after some time and the screen was inactive but the machine was running, I gave it an additional hour just to be on the safe side. Nope, nothing. Power cycle the machine — nothing on the display. I did this a few more times, still nothing.

Next, I booted the machine into recovery mode (typing my password and pressing enter on the blank screen just in case) and waited, I managed to get something on the display in this mode. Time for a clean install, removing any lingering doubts as to what was on the machine. Performing the clean install the display was still not working, but this time I was intermittently getting warnings about unsupported resolutions on the display even though the display supports the mode in question (the screen is connected via HDMI as that is what is present on the Mac Mini).

Time for some troubleshooting via a process of elimination. Is it the screen? Is it the Mac Mini? Both? Connecting a Thunderbolt 3 display to the Mac Mini is successful. The update was applied and the machine was successfully booting, therefore the issue must be confined to the display. I start inspecting the logs on the machine hunting for clues, nothing obvious. Connecting the original screen to my laptop via HDMI and it worked at the full 4K/60Hz resolution (using the same HDMI cable). Checked the screen to ensure FreeSync was disabled (it was). Next up was resetting both the SMC and NVRAM, no success here either. Next I tried a USB-C to HDMI dongle, using that did work, finally some success at pin-pointing the source of the issue. I'm now fairly confident I have an idea as to where the issue lies — the firmware update that occurred during the upgrade has had a side affect on the operation of built-in HDMI port.

At this point I'm stuck though. The Mac Mini is working, the screen is working, but together they don't want to know one another (the dongle is needed elsewhere, and besides my built-in HDMI port should work!). After some extensive Googling it was apparent the issue didn't just impact myself, it was fairly widespread for people with a similar configuration (see this reddit thread). About a week later I purchased a new HDMI cable and used that with the screen and the in-built HDMI port and it just started working and has worked ever since (not the sort of resolution that satisfied my curiosity or problem solving persuasion).

I thought to myself at the time, good thing I have a spare machine to try these upgrades on, if I had to use this machine for work (and didn't have the spare hardware or knowledge to troubleshoot the situation) I would have been stuck without a Mac. But it also reminded me of something from those earlier years, my friends upgrading their Windows machines. They would experience a similar sort of problem on a regular basis, incompatibilities caused by drivers and interrupts and all sorts of things. Complex problems that are over the heads of the average computer user. It is the reason I always recommended a Mac to someone when asked for a recommendation, at one point in the past they used to just work. Updates would rarely cause issues that would break the major functions of a machine. Sadly, this is no longer something I can attest to anyway.

Upgrading the MacBook Pro (the important machine)

After the Mac Mini experience I delayed upgrading my primary machine. Why go to the trouble when the first release had flaws, it was also obvious that Catalina was rushed out the door. It wasn't ready for release, a specific date had come and gone and therefore Catalina had to be made available to the public for whatever reason Apple had. I waited for 10.15.1 and applied the update on the Mac Mini, everything worked, no showstoppers for what I utilised on a day-to-day basis. After getting back from a conference and travelling for work I had two weeks before my next trip, that would leave enough time in case anything went wrong.

I decided on a clean install, I hadn't reinstalled the operating system on this machine since it was given to me when I started in my new job last year so there was some cruft installed during the initial setup by central IT (and this was my chance to start fresh). My Mac Mini was also updated via a clean install, so no reason to deviate from what had been tested and known to work. Thankfully, everything went perfectly, the installation was performed from a 10.15.1 image applied to a USB key so I would bypass 10.15.0 entirely. I successfully setup the machine, logged into iCloud, installed all my third-party software. It seemed like everything had gone flawlessly. That was until I tried to listen to some music in the brand-new Music application; iTunes had been split out into three separate applications (Music, Podcasts and Apple TV) to more closely reflect the current state in iOS.

I'm deeply invested in the Apple ecosystem, or walled garden depending on how you view it. I have an iPad, an iPhone, AppleTVs and an Apple Watch. Using Apple Music makes sense given my investment in Apple hardware, furthermore my family (on my recommendations over the years) are part of the same ecosystem and I share an Apple Music family subscription to all of them. But, after updating my MacBook Pro to Catalina I no longer had access to Music, Podcasts and Apple TV via my iCloud account.

Attempting to sign into my account either results in either absolutely nothing happening (in the case of Music) or a generic unexpected error dialog showing (Podcasts). The lack of error message in Music was especially egregious, I had no feedback on what was going on. Did I just need to wait? Was it a temporary issues on Apple's side? These applications worked on my Mac Mini, Apple Music still works on my iOS devices. This time however I wanted to try something different, rather than troubleshoot and solve the problem on my own, I wanted to try doing what a less technically inclined user in my situation may consider doing. I didn't look at log files, didn't launch the application via the terminal to see any console output from the application, didn't try any simple steps that may resolve the problem. No, instead I contacted Apple support.

Podcasts warning message

Keep in mind below, I'm not doing everything I can personally do to solve the problem. I'm restricting myself to things I know my parents or sibling would know to do. During the time I was dealing with this problem I was in New Zealand so no Apple Store to pop into and try and get in person assistance.

Finding who to contact was a mission. The issue wasn't with the hardware, it was a software issue. It was an Apple Music issue so I contacted Apple Music support via the online form (the final category I settled on was Apple Music - Other Topics). This is something I pay for on an ongoing basis so support should come alongside it. The response back was prompt, the same day even, but it was essentially passing the buck asking me to please contact "technical support". No automatic reassignment of my query, support ticket closed on the spot by the looks of it, the support representative answering the request must have to meet a KPI this month.

I tried contacting "technical support" but the thing is, the MacBook Pro is outside of the free technical support period. Any attempts to log a request come up with a message saying my machine has no support associated with it. A dead-end essentially, no way to contact support without potentially incurring a cost according to the wording of the message displayed. To be honest I'm a little annoyed, this is not the Apple I knew and recommend to people. Support channels should be obvious and not try and dissuade people seeking assistance. Why would I recommend Apple Music to someone if I can't use it on one of my machines and I'm unable to easily get assistance for an issue without jumping through hoops.

Epilogue

Operating system updates, upgrades and patches should ideally never negatively effect someones machine to the point they can't use it for their day-to-day work. Apple normally has been fairly good about this in the past, it was one of the main reasons I would recommend their products with a level of confidence. After all, they control the entire stack so can test most combinations of their hardware and software. Sadly I don't think I can use this as a reason to recommend their computers anymore, if Catalina is any indication of the future direction of Apple.

Apple has shifted from developing macOS as a reliable operating system that anyone can use without too much fear of doing something wrong, to something that potentially breaks with each update and makes even experienced users with decades of prior experience apprehensive about applying software updates. Power-users are okay, they can work around these problems, get their machines working again if need be. The average user though? I don't think my Mum or Dad could have even come close to resolving the Mac Mini problem. And that's the crux of the issue, if I give my parents a computer that is safe and secure it needs updates, but those updates can't cause significant problems.

There is something that is equally as important to me as the stability of my system, that is privacy and security. This is where the conflict in my thinking is given form. What Apple has, and is doing with respect to privacy and security is a real game changer in my opinion and a true point of differentiation compared to their competitors. In a world beset by multinationals whose number one goal is the apparent need to mine users of their valuable nuggets of data coal to throw on the furnaces of their machine learning algorithms, Apple's stance of putting me in control of my data or at minimum informing me how my data is utilised is commendable. This position and approach should be rewarded; it is absolutely a compelling reason to recommend their products to friends and family.

Apple need to double down on the reliability of their software, making it just as important as privacy. Hopefully like a piece of hardware only ships when it is ready, software should be the same. Agile development (and I use that term with all the negative connotations you can muster) or the passage of time beyond a specific milestone date are not an excuse for an operating system or piece of software coupled alongside an operating system to be half-assed. Catalina should have never been released in the state that it was in. Apple needs to focus on quality software development again, their well respected hardware should be matched with equally reliable software that just works. Because at the moment, I'm standing in their nicely walled garden and unable to listen to music, and it fucking sucks.