Catalyst and Cohesion

Jack Wellborn:

[…] Developers using first party tools from Apple shouldn’t have to swim upstream to build cohesive Mac versions of their apps. I am not saying that the existence of any incongruous Catalyst ports is worrisome — incongruous ports are inevitable and Catalyst is an opportunity to make them better — what’s worrisome is that incongruity seems to be the default with Catalyst.

Look no further than Apple’s own Catalyst ports. Developers have enjoyed a variety of good first party examples on both Mac OS and iOS. Mail, TextEdit, Preview, Notes serve as examples of what good cohesive apps on those platforms should look like. Outside of maybe the Podcasts app, Apple made Catalyst apps feel like ports.

Wellborn’s use of the word “cohesive” is inspired and speaks to the root of my worries about Catalyst. Great MacOS apps are often not entirely consistent, but they are cohesive — apps with unique user interfaces, like Coda and Tweetbot, feel very Mac-like, even though both are from third-party developers and neither one looks especially like Mail or Preview.

It worries me that some of Apple’s own MacOS apps lack cohesion; and, though Catalyst is the purest expression of this concern, it is not solely at fault. The redesigned Mac App Store that debuted in Mojave certainly looks like a Mac app, but it feels and functions like a crappy port from some distant platform. It launches by zooming in from the desktop; editorial collections open with an absurd sliding animation and cover the entire app like a sheet; it contains a truly bizarre combination of large click targets and tiny buttons. And none of this can be blamed on a bad Catalyst port, because the Mac App Store is not a Catalyst app, as far as I can tell.

It is frustrating to see Apple release a mediocre porting utility like Catalyst, but it is truly concerning that some of their newer Mac apps feel this incongruous. It would be one thing if it were a third-party developer, but these are first-party apps. As much as I am excited by the prospects of SwiftUI, I have to wonder whether this current stage of cross-platform-influenced Mac development is a distraction, or portends the lazy Mac experience of the future.

Update: Now that my MacBook Air is running MacOS Catalina, I see that the Mac App Store is improved compared to Mojave. It no longer features the comical zoom animation at launch, and the escape key can now be used to dismiss editorial collections. But it still doesn’t feel like a Mac app. Also, the JetEngineMac framework has been moved from within the Mac App Store app package to /System/Library/Private Frameworks, along with a new JetUI framework.