On Marzipan

There's been some renewed discussion about Marzipan lately.

Everyone seems to agree the Mojave Marzipan apps (Home, News, Stocks, Voice Memos) are a disappointmentpretty low quality, do not feel Mac-like. The debate is whether this is a fixable problem with the 1st version of Marzipan, or the canary in the coal mine pointing to a fundamentally flawed approach that threatens to undermine macOS as a platform.

We probably won't settle that debate before WWDC. But here's my pov as a user.

For context: between me, my wife & the kids, our family uses 3 iPhones, 2 iPads (1 with a keyboard), a MacBook Air, an iMac, an AppleTV, and a Watch. We live most of our "digital life" on these devices. We don't exclusively use 1 device for 1 task - e.g. whether I want to use the iMac or the iPad to do writing depends on whether I'm at home or on the go. If the wife gets the MacBook first, I'll use the iPad and vice-versa. That's the hardware. What does our app landscape look like?

Our bank (Belfius) has a native app for iOS but on macOS it's web only. Our TV provider (Telenet) has a native app for iPad and iPhone, nothing on tvOS or the Mac. We've got Netflix on the iOS and tvOS devices but not on the Mac. Our supermarket (Colruyt) has a pretty good order-and-pickup app (Collect&Go) that exists on iOS but not macOS. We order photobooks from Albelli, which has a pretty good app on iOS and another one on macOS, but which are not compatible enough to edit the same photobook on both platforms. We edit RAW photos in Darkroom, which recently got an iPad app (finally!) but doesn't exist on macOS. I do some writing in Evernote, which syncs across all devices, but considers its universal nature to be such a unique value proposition that working on all devices is a premium feature.

Honestly, our digital life in 2018 is a fragmented mess, and macOS usually the one that's left out. No matter anyone's feelings of how things "should be", the reality that we're living in is that the Mac which Steve Jobs once positioned as the digital hub at the center of our digital life, and later downgraded to just another device, is now effectively left out of the equation altogether. In spite of Apple's best efforts with Continuity and Handoff, the Mac has become an island. Some of Apple's own apps are keeping up (Photos, Notes), but others are failing or delayed (Health, Activity, ...). Confronted with the same cost / benefit choices as its developers, Apple seems to be making the same choices.

It's in this fragmented landscape that Marzipan steps on the stage.

The reward of fixing this platform fragmentation is pretty big, as I wrote before Marzipan was announced. Not only would Mac users get to benefit more from advancements on the iOS side, but seeing the Mac influences on UIKit flow back into iOS to further develop the iPad Pro as a professional work tool is promising as well. It would also strengthen the iPhone's "halo effect" to the Mac, by providing a clearer upgrade path iPad users to the Mac as a tool that offers a strict superset of what they can do with the iPad, rather than just a different environment where they have to re-learn many things from scratch.

There's five recurring arguments that I hear against Marzipan, or against what people are assuming Marzipan will be.

First, the "there is no problem" stance. I see people saying that the limited app catalog on macOS is fine because they are all high-quality apps and quality beats quantity. This is putting your head in the sand. MacOS may be fine for professional workflows, but in general it is drifting further away from our digital lives and the gap is widening. Something needs to happen to break the downward spiral that the Mac app ecosystem has been in for the last 5 years.

Second, and related, the "blame the devs" stance. This acknowledge that the Mac isn't in a good place, but says that the problem isn't the wide gap between AppKit and UIKit, but that these young iOS devs are simply making the wrong decisions. They should to learn AppKit, which isn't quite so complicated once you understand it, and if only they would give it a go they would realise that everything is fine. Often, this is mixed in with a touch of "Apple is giving a bad example with their own apps", assuming that Apple making better apps entices devs to do the same. This is of course ignoring that developers are continuously looking at the cost / benefit picture of these kinds of decisions, and it's not a few individual devs being lazy - they are collectively deciding not to bother with a native Mac app.

Some numbers to explain why they're not wrong: the iPhone active user base stands around 1 billion, iPad 300 million, Mac 100 million (80 million laptops, 20 million desktops). Getting a bigger share of those 1 billion iPhone users is higher on most devs' priority list than targeting those 100 million Mac users, who overwhelmingly are already customers on the iPhone or iPad in any case and probably wouldn't want to pay a 2nd time for the same app. The benefit is just too low, and there's not much Apple can do to increase the benefit side of the equation. So the only way for Apple to reduce the fragmentation of their platforms is to lower the effort.

