Apple presented Project Catalyst at WWDC 2019. If you aren’t familiar with it yet, it’s a new way of turning iPad apps into native Mac apps 'with just one click', as Apple says. The truth about Project Catalyst is, however, a bit more complicated.

Project Catalyst, previously called Marzipan, will be fully available this fall with the premiere of macOS Catalina, iOS 13 and the new operating system dedicated to iPads (iPadOS). Developers can already check it with Catalina’s beta version.

To translate an iPad app into a native macOS app, Project Catalyst doesn’t require a separate code. How does it do then? Stay with me, because the devil is, as always, in the details.

From iPad to Mac apps with Project Catalyst

According to Apple, turning iPad apps into macOS ones with Project Catalyst 'takes just a click in a checkbox'. On Xcode 11, you’ll only need to go to the general settings of the project and select the deployment target with macOS.

So they say. This is only part of the truth, because:

the app must be in iPad version and

the app must have its layout designed for macOS.

The first statement is clear. The second one needs more attention.

Design principles

As you probably know, macOS is a different system that iOS (or the coming iPadOS). Not only because of frameworks used in apps, but most importantly because of design and behavior. To fully get what I’m talking about, read Apple’s Human Interface Guidelines.

Your app then should support multitasking, the drag and drop feature and respond to keyboard shortcuts. For more details regarding what differentiates macOS applications from those designed for other hardware platforms, check macOS Design Themes.

So you need to consider, whether your app’s design will suit macOS or not.

Tab bars and split view

For example, tab bars which are very popular on iOS, are not the best solution for macOS. Apple recommends changing tab bar into segmented control or split view.

Using split view is generally a better idea if you’re planning to transfer your iOS app to macOS.

‘If you use a split view in your iPad app, macOS automatically translates it to a split view in the Mac version of your app’ - says Apple.

This is but a single example proving that converting an iOS app into macOS isn’t so simple - at least, if you use popular default solutions in your app, like UITabBarController mentioned above. Even a purely iPad app may have problems transforming into macOS.

Menus, navigation and multiple windows

But there is more than that. Besides implementing shortcuts, remember about menus. Yup, macOS apps use menu bars, which are not available in iOS. So before transferring your app to Mac, you should probably consider moving some commands to menus. For example if your app uses file browser or allows users to add new files, there are dedicated commands in macOS menus for this.

Then comes navigation. Although Project Catalyst automatically converts most gestures to mouse clicks, you should check by yourself, if all navigation is clear for Mac users - the same as for iPad users.

Support for multiple windows can be another problem. As developers from Twitter mentioned, support for multiple windows 'is different than windows with AppKit'. This means a different approach than in iOS, handling one view controller at a given time. Also, windows on macOS can be resized, as opposed to iOS.

Last but not least, you should remember that all content from your iPad app will be scaled. Apple informs that iOS views are 'automatically scaled down to 77%''. It’s going to affect not only images or views, but also fonts. Default SF fonts will be scaled in your app (for example 17 pt to 13 pt), but you should pay even more concern if you use custom fonts.

Summary

Apps like Twitter, TripIt or the game Asphalt 9: Legends have already been moved to macOS with Project Catalyst. In each case, there were some issues that stopped developers from immediately releasing the app.

In case of Asphalt, it took 24 hours to change iPad app to macOS. In some cases, deprecated frameworks such as MessageUI or UIWebView were the problem. All in all, the entire process was painless. We'll see how it’s going to work in everyday usage.

Project Catalyst is one of the most important Apple announcements in recent years. Although in many cases the converting scenario isn’t just 'check a checkbox in Xcode and go' and the simplicity promise should be taken with a grain of salt, I’m sure that Catalyst will be the next big thing in the iOS and macOS environment. Can’t wait for this fall when it’s available in a stable version. I have a few apps that call for being transformed from iOS into macOS. Stay tuned!

Have an idea for a mobile app for your business? Let's meet and talk about it!

Recommended reads