30 July, 2019
We had some time to digest the news presented by Apple during the last WWDC keynote. And probably the most mind-blowing changes are coming under the name of Project Catalyst. The idea, previously known as Marzipan Project, is about merging Apple’s operating systems – iOS and macOS – and allowing developers to build stable, good-looking and native cross-platform applications. Sounds great. But are we really ready for porting iOS apps to macOS?
What do you need to know about Project Catalyst (a.k.a. Project Marzipan)?
Project Catalyst, formerly known as Project Marzipan, was first announced at WWDC 2018. It was presented as Apple’s effort to allow developing universal apps for iOS and macOS. The idea was about making it easier for software engineers to build cross-platform apps which can be used interchangeably on all kinds of Apple devices. Also, we were promised smooth synchronisation between the devices – for example, you could continue editing a document on the macOS application, even though you started the work using an iPad app.
It’s the next big thing for sure, but even though the new software development kit (SDK) has been already introduced with the beta version of the newest macOS Catalina – well, it’s still a beta version. The further development is planned for the following months of 2019 and as per rumours – the full multi-platform app integration initiative isn’t expected to be completed sooner than in 2021.
What does the Project Catalyst mean for software development companies?
In brief, once the new SDK is released in the autumn 2019, developers should be able to submit iPad version to App Store and Mac App store respectively. The most important thing is that they wouldn’t have to rewrite the code for each version. SDK itself will be under continuous development, so in 2020 it should be able to support the conversion of iPhone apps into macOS-ready applications. Then, Apple may consider closing the aforementioned separate app stores submissions for good (probably by 2021).
Instead, the Cupertino-based company aims to let software companies simply merge their iPhone/iPad/Mac application versions into a single app which will be compatible with all of the Apple devices mentioned above.
Now, let’s take a look at this subject from a more technical perspective. Official documentation comes with a helping hand.
As you probably know, previously, developers have built most of the iPad apps, using the framework called UIKit. At the same time, the dedicated framework for building the Mac apps was named AppKit and actually… was capable of doing almost the same things. The only main difference was the target – a large computer screen. However, you couldn’t run apps made with the use of UIKit on your MacBook and, the other way around, iOS devices couldn’t run apps which were made using AppKit. That’s why, even if a developer were able to “recycle” some parts of their iPad apps when building macOS versions, doing it was connected with a huge amount of additional worktime. Basically, there was a need to develop two separate apps (which required two different budgets).
Here comes the Catalyst: when the developer takes a look at their iPad project in Xcode, they can simply check a box to select the Mac as a supported device.
If they do so, Xcode makes some important changes to the project. Below, there’s an excerpt from the documentation.
- adds a bundle identifier for the Mac version of your app,
- adds the App Sandbox Entitlement to your project; Xcode includes this entitlement in the Mac version of your app, but not in the iOS version;
- adds My Mac to the list of destinations that you can choose when running your app from Xcode;
- excludes incompatible frameworks, app extensions, and other embedded content.
Taking it into consideration and excluding all the possible errors, the developer should be able to deploy a basic version of the iPad app for the Mac within a few minutes. As per the documentation, the Mac version of your iPad app will be able to support a variety of macOS system features:
- a default menu bar for your app,
- support for trackpad, mouse, and keyboard input,
- support for window resizing and full-screen display,
- Mac-style scroll bars,
- copy-and-paste support,
- drag-and-drop support,
- support for system Touch Bar controls.
Sounds pretty good, right?
You can say that there are already some universal apps – such as News, Home, Stocks or Voice Memos – so it wouldn’t be that innovative. True, but the fact is that these apps have been made universal as a sort of showcase for what Catalyst is supposed to accomplish. Also, companies which didn’t consider Mac apps development in the past, now tend to be reconsidering their initial decision. For example, Twitter announced that they’ll make use of Catalyst and start developing new macOS versions of their product.
What are the possible advantages of Project Catalyst for Apple and for your business?
Well, many of you may wonder – what’s the point for introducing this major development changes? Most of the known information are rumours and assumptions so far. The first one is the idea of saving the Mac App Store. Being honest, this one was pretty abandoned by the users and developers recently.
Secondly, Apple is trying to push some major changes in the MacBook itself – not only hardware-wise but also those related to software. And the possible upcoming introduction of numerous apps which we know from iOS may be a great addition.
Also, the beginning of cross-platform applications will definitely lead to the opening of an entirely new marketplace which can significantly change the daily routine of the software development companies, developers and their potential business partners. The latter will stand in front of the question of whether they need cross-platform software. Potentially, Apple may consider unifying/merging both macOS and iPadOS in the future and Project Catalyst may be an important… well, an important catalyst of these changes.
From the business perspective, one code shared by iOS and macOS versions of the apps is great as it means cost-cutting. If you have a good base iPad app, you can turn it into an amazing macOS application for a relatively cheap price. Thanks to that, you get way more users, especially if your app is a so-called productivity application used for everyday work.
From the perspective of CTOs and mobile developers, it’s also a very good change, as the developers wouldn’t have to learn AppKit, while already being proficient in using UIKit.
What are the potential problems with building cross-platform apps for iOS and macOS?
As you probably noticed, Catalyst may provide many useful functionalities which may be considered advantages. But, still, there are at least a couple of reasons why some people may not be interested.
From the Mac app developer perspective, the Catalyst Project may look a little bit more problematic. It’s because, firstly, UIKit is different than AppKit and secondly, iOS app development is way more controlled by Apple — certain apps are only available for sale through official iOS App Store. In contrary, Macs users always had an opportunity to buy apps from some other sources. That’s why some developers who prefer the more liberal reality of macOS apps market may not be interested in opening for the relationship with iOS AppStore.
What’s more, developing a proper Mac app based on an existing iOS application will still require some work – to make sure that it looks like a native macOS app.
You need to remember that making universal, cross-platform apps requires important interface changes. If you want to develop an app which is compatible with both iOS and macOS, you must be sure to make them entirely controllable by touch screens but, at the same time, friendly for users with keyboard and mice. You also need to remember about: trackpads, window resizing, scroll bars and drag & drop features. It can be a real challenge for many developers, especially when it comes to updating older apps.
If, after a while, mobile developers realise that developing such cross-platform apps is, in fact, more time- and money-consuming than developing two separate applications, they may simply abandon the whole Catalyst idea.
But what if the Project Catalyst is a success among developers? Then, it’ll be the call of CTOs and CEOs of tech companies to use it or not use it in their software projects.
When developing an entirely new app, the possibility of making it cross-platform with Catalyst will definitely be tempting. However, if you already have an existing iPad app, turning it into a Mac application may not be a very good solution. Why? Because when designing the interface some time ago you were probably thinking of iPad devices only. Therefore, paying the technical debt (i.e. redesigning the app to meet the requirements of macOS users) may be more problematic than designing and developing a new app from scratch – this time, keeping in mind the requirements of both iPad and Mac devices and asking your development team if this idea is feasible.
Summary: Should you get excited about the Project Catalyst?
Summing it up, you probably noticed that the next couple of years are going to be crucial and extremely important for Catalyst. Apple is expected to release updates for the Catalyst SDK at least until 2021. We’ll see if the idea will be adopted by both developers and software companies.
Even though Apple is expected to make the development and submission process more straightforward and efficient, it will take some time until developers will get the chance to use the complete set of tools. And it’s not until then, when software companies will get a chance to really learn the new process, making apps for both iOS and macOS swiftly.
So, we will all see what the future will bring and the only real answer for us at the moment is: Catalyst needs to be battle-tested for good before setting any reasonable judgement.
If you have a well-thought, up-to-date and user-friendly iPad app, you can definitely start thinking about transforming it into a nice macOS app. However, begin with asking yourself: do you really need it? And, what’s more: do your users need it? Simply consider if people will be interested in using your app on their Macs. If the answer is positive, using Catalyst may help you reach more people with your app for a relatively low price.
As we’ve stated before, the project is still in progress, but if you believe that such cross-platform development may be important for your company, you should definitely keep your finger on the pulse.
The easiest way to keep on track with the Catalyst is probably by bookmarking this article. If you’ve read it whole, I presume that you liked it. 😊 I’ll make sure to keep it updated, so just remember to drop by once in a while. See you soon, then!