A brief reflection on Mac software stagnation

Software

If you’ve been a Mac user for more than a few years, let me ask you a question: what is the newest application you have installed that turned out to be so useful and well-made it’s now part of your essential tools? An app that really got you excited and happy to be a Mac user? For the sake of argument, let’s leave out games (obviously) and single-purpose little utilities.

In my case, it’s TextBuddy by Tyler Hall — but it’s truly an outlier in an otherwise flat landscape. I was reflecting on this a few days ago as I was looking at the Purchased section of my account in the Mac App Store app.

Purchased Mac apps 2019-2022

First, as you can see, the apps I’ve purchased or downloaded since 2019 are just a handful. Most are single-purpose utilities, social media clients, or Safari extensions. The biggest apps in this short list are Microsoft Word, flickery, and Pixelmator Pro. None of these is a ‘new app’: Word has been around for a long time; I don’t know when flickery first debuted, but the fact that its minimum system requirement is Mac OS X 10.6.6 suggests that the app has been around since Snow Leopard; Pixelmator Pro is the newest of the three, but still, its first version was released in November 2017, more than four years ago.

And while Pixelmator has indeed become part of my essential tools, I tend to use Acorn more often, and Acorn has been around since 2007. By the way, the impact Acorn had on my workflow can’t be overstated, since it was the application that made me move away from Photoshop back then; it’s currently installed on all my Macs, even old machines running Mac OS X 10.4 Tiger.

In other words, if I open my toolbox with all the essential Mac apps I use on a daily basis for everything I do, what I see are old (some very old), tried-and-trusted applications: BBEdit, Transmit, MarsEdit, Acorn, NetNewsWire, Reeder, Notational Velocity/nvALT, Graphic Converter, Aperture (yes, still using it under Mac OS 10.13 High Sierra), The Unarchiver, Skim (a solid PDF viewer that’s been around since 2007), VLC, Apple’s Image Capture (still the fastest for importing images from an iOS device), xScope, Find Any File, SuperDuper!, AppZapper, f.lux, iA Writer, iStat Menus…

This may be a completely subjective observation, but I’ve been feeling a certain stagnation in Mac software these past few years. There are always exceptions and things I’ve missed, sure, but it seems to me that the landscape appears to be more tired than vibrant. More broadly — and this is an image I’ve already used in the past — the Mac as a platform appears trapped in inertia instead of progressing; it feels as if the Mac software train has reached its final destination, and everyone is just building over and around the terminal station.

Ideally, at this point in my article I should start the next paragraph with The reasons for this perceived stagnation are — followed by a bullet list. But I don’t feel it’s so clear-cut.

There are factors that should be considered when observing the current state of Mac software, factors we could use to paint a picture that is necessarily imperfect and speculative.

The first factor to consider is the iOS platform. Historically it has had a considerable impact on Mac software development, starting within Apple itself. It’s no mystery that Mac OS X 10.5 Leopard took so long to be released because Apple internally turned most of its resources to the development of the iPhone and its operating system. When iPhone OS opened to third-party developers in 2008, many third-party Mac developers similarly started concentrating their efforts to come up with fun and useful iOS apps to add to their catalogue.

Did this slow down Mac software innovation? I’m not sure. Certainly not at first. The 2008–2010 years were a period in which iOS meant iPhone and iPod touch. And as revolutionary as the iPhone has been, in its first years it was still perceived as an ancillary device, with the Mac still at the centre of that Jobs-defined ‘digital hub’. But things started to change, again, with the introduction of the iPad in 2010. While many iPhone/iPod touch apps initially had a ‘Dashboard widget’ feel to them, the iPad’s biggest canvas allowed for more Mac-like applications.

During the golden era of iOS — both on iPhone and iPad — it was understandable that they would become the priority for any Apple developer, especially for new developers, since iOS looked more appealing to develop for, both from a financial and technical standpoint.

Then there’s Apple’s agenda to consider. Remember when Mac OS 10.14 Mojave was previewed at WWDC 2018? Craig Federighi (Apple senior VP of software engineering) said that some iOS apps for iPhone and iPad would also work in Mac OS, then he emphatically added: “Are you merging iOS and Mac OS? I’d like to take a moment to briefly address this question”, and this slide appeared behind him:

Merging iOS and Mac OS? - No.

No, of course not,” he continued. “We love the Mac, and we love Mac OS, because it’s explicitly created for the unique characteristics of Mac hardware”.

The problem is that, while it’s true that iOS and Mac OS have remained two separate operating systems, Apple has been really pushing to have them both work in the same way when it comes to their underpinnings.

Let’s take a little step back and try to explain this as simply as possible, mashing together a few lines taken here and there from Wikipedia.

