Four new Apple apps coming to MacOS Mojave later this year began their lives as iOS apps. And if Apple gets its way, that could be the beginning of a deluge of new software rejuvenating its personal computers.
At the company's Worldwide Developers Conference on Monday, Apple software engineering chief Craig Federighi unveiled technology that will make it easier for people who've written software for iPhones and iPads to bring those apps to Macs. It's only a peek for now, but Apple's four apps built with the technology -- News, Stocks, Voice Memos and Home -- will arrive later this year with MacOS 10.14 Mojave. And in 2019, Apple will bring the technology to outside developers, too.
The result could mean a massive infusion of new software. In the personal computer market, Macs are scarcer than machines powered by Microsoft Windows, and the rising use of Google's Chrome OS-powered Chromebooks isn't doing Apple any favors, either. Opening Macs up to the enormous number of iPhone and iPad software developers, though, could make Macs much richer.
"Looking at my [iPhone] home screen, I'd want most of those apps on MacOS," said David Barnard, founder of developer firm Contrast. And he might be one of the developers buying into Apple's plan with his own weather radar app, Weather Atlas. "We never would have considered building Weather Atlas for MacOS, but from what Craig [Federighi] displayed on stage, it seems it would be easy enough to be worth doing."
And in the long run, Apple's approach could make it easier to bring iOS and MacOS together. That's an idea the company dismissed on several occasions, most recently . Still, there's no denying that bringing the two foundations closer together paves the way.
But for now, Apple has more modest goals in mind.
"There are millions of iOS apps out there," Federighi said. "We think some of them would look great on the Mac."
Making Macs a better platform
Attracting developers is job one for any company making a "platform" -- any sort of foundation for higher-level computing. That's why Amazon touts robot vacuums that can be controlled through its Alexa-powered smart speakers, why Microsoft is willing to spend $7.5 billion to buy developer site GitHub, and why Google and Apple want to spread their phone technology everywhere from cars to TVs.
That's because developers enrich a platform, making it more appealing to people using it by offering them more ways to get work done, stay in touch and entertain themselves. A platform with more users attracts more developers, spinning up a virtuous cycle of growth. It's worked well for iPhones, but Apple isn't in that position of strength with the Mac today.
"The number of Mac apps is, if not trending in the wrong direction, certainly not growing in any meaningful way; there simply aren't enough users to entice developers," said Stratechery analyst Ben Thompson. "That means Apple's approach has to be very different from iOS: instead of dictating terms to developers, Apple announced that it is in the middle of a multi-year project to make it easier to port iOS apps to the Mac. This is, in a fashion, Apple paying for Mac apps."
It's worth it, said James Thompson, writer of the PCalc calculator software available today for both iOS and MacOS.
"I think it sounds excellent," Thompson said. "PCalc 4 on Mac is a port of the iOS version, with Mac stuff added. I will probably switch to using this technology in future to make my life a lot easier."
How to get an iOS app onto a Mac: UIKit
To understand how Apple is making this happen, you have to know just a little about how programming works for Macs, iPads and iPhones. Apple supplies "frameworks" -- lower-level tools that developers can use to build their apps. Frameworks handle the grunt work of everything from monitoring taps on a touchscreen to sending 3D graphics to a laptop.
Many of these frameworks are shared across iOS and MacOS. But two core frameworks that handle user-interface elements are different: AppKit for making MacOS software and UIKit for making iOS software. What Apple announced Monday is a plan to bring UIKit to MacOS.
That'll mean programmers used to generating software for iOS devices will now be able to generate a version of their apps for Macs, too. They'll get "all the typical Mac features," Apple told developers -- support for drag-and-drop actions, toolbars, window controls, notifications, window resizing, sharing controls and the red-yellow-green window controls.
Using a technology called event mapping, Apple's tools will automatically translate some interactions. A tap on an iPad app turns into a mouse click on the Mac version, and one-finger panning on an iPhone turns into two-finger scrolling on a Mac trackpad.
But not everything is easy or automatic, Federighi told Wired. Extra programming will be needed for things like menus and sidebars that aren't standard fare on iOS, he said. He believes the UIKit approach is still powerful enough to turn iOS software like the Fortnite game or the Yelp and DirecTV apps toward Macs.
Is Apple's AppKit dead? No
So if programmers can build Mac apps with UIKit, does this mean AppKit is dead? No, according to Apple's message to developers at WWDC: "AppKit is our primary framework and it takes full advantage of all the Mac has to offer. And in no way are we de-emphasizing that."
Not everyone is sold on the approach. Apple co-founder and former Chief Executive Steve Jobs himself warned of the pitfalls of cross-platform software development tools, which he said can lead to "lowest common denominator" designs. It seems unlikely that Apple developer tools won't support its own device and operating system features, but there is a risk developers could try to compromise on a one-size-fits-all approach instead of specializing to match a device's best features.
"Designing software that supports an inconsistent hodge-podge of input devices is much harder than designing software that uses one single, consistent arrangement," tweeted Bob Burrough, a former Apple iOS software manager and now developer at 3D printer company Blit It.
And several developers fretted that UIKit on the Mac will open the door to countless crappy or needless Mac apps. "I do think this will lead to lots of apps that don't really belong on MacOS," Barnard said.
But there are other risks for Apple, too -- like not having enough software on Macs. And some believe Apple's approach could also bring some serious apps to iPhones and iPads.
"If I could write a UIKit app primarily for Mac and then trivially port it to iOS, that not only makes it more likely that I'll try to support iOS, but more likely that I'll write it in the first place," said Nick Lockwood, a developer at Schibsted Media Group. "I think the main potential here is ... about using UIKit to build Mac-centric productivity apps that also work on iPhone."
Merging Macs, iPhones and iPads?
Bringing UIKit to Macs isn't the only effort to make iOS and MacOS closer. Some lower-level frameworks, while available on both MacOS and iOS, have drifted apart. Apple is bringing them back together, though.
"We're taking this opportunity to rationalize this substrate, which is great news for you developers because it makes it easier for you to write portable code," Apple said -- in other words, software that works on either iOS or MacOS.
Apple has been adamant that its touchscreen devices -- iPhones and iPads -- are separate from their keyboard-driven Macs. Reaching up to a touchscreen is awkward and tiring, top designer Jony Ive believes.
And yet the company offers keyboards for its iPads and shows ads boasting that iPads are peers to traditional personal computers. And there are persistent rumors that Apple's own energy-efficient Arm-based processor designs could power future Macs.
The work to move UIKit to Mac -- a project Apple code-named Marzipan, according to the Bloomberg scoop that first brought it to light last year -- certainly has some developers wondering about the long-term convergence possibility.
"If virtually all the apps installed on your Mac end up being Marzipan/UIKit apps... whither touchscreen Macs?" asked developer Steve Troughton-Smith on Twitter, after speculating that UIKit could eventually replace AppKit. And there are other signs of further convergence that could emerge in 2019, he added: "We've heard rumors that iOS 13 itself may support multiple & tabbed windows per app, so I imagine the route to multiple windows on MacOS is through UIKit," he said.
Troughton-Smith is well informed about the deeper machinations of Apple developer tools. He's already managed to port his own iOS software, Grace App, to MacOS, even though the UIKit isn't officially available yet to developers.
PCalc developer Thompson doesn't know what the long-term plan is. "As for a merger, I am quite curious -- I get the impression that big things are in the works, but we'll see," he said.
Not everyone is convinced a merger makes sense. A unified operating system would let developers write a single app and run it everywhere. But other than that, the "attraction of a single OS eludes me," RedMonk analyst Stephen O'Grady said. "Laptops and phones/tablets are different devices with very different input paradigms and capabilities, so having a one-size-fits-all OS seems like a stretch."
For now, that's all speculation, though. What we've got at this stage is a plan to inject new software onto Macs.
"Pretty much every app on my iPhone would probably make decent MacOS app, if for no other reason than it's likely a better experience than the company's web experience," said Content developer Barnard. "I think it's fantastic."
First published June 6, 5 a.m. PT.
Update, 9:45 a.m. PT: Adds further comment from Stephen O'Grady and James Thompson.
iHate: CNET looks at how intolerance is taking over the internet.
Life, Disrupted: In Europe, millions of refugees are still searching for a safe place to settle. Tech should be part of the solution. But is it?
reading•How Apple sees iOS apps bringing new life to Macs
Sep 18•iOS 12: Do Not Disturb and Notifications get major overhauls
Sep 17•iOS 12: What to know about Siri's new Shortcuts feature
Sep 17•How to use iOS 12's fun new Memoji feature
Sep 17•iOS 12: Getting to know Screen Time and stronger parental controls