If you’re old like me, you might remember back when Apple dropped the bombshell that the next generation of Macs would come equipped with *gasp* Intel processors. For the decade leading up to this transition, Macs had been built around the PowerPC CPUs, but as Steve Jobs explained in the 2005 WWDC keynote, they saw the future in Intel’s power-conserving chips. Although this had been rumoured leading up to the event, I don’t know that anyone outside of Apple was really prepared for the next part of the presentation. For the last five years, Jobs explained, all versions of Mac OS X had been compiled for PowerPC_ and Intel_. Just in case.
Early June’s WWDC 2018 announcement that in the future Macs will be able to run iOS apps felt like a very similar reveal. After mentioning some new apps coming to macOS this year (Stocks, News, Voice Memos and Home), they dropped a similar bombshell: these new apps were essentially ported versions of their iOS counterparts.
Apple has long spoken out about the purported customer desire for a merging of macOS and iOS. I believe this is because of the growing speculation about the future of the Mac. Over the past few years, we have seen iOS grow from a prototype that barely worked during its stage reveal, to a perfect combination of hardware and software that outperforms some pro-level Macs. This year, Apple even made a slide addressing this question: No. No, we’re not merging macOs and iOS. No!
Over the last decade, while we’ve seen the massive rise of the iPhone and the iOS App Store, the Mac has somewhat languished. The iOS App Store now claims over 2 million apps, while the Mac App Store purportedly carries a mere 30,000. Even if you account for the race to the bottom and potentially thousands of clone apps, as well as the fact that Mac apps are not required to appear on the Mac App Store, there’s still a huge gap between the iOS and Mac development community.
But numbers aren’t everything. The Mac App Store has managed to retain a comparatively higher purchase price than the iOS App Store, and in general there seems to be a consensus that apps in the Mac App Store are of a higher quality than those of the iOS App Store.
So while we’ve watched the iOS app community soar, what has kept the Mac from breaking through in the same way? Is it simply the smaller market the Mac holds, even today? Maybe it’s the advent of decent web-based applications (like Google’s G-Suite). Does it simply come down to longer production times with dated developer tools? Or maybe the Sandbox restrictions placed on the Mac App Store on a platform that, unlike iO, has traditionally been unrestricted?
When Craig Federighi stood on stage and said No, he was really saying not really. Not yet.
A lot of the community demand for some kind of hybrid Mac/iOS device has basically been directed as either a touchscreen Mac or an iPad with a keyboard and trackpad. As a heavy iPad user, I can kind of get behind the idea of an integrated keyboard/trackpad and cursor system for the iPad, if only to alleviate my gorilla-shoulder. But I can also understand why they wouldn’t want to go in that direction. The idea of a touch screen Mac has always sounded awful to me. Unless the operating system has been built with a touch interface in mind from the get-go, the experience always feels a bit crummy – if you’ve ever used a self-service kiosk at an airport or train station you probably know what I’m talking about.
Apple’s solution is purely in software. By making it easier to write Mac apps, and easier still to port your existing iOS apps to Mac, they may be able to rejuvenate the Mac platform. Soon, anyway. It’s important to note that this implementation is being called a “sneak peek”. Only Apple can submit these apps currently, with wider developer access expected in 2019.
The project codenamed Marzipan has been rumored since at least late 2017, though its actual revealed state is not quite what people were expecting: it’s not an iOS emulator. What Apple are actually proposing is allowing developers to implement UIKit (the modernised development framework that was developed alongside Cocoa Touch/iOS) instead of Appkit (the framework that dates back to the macOS precursor NeXT). In allowing the Mac access to the UIKit framework, the Mac can now sit alongside all the other variants of iOS – iPhone, iPad, Apple TV.
So while Apple’s statement is technically correct, they’re not merging iOS and the Mac, I believe this is the first step towards a unified operating system (though I will concede that this new OS is unlikely to be either macOS or iOS, but rather the next generation of both). And at this stage, it doesn’t really matter. They’re all just small incremental changes over time.
What does this mean for App Development?
I can see a lot of people getting excited about opening up their apps to a potential new revenue stream. Being able to port your existing app to Mac is a good opportunity to branch out and expand your service. But should you do it? And what limitations should you be aware of?
Out of the box, apps that use tab navigation will automatically gain a native macOS nav bar with segmented controller. iOS Share Sheets will open the standard macOS share dropdown/popover, and 3D touch buttons can be enacted via double-click. All common iOS actions or gestures will have a default handling on the macOS port, though a few things appear to be a little buggy right now. This is beta software, after all.
All of this is to say, for the most part, the tech is ready. We’re likely at least a year away from third party developer access, and the tech will only get better between now and then. But to paraphrase the immutable Dr Ian Malcolm, before you consider if you can, perhaps you should consider if you should.
What kinds of apps best lend themselves to the Mac environment? I think games makes perfect sense – the Mac gaming community is still quite limited, and the popularity of iOS gaming is undeniable. Although many iOS games make it across to the Mac app store already, making that process a little easier for developers can’t hurt. But further than that, I can see some real bonuses coming in the form of simplified experiences.
I’m very excited by what this technology will bring to services whose desktop environments are entirely web based.
The first thing that jumps into my mind is banking. As it stands currently, I will go out of my way to avoid using my bank’s website. As far as I’m concerned, banking is an app. A simple banking app — or even a widget in the Notification Centre Today view — would be heaven sent.
Another big one, at least for me, are video services like Netflix. Their iPhone and iPad apps are leaps better than their web experience. If their teams are now able to maintain one codebase and support the Mac natively, I think we’ll see a marked improvement to the quality of the user experience.
A different point of frustration for me is the new trend of Electron apps – essentially web based apps running in a native wrapper. If you’ve used the Slack app on Mac, you know what I mean. It’s slow, can’t do anything at all without a connection, it’s a huge memory hog over time and, it just feels… wrong. (N.b – it remains to be seen if Marzipan apps feel right.)
Perhaps, too, we’ll see some new life in apps that have otherwise been abandoned. While the Twitter iOS app is updated often, the Mac app was literal years behind, and was eventually shut down entirely a few months ago. If we remove the difficulty of maintaining multiple codebases, can we keep the Mac on the same development cycle as iOS?
In designing for the iPhone, we’ve learned over time that simplicity is key. But instead of assuming we do this because of limited display space, perhaps we should be embracing this even on the relatively large screen of the Mac. For all of the limitations of iOS (which is quickly diminishing with each release), you cannot deny that it hasn’t become the new expected standard for applications, both in terms of services provided and simplicity, thought, speed and interaction. Bringing this standard back to the Mac can only improve the ecosystem.
It’s interesting too to note that in creating this solution, Apple have not swayed from their position of two distinct platforms – touch screen mobile and pointer desktop – and have instead just made it a little easier for them to co-exist.
Of course, all of these things are technically achievable right now, but without the demand of the market and the potential large development overhead, I understand that it’s not always possible. Hopefully ‘Marzipan’ proves to be a viable solution – both to re-invigorate development on the Mac and to get people thinking about good user experiences.
I think those of us who love the Mac and any product owners or development teams that feel they’ve been forced into a second-rate experience on the Mac, have a lot to look forward to here.
If you’d like to see what developers have been tinkering with already, Steven Troughton-Smith is sporadically posting his experiments on Twitter (and has even created a tool for converting iOS simulator apps to native Mac builds), along with Guilherme Rambo (who has spent some time converting his own apps, with some interesting insights).
Jack Walsh is a Visual Design Lead at Outware Mobile.