Cocoa is Apple’s native object-oriented application programming interface (API) for its desktop operating system macOS. Cocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, […] and the libraries and frameworks included by those, such as the C standard library and the Objective‑C runtime.

For end users, Cocoa applications are those written using the Cocoa programming environment. Such applications usually have a familiar look and feel, since the Cocoa programming environment provides a lot of common UI elements (such as buttons, scroll bars, etc.), and automates many aspects of an application to comply with Apple’s human interface guidelines.

For iOS, iPadOS, tvOS, and watchOS, a similar API exists, named Cocoa Touch, which includes gesture recognition, animation, and a different set of graphical control elements. It is used in applications for Apple devices such as the iPhone, the iPod Touch, the iPad, the Apple TV, and the Apple Watch.

One important framework of Cocoa Touch is called UIKit, which derives from the Mac’s Cocoa framework Application Kit, or AppKit. When Mojave was previewed at WWDC 2018, Federighi said that four new apps would be included in Mojave — Home, Voice Memos, Stocks, and News — and that these apps were ports of their iOS counterparts. Such porting was made easier because Apple was incorporating iOS frameworks into Mac OS.

AppKit and UIKit

Such ‘hybrid’ apps, containing both the (Mac) AppKit and (iOS) UIKit frameworks took the name of Catalyst apps. The base concept appears to be practical and developer-friendly: let’s remove the friction of having to deal with platform-specific frameworks, and let’s just have a system where you can effectively build universal apps that can run on iPhone, iPad, and the Mac with little effort. The problem of many such apps, especially those built with too little effort, is that they appear and behave in a way that doesn’t feel very Mac-like, with UI elements that clearly are just cut & pasted from iOS and poorly adapted to offer a good, usable, consistent experience under Mac OS.

Now it’s 2022, more than three years after Mojave and the first Catalyst apps appeared, and while Apple and others have released a few decent Catalyst apps so far, this software transition isn’t going so smoothly. Nick Heer has summed up the situation very aptly and concisely in a recent commentary piece on his blog:

Right now, it feels a little bit like the three main MacOS app frameworks are floating in unanchored space: AppKit is not the future, Catalyst is not ready to replace it, and using SwiftUI remains a long way off for big, complicated apps.

Remember when I was pointing out that iPads were becoming incredibly powerful machines but with an OS that wasn’t capable of taking full advantage of that amazing hardware? Apple has managed to put the Mac in a similar position, in my opinion. The new 14-inch and 16-inch M1 Pro/Max MacBook Pros are brutally performant and energy-efficient machines, but with an operating system that instead of aging well has been rendered immature by too many haphazard plastic surgeries. We have once again Mac ’pro’ hardware, but in the meantime the Mac as a device has been effectively demoted and removed from the centre of the digital hub. Now it’s just a device. Conceptually and from a software standpoint, now there’s the iPhone, the big iPhone (iPad), and that other desktop/laptop device that’s kind of a big iPad but without touch (the Mac).

So, back to what Federighi said in 2018 — “We love the Mac, and we love Mac OS, because it’s explicitly created for the unique characteristics of Mac hardware” — I called bullshit then, and I call bullshit now. An operating system (and relative first- or third-party applications) that really embraces the potential and the characteristics of the specific hardware it runs on needs to be built on an equally specific set of frameworks, and does not need to be contaminated by frameworks and paradigms from an operating system that historically is a simplified derivation of Mac OS X itself. It’s like manufacturing a car with the same manufacturing tools and processes of a model car. (Not my best analogy, but you get the idea).

Or, if maintaining a separate set of frameworks is too cumbersome for everybody, at least Apple should commit to improving this unified set of tools — by making it at least more complete, more versatile, and more clearly documented — in order for developers to create good applications that feel at home and UI-consistent whether they’re used on an older iPhone 8 or on an M1 24-inch iMac. The current stagnation of Mac software, I think, boils down to developers who now find themselves with having to decide which path to take, when all paths are unclear, incomplete, or awkward to follow through.

As a Mac power user and observer, I’m not optimistic. I’m not saying we won’t see great Mac apps in the future, don’t get me wrong. But I have the feeling that they’ll be the notable exception in a software landscape that will share all the worst traits of iOS — an overabundance of mediocre-to-crappy apps, the same race to the subscription model, the lack of very sophisticated software applications that can tackle more than a handful of tasks. All this on increasingly powerful Macs that could run an entire power plant alone… if only they had the right software.

 

A brief reflection on Mac software stagnation was first published by Riccardo Mori on Morrick.me on 24 February 2022.

The Author

Writer. Translator. Mac consultant. Enthusiast photographer. • If you like what I write, please consider supporting my writing by purchasing my short stories, Minigrooves or by making a donation. Thank you!