Wednesday, December 20, 2017 [Tweets] [Favorites]

Apple Rumored to Combine iPhone, iPad, and Mac Apps to Create One User Experience

Mark Gurman (Hacker News, MacRumors):

Starting as early as next year, software developers will be able to design a single application that works with a touchscreen or mouse and trackpad depending on whether it’s running on the iPhone and iPad operating system or on Mac hardware, according to people familiar with the matter.

Developers currently must design two different apps -- one for iOS, the operating system of Apple’s mobile devices, and one for macOS, the system that runs Macs. That’s a lot more work. What’s more, Apple customers have long complained that some Mac apps get short shrift. For example, while the iPhone and iPad Twitter app is regularly updated with the social network’s latest features, the Mac version hasn’t been refreshed recently and is widely considered substandard. With a single app for all machines, Mac, iPad and iPhone users will get new features and updates at the same time.

Apple currently plans to begin rolling out the change as part of next fall’s major iOS and macOS updates, said the people, who requested anonymity to discuss an internal matter. The secret project, codenamed “Marzipan,” is one of the tentpole additions for next year’s Apple software road map.

This has long seemed like an obvious thing for Apple to do, but I’m not sure it’s good for the Mac platform. The upside is that we’ll get lots of ports of iOS apps where previously there was no Mac app or only a poor quality Web-based one. The downside is that I don’t want to be using lowest common denominator iOS ports. I like using a Mac because of the apps that really take advantage of what the desktop has to offer. I’m continually annoyed by the apps that essentially put an iOS-style interface in a window and don’t support standard Mac conventions or features. I also worry that bifurcating the platform with UXKit and AppKit apps will inevitably mean that Apple will focus less on enhancing AppKit, while at the same time doubling the surface area for bugs. Having two classes of Mac apps would not be good, but AppKit going the way of Carbon would be even worse.

Steve Troughton-Smith:

macOS 10.14 Toasterfridge

To quote from my piece, with a unified app platform between iOS and macOS, iPad apps would have a migration path to the desktop, and legacy desktop apps to iPad — both platforms could evolve & grow as one, and not one at the expense of the other.

Opening the macOS floodgates to iOS developers is going to be a huge shot in the arm (unintentional pun); it could make a big difference to Apple’s inability to give macOS the development attention iOS gets. We know they need this! Photos on the Mac is a UIKit port using UXKit!

Marco Arment:

If there’s any truth to this, it’s going to make a lot of Mac developers pretty mad (and depends a lot on implementation details), but I’m definitely in favor of it and pretty excited for the potential.

Mike Rundle:

Whoa. Looks like “native Mac apps” that are thin wrappers around websites will be dying soon if we can just run the iOS version native on our Macs. Huge ramifications for this.

Jeff Johnson:

Developers say, “Yay, now we get Mac for free!” But the reality is customers are saying the exact same thing.

Update (2017-12-20): Michael Love:

Also, the release of this story compels Apple to either a) unequivocally deny it or b) work like hell to get it ready for next summer; who’s going to invest any more time in a Mac app with this waiting in the wings?

Heck, it even makes me a bit reluctant to buy macOS software with it unclear whether that will be abandoned + replaced by iOS ports under this new regime.

Paul Thurrott:

Today, Apple invented UWP apps. Psyched!

Jeff Johnson:

There seems to be a big cultural divide between iOS developers who came from the Mac and iOS developers who didn’t. Many in the latter group are ok with destroying the Mac, and that’s very frustrating to me.

Alasdair Allan:

I do worry that in the transition to ‘universal’ apps we’ll loose functionality that currently exists on the Mac side. The infamous example of Apple’s own Keynote app, where the Mac app lost a bunch of functionality to harmonise it with the iOS version, seems like a warning shot.

Jeff Johnson:

The irony is that Mac sales are as high as ever, despite lagging hardware updates. People like the Mac and are buying Macs. It’s not in any sense an endangered or dying platform. It’s wildly successful.

The Mac App Store is suffering, yes. The best Mac apps have left the store, or were never in the store in the first place. That’s a problem with the store, not a problem with the Mac.

Max Seelemann:

I fear radical degradation of macOS’ usability. But maybe also a chance to kill f***ing Electron apps.

Update (2017-12-22): Gus Mueller:

