Monday, December 16, 2019

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.


The crux of the issue in my mind is that iOS and Mac OS are so fundamentally different that the whole notion of getting a cohesive experience through porting apps with minimal effort becomes absurd.

Kind of like a toaster-fridge.


Update (2019-12-19): Nick Heer:

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.


Update (2019-12-20): John Gruber:

I’m just not seeing it with Catalyst apps. They almost all look and feel and work wrong. I’ll pick on Twitter because they’re a big company. They’ve made a bunch of improvements to their Catalyst Mac app in the two months or so since it shipped. Some really preposterous shortcomings in the initial release have been fixed in a short amount of time, and I get the impression — both through their public comments and some private ones I’ve exchanged with developers on their team — that they’re trying to do the right thing and make Twitter for Mac a good Mac app, not just the iPad app running in a window on the Mac. But the release notes for the latest update this week include new features like support for scrolling with the Page Up, Page Down, Home, and End keys. It’s kind of crazy that support for those keys wasn’t there from the start. 15 years ago you’d almost never find a Mac app that didn’t support them.


In short, I remain unconvinced that standard UIKit iPad apps are a good starting point for good Mac apps. But it’s pretty obvious — and should have been right from the start — that nonstandard not-really-using-UIKit iPad apps make for a terrible starting point for a good Mac app. Developers can make it work — as a programmer friend once told me, “It’s all just typing” — but it’s so much work it seems to defeat the entire “Just click a checkbox in Xcode” premise and promise of Catalyst.


Douglas Hill:

The standard UIKit scrolling class, UIScrollView, does not provide any keyboard-driven scrolling functionality.


Developers need to use the undocumented input strings UIKeyInputPageUp and UIKeyInputPageDown and write their own code to scroll up or down by the correct amount in response to those input events.

In other words, you need private API to offer a good user experience, but private API is not allowed in the App Store.

Update (2019-12-23): Jesper:

“Project Catalyst”, the adaptation of iOS and UIKit unto macOS, is an unmitigated disaster. Maybe it didn’t have to be, but it definitely is. Let’s take one of the better in-box apps, Podcasts, as an example.


Matt Birchler:

I love native apps and prefer them in almost every case to using services in a browser. It’s just a better experience for me in most cases, and has the added benefit of integrating more seamlessly into macOS systems like notifications, keyboard shortcuts, and automation. However, my experience with Catalyst apps from third parties has been so bad that I have uninstalled every one of them and gone back to using the web.

Nick Heer:

It was somewhat concerning to see a collection of tech demos ship as user-facing apps in Mojave last year. But to have recurring complaints of basic MacOS features after a year — why the hell are picker controls still touch-based spinners? — is inexcusable.

Jason Snell:

With the arrival of Mac Catalyst this summer, as promised by Apple last year, the Mac has started to benefit from apps developers originally on iOS. But I predicted that it would be a major onslaught that would dramatically change the Mac forever, and this was my biggest miss. Some combination of a rough summer of developer betas and limitations of the technology itself mean that there aren’t nearly as many Catalyst apps as I thought, and a bunch of my favorite iOS apps still aren’t anywhere close to shipping Mac versions. Catalyst may still change the Mac forever, but it’s going to take a lot more than one year to make it happen.

Update (2019-12-26): Josh Centers:

What can you do with 40 GB of RAM? Have Apple News take up 28 GB of it.

Do Catalyst apps not do any sort of garbage collection?

Update (2020-01-24): Cédric Luthi:

Trying the Twitter app from the Mac App Store.

• There is no padding at all between my username and the gray focus.
• The keyboard arrows do not move the cursor at all.
• Pressing the tab key does not select the password field!

It confirms that Catalyst doesn’t give you much.

Dominik Wagner:

If you told me that Apple would seriously ship such an interface back in 2010 I would have been offended and called you a fool…

Steve Troughton-Smith:

Asphalt 9 shows exactly why Catalyst is so bad for games. It’s an interaction nightmare. Every key input triggers the system beep, the escape key rips it out of fullscreen instead of triggering menu or ‘back’, and the whole thing is designed without manual acceleration controls

Update (2020-02-04): Colin Cornaby:

Most of Catalyst this WWDC cycle has been me going “Well maybe I’m just a giant imposter because there should be a lot of issues here but I guess Apple knows better” followed by me going “Nope guess they don’t.”

Peter Steinberger:

Apple stopper commenting on my Catalyst bugs in November, there are about 30 open... it’s pretty frustrating to be dependent on a company that has a yearly update cycle when customers report bugs and expect a fix within weeks, not years.

4 Comments RSS · Twitter

I agree that if you want to develop a good coherent app for any platform you need to stick to its native UI framework.

Using any kind of a cross-platform solution such as Catalyst will leave you with two choices:
a) spend a good amount of time/resources trying to make an app look good on both platforms (e.g. making a Catalyst app be more Mac-like). But in the end, would not it be easier to start using the native UI framework (e.g. AppKit) instead?
b) release an app "as is" after converting to Catalyst with only minor corrections. This will never be a good Mac app.

I would go even further and say that SwiftUI will have the same problem. Even though it is a descriptive UI and will be using native frameworks under the hood, you still need to make completely different design decisions for the small screen of the Apple Watch and the 27" screen of the iMac. Besides, it also has different UI elements that are exclusive to specific platforms (section table view in iOS, menu buttons in macOS, etc). So you will still spend time tailoring UI for a specific platform if you want a good app.

Sören Nils Kuklau

It's not just that Apple shipped a cross-platform UI framework, which inherently comes with a risk of taking the "lowest-common-denominator" approach to UI design. It's that they also shipped poor first-party apps based on that framework. The most optimistic take is that Home/Voice Memos/etc. don't serve as examples of how to do Catalyst right, but rather as results of teams that couldn't be bothered to do a Mac app at all and were convinced to half-ass one using Catalyst just so anything at all could ship (in which case, please also do that with apps like Health), and that Podcasts, in turn, is more of a benchmark. But even then, it's a framework that lacks various basic controls, and has strange bugs in the controls that do exist (some of which third parties appear to have no way of working around).

[…] experience, it's “cohesion”. More: Daring Fireball,, Pixel Envy, and Michael Tsai More: John Gruber / Daring Fireball: Catalyst, Two Months In — Jack Wellborn, “Catalyst and […]

I'm not a fan of Catalyst or Electron for that matter. Hopefully Mac users will not lower their standards.

Leave a Comment