We will learn much more about Apple’s Marzipan initiative that enables iOS apps to run on Macs at WWDC 2019. Meanwhile, here’s a quick catch-up on what we know so far and some probable implications for enterprise IT.
A little iOS in the Mac
Apple announced Marzipan at WWDC 2018 when it introduced macOS Mojave and iOS 12.
With Mojave now on millions of Macs, lots of us are already using the first four iOS apps to be liberated to run on the Mac:
- News
- Home
- Stocks (perhaps not so compelling as economies collapse)
- Voice Memos
The apps aren’t the be all and end all of Apple’s Marzipan initiative, which goes much further and includes development of new cross-platform design libraries developers can use to build apps capable of running on both Mac and iOS platforms.
Marzipan exploits the fact that both iOS and macOS rely on the same essential Unix code base, run the same kernel, and share many common frameworks, such as Metal.
The ultimate aim is to make it possible for developers to build apps for both platforms simultaneously. This could mean thousands of additional (and lightwight) applications will be made available for the Mac.
This also gives Apple a strong response to Chrome/Electron apps on its platforms, and projects competitors are already engaged in to run iOS on their platforms (Windows Bridge,OSMeta, the Chameleon Project).
What problem does Marzipan solve?
The glaring difference between Mac and iOS is the user interface. While Macs use keyboard, mouse, and a growing number of trackpad gestures, iOS devices are touch-based. Both platforms use different UI code: AppKit on Mac and UIkit on iOS.
This is why Apple secretly began bringing over UIKit support to macOS in around 2016, when it began working on the Marzipan project.
“These UIKit apps are running in a native environment on top of a native stack. And if you look closely, you'll see that the stack below the UIKit app has a lot in common with the stack below the AppKit app,” Apple told us at WWDC 2018.
“In fact, these environments were built on a common foundation that in some cases has drifted apart over time. So we're taking this opportunity to rationalize the substrate which is great news for you developers independent of this technology because it makes it easier for you to write portable code,” the company said.
Within this model, UIKit isn’t replacing AppKit; it is supplementing it.
Think of it like Simulator on steroids with much deeper integration. At WWDC 2018, Apple promised that when run on a Mac, both user interface kits will support things such as:
- Trackpad and mouse input
- App window stoplights
- Window resizing
- Scroll bars
- Copy & paste
- Drag & drop
Initial responses to Apple’s own Marzipan apps were a little muted. I don’t think the critics have that quite right, however, as these apps were first fruit on a project that’s not set to see the light of day until this year.
Apple learns from criticism, so I fully expect the next generation of Marzipan apps (and the first generation of iOS/Mac Marzipan apps built by developers outside of Apple) to be much more Mac-like in their design and behavior. This is a long-term project, and implementation will improve rapidly. Even now, Apple continues to enhance the interface elements it supports, which basically means the next iteration of its existing Marzipan apps will improve.
For the enterprise
I think it’s unlikely that every iOS app developer will rush to tweak their apps to run on Macs. In many (not all) cases, iOS apps fulfil needs that are either already met by the default macOS,or that aren’t relevant to the needs of a Mac user. Many developers already offer apps for both platforms, also.
Where I do think we’ll see Marzipan used is across the enterprise.
The opportunity to create internal proprietary apps for both platforms will be tempting to many — just look at the hundreds of thousands of Macs and iPhones in use at IBM, for example.
This moves beyond that, of course. Many enterprises offer their own branded iOS apps in order to create digital connections with customers, and it is quite reasonable to think they will be motivated to extend that invitation to customers on the Mac platform.
I’ll also be interested to see how productivity app developers react. While many of these apps (e.g. Trello or Slack) are already highly effective within Safari on a Mac, might there be room to introduce apps too?
What about developers?
As Apple deployment grows across the enterprise, it is becoming increasingly likely enterprises will want to build software that runs on iPhones, iPads, and Macs.
This was a challenge before, as it was necessary to build for both iOS and Mac platforms separately, driving up costs.
Marzipan makes this much cheaper by making it easy to develop for both Apple platforms simultaneously. In part, this is because Apple has created automate frameworks that will cleverly change UI elements to work on the relevant platform, so developers don’t need to do that work themselves.
Here are some of the developer features Apple has confirmed so far:
- Many aspects of developing for iOS and Mac will be automated.
- In Xcode, developers will be able to choose to build an app for both platforms. Xcode will then replace some parts of the interface with the appropriate UI for the other platform. An app that requires a long press on iPhone will demand a keyboard-based equivalent on the Mac.
- While it will be possible to use Xcode’s built-in tools to quickly create apps for both platforms, the best apps will still require a little more work to fully exploit the potential of both platforms. Apple’s News app on a Mac shows a slightly more evolved UI than it does on iOS, for example.
- Speaking to Wired, Apple confirmed that developers may have to tweak the code for some app elements to optimize them for both platforms, menus, and sidebars in apps, for example.
- It’s not yet clear how distribution will work. Will a developer be able to sell the Mac equivalent of its iOS apps outside the App Store? This may be less of a problem for enterprise developers who will share their software using the Apple Developer Enterprise Program.
No, this isn't an iOS/macOS merger.
What will happen next?
The speculation that never dies is that Apple may one day port its Macs to its own ARM-based A-series processors. Marzipan doesn’t mean this is going to happen, but it does show that it is possible to run iOS apps on Intel chips. And the number of professional apps that do not run on iOS is shrinking rapidly.
In other words, if Apple were to choose to move to ARM for Mac, it would have a large number of compatible apps ready to go along for the ride.
I anticipate that Marzipan will improve rapidly until we find it is driving most available Mac apps. And it is nice to imagine an external mouse working with an iPad Pro.
Apple is certain to give us a much deeper look at its work with the technology at WWDC 2019. “We are continuing to develop this technology and we are working to fully vet it before making it available to you and your applications which we are planning to do next year,” Apple confirmed during its State of the Union address at its developer event last year. Watch this space.
Further reading
While pulling this article together, I encountered the following highly informative reports that developers hoping to get a little familiar with Marzipan may want to take a look at while we wait for Apple to explain some of the key concepts at WWDC 2019 in June:
- Porting iOS apps to the Mac, Pspdfkit.com
- A hacked conversion tool, marzipanify
- Hacking Marzipan, presentation slides
- A quick look at UIKit on macOS, kirb.me
Developers, please let me know what you plan to do with Marzipan once it ships.
Please follow me on Twitter, and join me in the AppleHolic’s bar & grill and Apple Discussions groups on MeWe.