WWDC 2020 brought Mac Catalyst into sharper focus than ever before. Introduced as an unnamed ‘sneak peek’ in 2018, Mac Catalyst offered the promise of a simple and efficient way for iPad developers to bring their apps to 100 million Mac users. The reality was that it can be hard to transition an app from an iPad to a Mac, and the results weren’t always great.
The trouble was the result of a confluence of multiple factors, including:
- The first iteration of Mac Catalyst used iPad design conventions in places that felt out of place on the Mac
- There was too little documentation
- Excitement surrounding SwiftUI left developers wondering whether Apple was committed to Mac Catalyst
WWDC 2020 was different. Apple introduced what was effectively Mac Catalyst 2.0 with its Optimized for Mac initiative, a separate Mac Catalyst path that follows Mac conventions more closely but requires more work. The company also built Messages and Maps, two of its flagship apps, using Mac Catalyst, demonstrating a deeper commitment to the technology than ever before. The result is a brighter future for Mac Catalyst that clearly has a role to play alongside SwiftUI and Apple’s other frameworks.
To understand where Mac Catalyst is heading, though, we first need to understand where it has been over the past two years.
Just Check the Box
Mac Catalyst has had a short but unusual history. In a rare move for Apple, the company provided a sneak peek of the then-unnamed project at WWDC in 2018. At the same time, Apple also revealed that it had used an early version of Catalyst to bring Stocks, News, Voice Memos, and Home to the Mac from the iPad.
The reception from observers and developers was lukewarm. None of those first four Catalyst apps involved the kind of complex UIs commonly found in many Mac apps, and all of them broke longstanding Mac design conventions. That left a lot of developers and users uneasy about Catalyst’s future, but most were willing to wait to see what Apple had in store for third-party developers before judging the technology too harshly.
WWDC 2019 helped to a degree, but not enough. On the one hand, Apple revealed Podcasts, an imperfect but more complex and Mac-like app built with Mac Catalyst. On the other hand, though, Apple didn’t update the original four Catalyst apps, leaving observers to question the company’s commitment to Mac Catalyst.
Apple also oversold Catalyst at WWDC 2019 as a simple checkbox transformation from iPad to Mac app. It turned out to be anything but that. It was certainly possible to get many apps up and running relatively quickly by checking a box in Xcode, but refining those apps so they fit in reasonably well on the Mac was another story altogether. Creating something that fits in with AppKit-based apps took substantial work in many cases due to the inherent limits of Catalyst itself.
When Catalina shipped in the fall, the result was a raft of new Mac Catalyst apps, many of which weren’t very good. There were exceptions, which I covered in my Catalina review and subsequently, but with developers stuck fighting with their tools and having to recreate controls that weren’t made readily available, many were left wondering what the future held for Mac Catalyst.
The cloud over Mac Catalyst was exacerbated by the debut of SwiftUI, Apple’s declarative system for building modern UIs using the Swift programming language. Introduced alongside Catalyst in 2019, Apple made it clear that its ultimate goal was to allow developers to use SwiftUI to build interfaces across all of its platforms. The message was clear: SwiftUI was the future.
SwiftUI managed to muddy the waters to the point that John Gruber declared that Mac Catalyst had been effectively deprecated before it left the gate. With Catalyst clearly a transitional technology and SwiftUI poised to rule the future, developers were left wondering if adopting it was a gamble on a dead-end, also-ran technology. It didn’t help that developer documentation was sparse, the original four Mac Catalyst apps sat largely untouched throughout 2019, Podcasts, though better than earlier Catalyst releases, was aided by non-public APIs, and universal purchases couldn’t include Mac Catalyst apps until earlier this year. As a result, many developers decided to sit out the first wave of Catalyst apps.
What WWDC 2020 confirmed was that the addition of Mac Catalyst apps to universal purchases a few months earlier was a sign of things to come. Apple was listening to developers about the pain points of developing Catalyst apps and making adjustments. The company was refining its message and providing a clearer path forward for developers.
In hindsight, revealing Mac Catalyst as a ‘sneak peek’ in 2018 may have been a mistake. The desire to send a message to developers that a new era of alignment between the iPad and Mac was coming is understandable. However, without a full understanding of the implications of SwiftUI or knowledge of the upcoming design changes to Big Sur and the Apple Silicon transition, too much of the story remained a black box that left developers perplexed. It’s a good example of how little is to be gained from a secretive company like Apple revealing an isolated part of its plans for the future.
Mac Catalyst Comes Into Focus
What has changed is that the paths to the future of development across all of Apple’s platforms have finally come into focus. WWDC 2020 confirmed developers’ hunch that SwiftUI is the future. However, that comes with a big caveat. SwiftUI may be the future, but it’s also not entirely ready for the present. As far as SwiftUI has come in its first year, there are still limitations that mean it isn’t a workable solution for every new app, let alone the millions of existing apps.
SwiftUI’s future is bright, and I fully expect that we will see more new apps written with it. Still, we’re a long way from putting the final nail in Mac Catalyst’s coffin. The present is very much a hybrid world where Mac Catalyst will play a crucial transition role in making the Mac app ecosystem as vibrant as that of iOS and iPadOS and driving developers to adopt the current-generation iPadOS features that translate to Mac features.
Several aspects of WWDC 2020 and its immediate aftermath should give any developer who sat out the first wave of Mac Catalyst apps confidence to build an app with the technology. One is the new features that address many of the early complaints leveled against Catalyst, including:
- An AppKit date picker which has replaced the tumbler-style picker that’s been around since the first iPhone was released
- Pull-down menus
- Keyboard event enhancements and cursor control
- tvOS focus event handlers
- Photo extensions
- Better window and tab management
- A color picker and color well
Apple has also finally addressed the lack of documentation with a terrific tutorial and other materials that debuted just last week.
Also included in the enhancements to Mac Catalyst is a new mode that Apple calls ‘Optimized for Mac,’ which changes the default scaling of an iPad app from 77% to 100% and results in crisper text and graphics. Optimized for Mac also includes Mac-style controls that match macOS control sizes. These will require developers to make adjustments in many cases to ensure that the controls don’t break the layout of their apps. Buttons, pickers, sliders, and other controls are equivalent to what developers would get when building an AppKit app, and some controls like checkboxes are only available to Optimized for Mac apps. The trade-off for a Mac Catalyst app that hues more closely to traditional conventions is that building an Optimized for Mac Catalyst app requires more work than a standard Mac Catalyst app.
Between standard Mac Catalyst apps and ones that are Optimized for Mac, the landscape Apple has covered is substantially broader than what was covered with the first iteration of Mac Catalyst. The quick and expedient way of building a Mac Catalyst app that’s scaled to 77%, so its UI elements work better, has gained meaningful improvements. Now, though, there’s an entirely different, alternative path developers can take that provides a much more Mac-like product. It’s more work to be sure, but it also demonstrates that Apple cares about more than just making it easier for developers to add iPad apps to the Mac. It’s also about giving developers the tools to make a Mac Catalyst app that’s at home on the Mac. At the same time, though, the simpler Mac Catalyst path acknowledges the practical reality that creating an Optimized for Mac version isn’t always economical.
2020’s Mac Catalyst story is a more complicated narrative than ‘check a box, and your iPad app becomes a Mac app,’ but it’s also one that tells a more compelling story that fits with the alignment of the Mac and iPad as mutually reinforcing systems. The same thing can be seen in the redesign of macOS. The facile view is that the Mac is being remade in the iPad’s image. However, this perspective ignores the migration of features like sidebars, Finder-like file navigation, and cursor support from the Mac to the iPad. Each is evolving based on an overarching vision of creating a familiar but platform-specific UI that helps make users comfortable on any of Apple’s devices without learning different interactions and design metaphors where they don’t serve the unique qualities of each device.
To that end, the iPad and Mac now share idioms like the sidebar, toolbars, and app icons that vary depending on the platform but are instantly recognizable. That lowers the barrier for consumers who started on the iPad, making it easier for them to use a Mac too.
Apple also did a better job at WWDC 2020 of articulating Mac Catalyst’s position among the company’s many developer tools. Developers with a mature AppKit version of an app are not being encouraged to abandon AppKit. Those frameworks may not be the long-term future of Mac development, but they aren’t being deprecated any time soon. Likewise, iPadOS developers with an established UIKit app aren’t being encouraged to leave UIKit behind. Instead, iPad developers have options that range from running their app directly on Apple Silicon-based Macs with no changes to building standard Mac Catalyst apps and Optimized for Mac apps. It’s a practical, realistic acknowledgment that the economics of moving an app from the iPad to the Mac vary widely, so the development paths should too.
However, of all the announcements at WWDC this year, the one that should give developers and users the most confidence that Apple is committed to Mac Catalyst is that it rebuilt Messages and Maps with Mac Catalyst. Both apps are central to the iPhone and iPad experience but had fallen behind on the Mac. Even in the early betas of Big Sur, Messages and Maps are solid, faithful Mac versions of their iPad counterparts. They are also substantially deeper, feature-rich apps than the early Mac Catalyst apps Apple released.
A catalyst increases the rate of change in a chemical reaction. In retrospect, it’s an aptly descriptive name for Mac Catalyst. Apple has been experimenting with ways to jump-start the Mac app market for years. The Mac App Store and its subsequent redesign didn’t seem to move the needle substantially, but I remain optimistic that Mac Catalyst will do so with time. Ultimately SwiftUI, which is rapidly developing on a parallel path, will likely eclipse Catalyst, but that reality is still years away because of millions of UIKit apps already on the market. Rewriting those apps for AppKit makes no sense for many developers, as demonstrated by the lack of iPad apps that have made their way to the Mac already. SwiftUI isn’t a realistic alternative for most of those apps, either.
With Mac Catalyst, there’s an opportunity for developers to significantly increase the potential size of the market for their apps without taking much risk. Some of those new Mac Catalyst apps will be subpar, just like there are junky iPhone and iPad apps. I’m not a fan of lousy apps, but I’m still glad that the barrier to entry to the App Store is low. It opens opportunities for newcomers who might otherwise find it too hard to get started.
I expect Mac Catalyst will have the same effect. More developers than ever before have access to the Mac App Store. That will create competition that pushes all developers to make better products for their users, regardless of the underlying technology used to build it. In my book, that is how it should be and the best way to strengthen the Mac as a platform.