There’s an easy solution for updating the Mac version of Twitter to have the same features as its iOS peers. Twitter has to care enough to update it. That’s it. It’s not as if there needs to be massive engineering efforts put behind it. It’s not as if the road hasn’t already been explored and the server APIs already exposed (which they must have done for the iOS version). They just need to put some effort and care to it. Tweetie for the Mac, which Twitter for the Mac is based on, was built from the ground up by a single person. All Twitter had to to was maintain it. And Twitter, Inc. couldn’t be bothered.

And we see the same behavior from other vendors happening on the iPad where a shared framework already exists (Instagram being the prime example).

Craig Hockenberry:

What if this is all about getting iPhone-only apps to run at iPad (and, by the way, Mac) screen sizes?

The technology to create Universal apps has been around for many years now, yet there’s still a surprising lack of adoption.

You can literally flip a switch and make it “work”.

It’s a lot of work to make your app design & layout work on a wide variety of screen sizes. Adding macOS to this situation isn’t going to make less work.

I speak with a bit of experience here: we built a macOS app with a UIKit framework developed by @BigZaphod.

Even with familiar classes and frameworks, it wasn’t easy to make a macOS app from an iOS source base.

Our second attempt, which used separate UI presentation layers for macOS and iOS, but with and a common data model, was actually simpler to implement and resulted in a better app.

Brian Webster:

I could imagine a system that might work somewhat like the Carbon/Cocoa integration that Apple provided in the early OS X days, where you could do things like embed a Carbon view in a Cocoa view, mix Carbon and Cocoa windows in the same app, and so forth. There would still be some work to do for iOS devs to make their apps work well on the Mac, but I think this might be a good middle ground similar to Carbon, where 80% of the work is already done for you, and you’d just need to handle the extra hooks in order to have your iOS components behave inside a Mac environment.

Colin Cornaby:

What if it’s not a layer on top of AppKit and UIKit, but a layer underneath?

Classes like NSImage and UIImage could be refactored to have a common ancestor, maybe just named Image. When you create an Image you get the platform specific version under the hood, but you can ignore that and work with Image’s shared cross platform functions. When you need something only currently available on the Mac, like image representations, you just downcast your image to an NSImage, and you have all your AppKit functionality back.

Pierre Lebeaupin:

[The] Bloomberg article completely downplays the prerequisites, on the desktop side, of an unified OS.

Rui Carmo:

Even though this makes sense, I have [a] strong feeling it will result in the dumbing down of the macOS user experience to a degree where it will be untenable to use for serious purposes.

Stephen Hackett:

It may look like this is the downfall of the Mac as a platform, but in reality, this may be a life raft into the modern era. It’ll take years to discover which is true, but if it means a Mac ecosystem with more options when it comes to good apps, that’s a win.

Riccardo Mori:

So, Apple keeps stressing the user interface differences between Mac OS and iOS hardware, and the next step could be ‘universal’ apps!? You can see this is a bad idea from miles away. The last thing Mac OS needs are dumbed-down iOS-ported apps.

Daniel Rubino:

Microsoft’s UWP will be hitting the three-year mark in late 2018, right around when Apple’s first attempt at app unification may debut.

[…]

These tools combined make Windows 10 an OS that can live anywhere, on any device, with any screen size, running any processor. With UWP, the apps can run on all those devices with only minor changes. […] Apple has some of this with shared components between iOS and macOS, but its app story is very far behind. Apple has not – to our knowledge – taken any steps to unify its UI across macOS and iOS.

See also: Under the Radar, Matt Birchler, Ben Lovejoy, Dave Verwer.

Update (2017-12-23): John Gruber (tweet):

“One user experience” is neither possible nor desirable. The truth is that this effort by Apple is almost certainly not about cross-platform applications but instead cross-platform frameworks for developers. It’s developer news, not user news.

[…]

There is a lot of work involved getting an iPhone app to work well on an iPad. That’s why you still see iPhone-only apps. Even with good new cross-platform Mac/iOS frameworks, there would be way more work involved to bring an iPhone app to Mac than there is to bring to iPad.

[…]

Caring is ultimately what makes true Mac apps Mac apps. Caring about the details, caring about the Mac way of doing things. No amount of shared frameworks between MacOS and iOS can make iOS developers care about doing things properly on the Mac.

[…]

