
MacOS Marzipan - adrian_mrd
http://benjaminmayo.co.uk/marzipan
======
thought_alarm
Some people have been clamouring for a way to run iOS apps on an Mac for a
long time, and now here it is.

When Marzipan was first announced, Apple was very careful to temper people's
expectations. Marzipan is not about some grand new cross-platform development
framework. It's not about merging Mac and iOS. It's about allowing iOS
developers to port certain iOS apps to the Mac with as little friction as
possible.

And in that sense it's a complete success. Many 3rd-party apps can already run
inside of Marzipan with little or no code changes. That's a huge win.

There are some very obvious downsides. Most iOS apps are a poor fit on the
desktop and won't conform to the expected Mac desktop expectations. I suppose
Apple could have gone the Windows 8 route and put these iOS apps in a
completely separate environment, but we all know how that turned out on
Windows. At least these apps attempt to mesh with the regular desktop
environment.

Another downside is that it's a hack. These are pure iOS apps running inside
of an iOS simulator designed to look like a Mac app. These apps have no access
to the world outside of iOS.

If you're looking to make a great modern Mac app, Marzipan isn't for you. If
you're looking for an easier way to share UI code between your AppKit and
UIKit apps, Marzipan has nothing for you. If you have a relatively simple iOS
app that you think might be useful on a Mac, Marzipan is exactly what you've
been waiting for.

If you want a peek into what a grand new cross-platform development framework
might be, take a look at the JetEngine.framework embedded in the Mac App Store
app. It appears to be a separate UI framework that is neither AppKit nor
UIKit, but can run on top of either. However, it's full of App Store-specific
UI components and I would expect that it was developed only for internal use
at Apple.

~~~
arcticbull
App Store is an awful app experience, just like iTunes, because they both feel
like they're just rendering XML that comes down from a server instead of being
a real UI implementation. Everything's slow and laggy under the best of
internet connectivity circumstances, and once you leave the beaten path it's
just excruciating.

~~~
goplusplus
Ugh, its that bad on iOS. I never wish for people to have to go through the
process of changing their App Store country. It's a painful, buggy process
with a horrible UX.

~~~
xattt
The purpose of making the process difficult is deliberate, to dissuade users
from doing so.

~~~
mtrovo
Why would you do that?

Maybe put some pages explaining when you would need this functionality, that
you have to be living in this country, etc. Or you could also limit the amount
of times a user does it for maximum once in a month or less. And so on.

There's a lot of good alternatives, having bad UX should never be one of them.

Otherwise your users are just going to solve it their way, like in my case,
where I had to create another account and backup all my stuff from the old
account simply because I moved from my country.

~~~
xattt
The reason I suggested it as a possibility is that I see UX these patterns in
other Apple products.

For example, the iOS Camera app hides away options for the frame rate and
resolution of video under several menus. This option is much more accessible
in actual cameras. In Apple's case, it's put out of easy reach to prevent the
user from obsessing over which resolution to capture a moment, and to provide
a uniform appearance to all captured content.

Options are hidden away to reinforce a set-it-and-forget mentality.

------
TheAceOfHearts
For those of us that aren't keeping track: "Marzipan is the code name for the
technology that will allow iOS developers, with just a handful of
modifications, to port the iOS versions of their apps over to the Mac." [0]

At least it's better than Electron, I guess. It seems ridiculous that Apple
wouldn't put up the resources to implement these apps properly on macOS. But I
guess getting a bad version of an app is better than nothing at all.

I hate the whole mobile-first trend, since it usually means fucking over
desktop users. Remember multi-window apps? Now everyone seems set on forcing
everything to be done from a single window.