Third, the "massive gap" argument, which acknowledges that the Mac is in trouble and the devs aren't too blame, but says that Marzipan is the wrong solution. That says touch and pointer are just too different, with no common ground whatsoever. These arguments are typically comparing the user context of an iPhone user with a desktop user, which is indeed a pretty stark contrast. But the gap that Apple is trying to fix is between those iPad users and the Mac laptop users. Between these devices, the use cases are extremely close. Quoting Phil Schiller, "the uses overlap". Yet the technical gap is huge. Try using a MacBook Air and an iPad Pro w/ external keyboard side-by-side for an hour and tell me you don't feel there should be a better way?

My hope is that Apple will find a way to encapsulate much of what makes an AppKit app "Mac-like" and provide a macOS-specific implementation to many UIKit classes that will allow developers to provide a distinctly Mac-like experience while allowing them to re-use most of their code and only change where it's absolutely needed.

Fourth, the "better user experience" argument. This acknowledges that the gap isn't massive, but says that the Toolbox AppKit is still the only framework that can really give a Mac-like user experience. I want to point out that this argument hinges on a pretty narrow definition of "user experience". Having access to more of the same apps on iOS and macOS _is_ a big part of the user experience. I do not have stats on how many Mac users are also iPhone and iPad users, but it wouldn't surprise me if it was easily 80% or more. So even IF macOS apps written with UIKit would offer a worse UX compared to AppKit (which is a big IF until we've seen the final SDK), refusing UIKit apps entry to the Mac is making the perfect the enemy of the good by sacrificing a better cross-device user experience on the altar of platform-specific purity.

I also want to point out that by many people's implicit assumption that the default for Marzipan will be to take an iPad UI and put it in a Mac window may well turn out wrong. Apple has harped on the differences between touch and point interfaces for years, I can't believe they would now simply propose to slap your touch interfaces onto the Mac. Rather, I think Marzipan will allow, or even encourage, devs to target iOS and macOS separately. This is just like they can target iPhone and iPad separately today. I would assume that it's possible to recreate an existing AppKit app on UIKit with very little noticeable difference towards the user, if the developer chooses to do the effort. It's very unfortunate that Apple itself misstepped on their first shot at this by releasing 4 mediocre apps. I hope they will take the lessons learned and fix this by next year.

That's where the fifth and final argument comes in, the "lazy devs" arguments. This acknowledges that Marzipan could allow for some pretty good macOS apps if someone does the effort, but assumes that devs will be lazy. This argument says that because iOS devs who want to port to macOS today are going through more effort, this somehow by default results in a better user experience. They assume that the time devs gain by using Marzipan will not be used to improve the app, that instead they will simply slap a mouse onto a touch interface with a scaling factor and call it a day. The flood of low-quality apps will then presumably drown out the higher quality AppKit apps, making life harder for serious macOS devs. This is the equivalent of saying apps that offer scaled-up iPhone interfaces on the iPad drown out higher quality apps.

I don't believe this argument at all. Good quality will always float to the top, and users will vote with their wallets. Developers who choose to make low-quality Mac apps won't gain much revenue from it, and are better off not target the Mac at all. I also think that thinking about what "lazy devs" will do is besides the point - the question is whether Marzipan will help the good devs to write high quality software. For an iOS developer with an existing iPad app who wants to make a high quality Mac app, does Marzipan make that job easier by allowing a high quality Mac app based on UIKit, or is it easier to do that in AppKit? Some seem to think so.

All in all, I am optimistic on Marzipan. I think it tries to meet an important need, but I want to see the final SDK before we can judge whether or not it executes well on its promise. I hope that the Mojave apps will turn out to be a technical proof-of-concept, like Rhapsody DR1, rather than representative of the final look-and-feel. I hope Apple will take lessons learned from the feedback on the initial batch of apps to make the 2nd batch much more refined and Mac-like, and to distill a set of best practices to explain to devs how to get this right. I assume this 2nd batch will include the iTunes app being split into Music / Podcasts / TV, as well as some more missing apps such as Health, Activity. If they go full-blast on Marzipan they might even consider porting some existing cross-platform apps to it, such as Photos, Pages, Numbers, Keynote (or even Xcode? A man can dream). If they do that and get it right, I'm sure many people's concerns will evaporate and developers will follow the path that Apple is guiding for them.

We'll find out in a few months. Fingers crossed.

Comments

Popular posts from this blog

Maybe 2018 will be the year UIKit replaces AppKit on the Mac

The path for technology for the next decade? Here's 5 guesses.

Why losing some customers may be good for the Mac