My concern with this whole situation is that even if this is all true — if Apple is indeed working on creating cross-platform UIKit-like frameworks for iOS and MacOS, and that the existence of such frameworks would spur more developers and companies to create Mac apps — it wouldn’t to the creation of good Mac apps.

Even Apple, much to my concern, has fallen short in this regard. Photos for Mac is one of the worst Mac apps I use. […] It’s as though Photos for Mac was created by iOS developers who saw a Mac one time and said, “Sure, we can do that.”

I take the details of the Marzipan story with a grain of salt, considering that Gurman also told us that Swift would be ABI stable for version 2.

Update (2017-12-28): See also: Accidental Tech Podcast on some of the problems with Photos, which is probably the best of Apple’s ported iOS apps.

Daniel Rubino:

UWP is not a "write once, deploy everywhere" model, though in some ways it can be used as such. Nor is it only about phones, which apparently are on the sideline now for Microsoft. UWP is about building a next-generation app platform that can quickly adapt to new hardware paradigms, whether it is Windows Mixed Reality, traditional PCs, tablets, mobile devices, or your living room.

Joe Cieplinski:

No doubt about it. Thousands of previously iOS-only apps will end up on the Mac barely altered with bad UI on day one. […] Here’s the thing: People who care about good software will find the good stuff. People who care to make good software will make the good stuff. There aren’t many people in either group. And there never will be.

[…]

There are some apps, however, built with universal storyboards that take full advantage of iPad. The problem here isn’t the tool, but rather the people using the tool. The same will be true for Marzipan apps.

[…]

I suspect more developers will go the non-universal route this time around. And given this is not a simple matter of screen size, as it was on the iPad, a port of an iOS app to the Mac, even using Marzipan, is going to take quite a bit of time. It will be a while, in other words, before the pressure from other developers gets extreme to start selling your existing app as universal.

[…]

It stands to reason that after Marzipan gets released into the wild, both UIKit and AppKit will be on “borrowed time.” Just as Cocoa replaced Carbon, eventually Apple will very likely want all apps to be written using Marzipan.

[…]

If Apple only has to maintain one framework for adding new features to iOS and macOS, it’s less likely to leave the Mac out of new APIs. That means no longer waiting a year or more to get the same interesting cool new features we see on iOS.

See also: Accidental Tech Podcast.

Update (2018-01-01): Todd Ditchendorf:

Languages: same (Swift/ObjC)
IDE: same (Xcode)
Standard lib: same (Foundation)
User Interface lib: extremely similar (UIKit vs AppKit)

It’s not clear to me that a write-once-run-anywhere toolkit across iOS (touch) & Mac (WIMP) more unified than this is actually desirable.

20 Comments

I have a bad feeling about this.

Bad feeling indeed

I have been considering dropping OS X (sorry, macOS) for several years now. This move will absolutely make me drop this operating system like a hot potato.

"Photos on the Mac is a UIKit port using UXKit!"

Considering that we lost Aperture for that, this isn't exactly good news.

I wonder if this story might be slightly mis-reported, and that they will simply be providing unified frameworks that will allow substantially easier cross-platform development. This would be welcome, but it would look different than a single, cross-platform app.

"I wonder if this story might be slightly mis-reported, and that they will simply be providing unified frameworks that will allow substantially easier cross-platform development. This would be welcome"

Even if this were to be true, and it seems like it's not true, I certainly don't think it'd be welcome. It'd have a very similar result of killing Mac-oriented apps.

I hate the idea, even if this is coming from Apple will will likely be better then everything we have seen in the past.

I have a very very bad feeling about this.

Stupid question: have Universal iOS apps become a thing?

Because from what I've seen, in the majority of cases, there is an app for iPhone and another one for iPad.

Also, it would be strange to launch new SDKs (full of bugs in 1.0 as usual) when what people are expecting is apparently for bugs to be fixed in the current ones.