[0]
[https://arstechnica.com/features/2018/09/macos-10-14-mojave-...](https://arstechnica.com/features/2018/09/macos-10-14-mojave-
the-ars-technica-review/7/#h1)

~~~
raydev
> At least it's better than Electron, I guess. It seems ridiculous that Apple
> wouldn't put up the resources to implement these apps properly on macOS

From people with experience in both, UIKit is better designed than AppKit.
Apple sees this and I think it's pretty clear their intent is for UIKit to
supersede AppKit on macOS. One day.

Apple unfortunately shipped what is effectively the alpha version to the
public.

~~~
saagarjha
> From people with experience in both, UIKit is better designed than AppKit.

Debatable. AppKit might have a bunch of legacy cruft, but it also has some
truly beautiful things like bindings, or how certain interface controls work.
It's a much more mature framework.

~~~
arcticbull
Bindings (and KVO/KVC that support them) are magic-oriented programming that
make me sad. One has to assume they very specifically didn't make the cut when
iOS and UIKit were designed :P

------
nodamage
Is anyone else concerned that the influx of cheap, low-quality iOS apps ported
to Mac via Marzipan is going to effectively poison the well for existing Mac
apps? Software prices have already been pushed to rock bottom on mobile but
things are more sustainable on Mac, for now anyway...

~~~
nsmith14
As a final user I'm very happy software prices are plummeting, thanks.

~~~
saagarjha
Generally this also means the quality of software declines as well.

------
pavlov
_> You get the standard rainbow close/minimise/full-screen widgets and they
work fine. Window resizing using mouse drags — not so much. The performance is
just poor._

It’s ironic that this is an issue again. Poor window resizing performance was
probably the #1 complaint in Mac OS X 10.0 back in 2001 — resizing exposed the
sometimes very slow rendering behind the beautiful new Aqua façade. Apple
spent a few years tweaking resize performance, even adding AppKit APIs so apps
can adjust their rendering when in live resize.

Doing layout updates in a rapid mouse tracking loop is hard. The iOS window
resizing system was designed primarily around screen size classes which change
on events (e.g. portrait to landscape), so there’s lots of fudge room to hide
rendering updates while the entire screen is being animated. The desktop
doesn’t have that luxury.

------
bradgessler
I welcome Marzipan.

It’s not perfect at the moment, but lately I feel like when I’m in macOS I’m
running a browser and awkwardly trying to switch between tabs without Cmd +
Tab. It’s not fun.

Over the last year I’ve been using an iPad with a hardware keyboard for
productivity apps and it’s great. There’s apps for everything, even G-Suite,
that I can Cmd + Tab through without any problems.

I really hope that the rough edges get worked out and Marizipan works;
otherwise macOS will become even more stale.

The real abomination in Mojave is the Screenshot annotation tool. Good luck
figuring out how to add and arrow with some text.

—

Edit: Changed Alt Tab to Cmd Tab

~~~
brazzledazzle
There’s a different shortcut for switching between tabs in a single
application. I don’t know if I customized mine but it’s something like
cmd+Ctrl+arrow. Cmd+tilde switches between an application’s Windows.

~~~
kmlx
on mac I use Cmd + Shift + [ or ]

~~~
teknologist
You can also use option + command and the left/right arrows

~~~
saagarjha
This doesn't work for me. Are you sure this is a standard shortcut?

~~~
scottmf
Seems like it works in Chrome. Not at all standard afaik.

~~~
teknologist
Works for me in Firefox too.

------
wvenable
I feel the same way about Windows 10 Store apps. They don't have the
performance issues mentioned in the article but they otherwise feel alien to
the rest of the OS. Even web applications feel more integrated.

~~~
yellowapple
ChromeOS's support for Android apps almost feels similarly alien, except that
everything in ChromeOS is already a webapp so it's not _too_ jarring.

------
arcticbull
As I've learned so often to do with Apple experiments, I'm going to ignore
this one and it's probably going to get better or go away, I seriously doubt
it'll stay objectively bad like this.

Apple does this from time to time. Remember when iCal looked liked, to quote a
Gizmodo writeup, "a lone cattleman's notebook" missing only "animated beaded
tassels"? Or when Game Center on iOS looked like "an evening of backgammon at
the nursing home" that "smelled like plastic bottle whiskey"? [1] Because they
absolutely did.

Let's see where this thing goes. Seeing them remedy their many flagrant
mistakes over the years has given me, oddly, hope.

[1] [https://gizmodo.com/5849940/ugh-god-why-apple-is-making-
ever...](https://gizmodo.com/5849940/ugh-god-why-apple-is-making-everything-
look-like-an-ugly-wild-west)

~~~
coldtea
> _Remember when iCal looked liked, to quote a Gizmodo writeup, "a lone
> cattleman's notebook"_

And that was bad because? Enough things look like "a pretentious hipster
notebook" already!

~~~
tonyedgecombe
I don't think they were denigrating farm workers nor pushing the hipster
aesthetic. It was a problem with not following Apple's own guidelines and
making something that clashed so much with the rest of the system.

~~~
arcticbull
Yes it's not about what they made it look like - and to be clear, my
understand was the intent was to replicate the rich leather feel of Steve's
private jet. It's that they insistent on making it look like something at all,
and that clashed with the entire aesthetic. Stuck out like a sore thumb.

------
SmellyGeekBoy
Why was this changed to a less descriptive title? Seems more "clickbaity" now.

~~~
saagarjha
Not to mention that it should be "Marzipan on macOS" or similar; "MacOS
Marzipan" just plain doesn't make sense. This makes it should like a version
of macOS.

~~~
jakebellacera
That's what I thought it was initially. I kind of forgot that Marzipan was
included in Mojave and thought that this was some details about the _next_
incarnation of macOS.

------
saagarjha
> In this case, I suspect the Marzipan system houses apps in a window with a
> titlebar, and it automatically populates the window with the display name of
> the bundle.

It creates a window for each app, and the titlebar is set to the app name
pulled from Launch Services.

------
whywhywhywhy
I still think this is less about running iOS apps on Mac and more about
pushing Mac developers to build their pro-tier apps as something that runs on
Macs and iPads.

Mac has no shortage of apps. But the iPad Pro has a shortage of the sort of
apps people use Macs for.

------
chungy
This sounds equally applicable to pgAdmin 4, or indeed any Electron app on a
Linux desktop.

------
tcfunk
If I can run my baby monitor app from my laptop instead of my phone (with any
degree of usability), I will consider Marzipan to be a huge win.

------
dep_b
They should give you a native macOS storyboard that works with your iOS code.
iPad apps used to have separate storyboards too, I think that lead to a lot of
rethought applications instead of just stretched up. Working with different
size classes in one storyboard becomes a nightmare quickly with a lot of
differences.

------
walterbell
If there is going to be an Apple Arm laptop, it would likely run an iOS
derivative and would need both keyboard and mouse awareness.

Would Marzipan make it easier to go in the other direction, e.g. run iOS apps
in tiled windows on an iOS laptop, alongside "CLI/terminal" windows?

~~~
saagarjha
> If there is going to be an Apple Arm laptop, it would likely run an iOS
> derivative

Why do you think this?

~~~
walterbell
An Apple Arm laptop would compete with Chromebook & Surface Go, both of which
are "locked down" and optimized for Arm, similar to iPads.

    
    
      - iOS is Apple's primary revenue focus
      - iOS is already optimized for Arm
      - iOS itself was derived from MacOS
      - iOS new derivative can support KB/mouse
      - Arm + macOS = no 3rd-party apps compiled for Arm
      - Arm + iOS = million existing apps
      - Arm + iOS does not conflict with expensive MacBook Pros

~~~
saagarjha
> iOS is Apple's primary revenue focus

> iOS is already optimized for Arm

> iOS itself was derived from MacOS

All true…

> iOS new derivative can support KB/mouse

iOS can support the keyboard currently, but not very well. And it can't
support the mouse at all.

> Arm + macOS = no 3rd-party apps compiled for Arm

That's what an emulation layer is for.

> Arm + iOS = million existing apps

That's a nice bonus.

> Arm + iOS does not conflict with expensive MacBook Pros

Apple is no stranger to cannibalizing itself.

So, overall, I'm still not sold that they won't just make a ARM MacBook that
runs macOS, rather than iOS.

~~~
eloisant
Somehow I feel like it would be easier to evolve from the iPad pro with its
keyboard to a more laptop-like experience than do the "Universal app" stuff
again like they did when they switched from PPC to Intel.

And no, I don't think emulating x86 apps on ARM will work well. Both from a
technical point of view and legal point of view (Intel patents).

------
ppeetteerr
I wonder if people complaining about Marzipan are the same praising React
Native...

------
jhack
It has a lot of potential but the apps included with Mojave feel way too iOS-
like and out of place in macOS. Hopefully it gets better integration before
they open this up to developers.

------
codazoda
I suspect MacOS will slowly begin to look more like iOS. These apps might be
the beginning of the trend.

~~~
hazz99
I hope they don't ruin the dev experience. I love my Macbook Pro.

------
jammi
I feel like it's similar to the skeumorphism of the past coming back with a
revenge.

------
dirtylowprofile
Any one experienced the News app not syncing between Mojave and iOS 12?

~~~
saagarjha
It did that for me for a while, but eventually it came around to syncing.

------
CharlesW
> _I debated calling this post ‘Home, News, Stocks and Voice Memos for Mac’
> because it’s not really a comment on the Marzipan project initiative._

I would've been a lot less disappointed with the article if it had the
alternate title.

------
mankash666
Here's the thing: most users don't really care. The evidence is in the
author's own disapproval of the slack app - about it just being a wrapper
around a website disguised as an app. Guess what, slack desktop has a LOT of
traction, and paying customers!

If an app is sufficiently good on Marzipan, then the users will steer it
towards becoming better if they care.

~~~
tonyedgecombe
>Here's the thing: most users don't really care.

It was that attitude at Microsoft that opened the door for Apple to revive its
fortunes.

~~~
zeroname
What do you mean? Apple didn't really take a substantial market share from
Microsoft. Apple was successful in a market that Microsoft chose to not
compete in until it was too late.

~~~
tonyedgecombe
>What do you mean?

I mean exactly what I said, Microsoft was complacent and it allowed Apple to
cream off the most valuable segment of the market. Microsoft may still have
the largest market share (in Desktop) but it was Apple that became the first
Trillion dollar company.

~~~
zeroname
Yes, but Apple didn't _take away_ anything from Microsoft, so where's the
connection? Their "users don't care" attitude on software worked out. Pretty
much nobody in business is switching over to Mac OS (or iOS) and Numbers. Both
companies are barely even competing in the same markets.

~~~
tonyedgecombe
What do you think all the Mac users were using before they switched to the
Mac. Apple had a huge switching campaign over many years. They might not be
competing much now but MS didn't want to give up that segment. That's before
we get on to what the iPhone did to Windows mobile.

------
aaaaaaaaaab
I wonder what’s exactly preventing them from implementing UIKit on macOS, that
necessitates running the app in a simulated iOS environment...

The biggest pain point on macOS is the crappy AppKit framework which has so
many awful quirks due to legacy reasons (e.g. layer-backed vs non-layer-backed
views, no standard collectionview, etc.).

~~~
manmal
My understanding was that they did implement UIKit on macOS, but that there
are still limiting factors that force them to wrap them up in a VM (which will
most likely change until next year).

~~~
scarface74
There is no VM. Even the iOS simulator for iOS development is not a VM. When
you run your code in the simulator, it’s compiled for x86 and linked against
an x86 version of the iOS framework.

~~~
manmal
I know, I‘m a iOS dev. Some Marzipan apps reportedly are wrapped in a VM now.
Haven’t checked myself.

------
calferreira
One thing i don't understand is, since most apps have a web version why would
anyone prefer run a ios version on the desktop. I don't understand why apple
would invest time in making this possible.

~~~
calferreira
Instead of down voting, be useful and show your arguments. I really don't
understand why.

------
sooheon
Writing was on the wall as soon as mobile overtook laptops/desktops as Apple's
cash cow, but it is still disappointing. Dumbed down, lowest common
denominator UI will eat the Apple ecosystem.

------
tolmasky
After so many years of Apple fans telling everyone that any cross platform
technology demonstrated absolute laziness on the part of developers that
resulted in unacceptable un-native feel, how fitting it is that now Apple, the
largest company on Earth, and home to the makers of AppKit no less, can no
longer be burdened to take the time to write real Mac apps anymore.

I know that people will say that this is Apple working hard to make the Mac
viable again, but especially when considered in the context of the poor Mac
hardware in the past two years, I think it’s clear that’s not the case.

Not mentioned in this article is that these apps look weird because they’re
using 1.3x scaling from iOS too. Apple barely takes the time to differentiate
iOS on the iPad, or even the XS Max. Owning either of these two devices
constantly feels like there would be obvious places to make the experience
feel better than just a big iPhone. Do we really think Apple is going to work
that hard on making iOS software feel good in the Mac?

Remember, when the iPad first came out, everyone said “oh it’s new, I’m sure
they’ll really make the software different soon”. It took 7 years to get
multi-tasking in there. And this was the star product for a while. iOS still
doesn’t really feel like iPad is it’s home.

~~~
saagarjha
> Apple … can no longer be burdened to take the time to write real Mac apps
> anymore

I have no doubt that Apple _could_ have written these from scratch and they'd
be fantastic. They're just testing out the new Marzipan platform so that they
can work out the kinks in it before launching it next year.

~~~
tolmasky
I am 100% certain these apps will not be fantastic in 1 year. Or 2, or 3.

Let’s look at another cross-platform app that Apple has had _years_ to
perfect, iTunes: terrible since they’ve had to make it work on Mac and
Windows. Apple Music being the latest proof point that they cannot make a nice
experience. The track record isn’t good.

But honestly, what’s the latest _fantastic_ new Mac app you’ve used? I can’t
think of any. The days of something like Keynote being released are behind us.

~~~
saagarjha
> I am 100% certain these apps will not be fantastic in 1 year. Or 2, or 3.

That's about how long it took Photos to become pretty decent. I'm sure people
will eventually come around to designing for both platforms, but it will take
a while for them to do so.

> But honestly, what’s the latest fantastic new Mac app you’ve used?

Well, there are a couple of third-party apps…