I have a bad feeling about this too. :(

I guess with Apple pushing Swift so hard, it's just a matter of time before Foundation, AppKit, and UIKit are all killed. This new thing will probably be Swift-only and replace them all.

When iOS forked off OS X, it made sense that Foundation was shared. It made less sense that thing like NSColor and UIColor were not shared. Unifying things like that makes sense. But unifying too much will be a disaster for the Mac.

Fingers crossed.

someone,
Yes, universal iOS apps are a thing. Even though I haven't used iOS for a few years now, they definitely existed. The good apps simply took better use of the bigger screen via their existing design. Something like the iCab browser for instance. https://itunes.apple.com/us/app/icab-mobile-web-browser/id308111628?mt=8

Whereas some apps were just small apps that floated in the screen or could be zoomed to full screen, iCab mobile has operated for sometime now as a full featured app optimized for all supported iOS devices.

As an aside, I really miss iCab. I used it on everything from 68k Performas and PowerBooks, PowerPC Macs running classic Mac OS, both PowerPC and Intel Macs running OS X, to iPod touches, iPads, and iPhones. It was pretty swell. Paid user even on the Mac side....

[…] For a comprehensive discussion of this, head over to the excellent MJTsai’s blog. […]

Unifying the two platforms would be a great idea - if iOS apps in general weren't so stunted, and iOS (as an operation system) wasn't so underpowered, compared to macOS.

[…] Given the level of progress over the last 3.5 or so years, it seems like WKWebView is the future, and too bad for you if you need more features. Maybe you can hack some of them together using JavaScript. With Apple no longer dogfooding WebView, how much longer will it be supported? This is the sort of thing that worries me about iOS APIs coming to the Mac. […]

I use Windows 10, macOS and iOS daily. It's not new for Windows to flail wildly from one look to another from version to version (Windows 95, 98, Me, XP and Vista could have told you that), but they broke it with the one-two of first inventing a tablet OS with Windows 8 and Metro, and then retro-fitting it as the desktop UI with UWP. Microsoft are not interested in making desktop apps feel or behave like much of anything anymore - they think a hamburger menu means as much to people in general as menus and buttons. I don't think people can't figure hamburger menus out, but they're tools invented to make a mobile experience palatable and navigable, and retrofit to a platform where you *could* have more sophistication.

It's not that UWP apps couldn't be great. It's that they would need to flex an enormous amount for them to feel native and well-considered on both a phone, a tablet, a laptop with a 12" screen and a desktop with a 23" screen. That's what puts the sinking feeling in my stomach. I don't mind someone sticking a touch substrate on a MacBook Pro and spreading the touch targets slightly more apart, but that's not what we're getting. We'll be getting at most a least-common-denominator and at worst a world of apps that feel at home with fingers on a 5" screen but not with keyboard and mouse on a 15" screen. The iPad and iPhone is just about as far as you can stretch generality of user interface - possibly allowing for some sort of meeting room 65" iPad whiteboard model. But beyond this you might as well chuck the physical keyboard and trackpad.

"Microsoft are not interested in making desktop apps feel or behave like much of anything anymore - they think a hamburger menu means as much to people in general as menus and buttons."

In a sad way, Microsoft's decisions enable Apple to move in this direction. Cupertino has no reason to fear that desktop OS users would flee to Windows if they seriously degrade the Mac user experience.

I'd been keeping a eye on Windows as a possible switcher OS since Lion signaled to me that Apple didn't really care about the Mac going forward, but I gave up a year or two ago.

Without competition, why shouldn't Apple save a few bucks on development costs?

Chucky,
I don't have any real fondness for Windows 10, but it's not the worst system either. With a little tweaking it could be really good.

I tend to stick to Linux distros based on Ubuntu and Arch, but my Surface Pro 3 works well enough on Windows. I think most regular people find Apple has plenty of competition.

"I don't have any real fondness for Windows 10, but it's not the worst system either."

My criteria isn't that I want an OS that isn't the worst OS in the world. If that were my criteria, I wouldn't find the direction of this Apple initiative troubling.

Chucky,
To be fair, I would describe OS X as likewise not the worst system, but there's many things I don't like about it either. Windows 10 runs on far more hardware than OS X and typically runs smoother in my experience. There's problems like sponsored app installs (complete bullshit frankly), Settings and Control Panel duplication, getting rid of the touch screen split keyboard (oddly enough login screen still has it....).

These things suck (no mitigating arguments, they are just stupid), but Windows is getting more first party Linux support everyday and that's awesome for someone like me who mostly uses Linux. My Surface Pro 3 is very manageable these days. My daughter loves it. She does a lot of art and she never even asked for an iPad Pro with "pencil". We owned an iPad, iPod touches, she had iPhone briefly (hand me down, I'm not crazy), but the only thing she wanted for art was the Surface Pro.

Stay up-to-date by subscribing to the Comments RSS Feed for this post.

Leave a Comment