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.
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.
Parent specifically talks about the new App Store and it's new engine.
Also, the App Store is a client for remote data (what's on the store). What should one expect to see when there's no connectivity? A local cache of all app data? That could be feasible, but also not very useful (you still can't buy or download) and might be misleading (e.g. an update might have been added or taken down etc).
>What should one expect to see when there's no connectivity?
It's not that there's no connectivity. Whatever they're using for metadata is extremely slow. As though all requests need to go to California or something.
> A local cache of all app data?
Yes. This is how Linux package managers all work; metadata is cached locally so search (and dependency analysis - not needed in AppStore) performs well.
It's worth noting that most linux package managers are CLI and their GUI tools suck. It's hard to make a good GUI and App Store is no outlier in that regard. Unfortunate that there's no CLI alternative.
I think the old App Store literally was just a WebView, since you could see overscroll shadows. Now it seems to be much closer to 'real UI' dynamically rendered by the remote data.
Not sure about the App Store but when you get into the preferences -> icloud -> manage you can right click on that window and "inspect element" and safari debugging window will pop up :)
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.
I think it's less a calculated act of hostile design and more of a Hanlon's Razor moment; a manager says "It's working so it's good enough. We won't work on that because it's not a priority right now." I don't think the companies have enough time and energy to purposefully implement dark patterns.
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.
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.
Because that's literally the case. Check the network traffic with Surge or Charles. I'm not sure if the iOS 12 store has native parts to it (because it's pretty responsive), but there's always a significant XML blob downloaded.
The App Store app isn't particularly great, either. There are many UI paradigms it ends up breaking, and of course, it still goes for that sidebar/main window layout that all the Marzipan apps use.
I much prefer the new MAS than the old one, which was a poor WebView hackfest. That one feels more native than the brand new News/Stocks/Voice Memos apps, as described in the article: search box roundrects are correct, search focus and clear behaviours are consistent, titlebars are displaying content title, not app name.
There are a number of buttons that do follow iOS style though. Also, "Redeem" and "View information" open up views that were previously unavailable except through iTunes, and you can see a mishmash of styles there too.
The two things that infuriate me though are the font size of the sidebar, and the laughably placed "Done" button on the top right when you're viewing a story.
Apples been trying to push the sidebar thing for a few years now on general Mac apps. It started as an evolution of the Finder sidebar and was named “source lists” for a short while and now it’s just called Sidebar in the default View too menu for new apps. Every time I go to use Notes on Mac I get confused by the two sidebars. Hopefully they calm down on their sidebar mania a bit soon. The web is a great proving ground for hierarchical organization of widgets and information, and I hope Apple can be humble and take notes from conventions that are popping up and sticking around about how to do “multiple sidebars” a little smarter.
>Every time I go to use Notes on Mac I get confused by the two sidebars.
You mean the actual sidebar (with the top level note folders) and the notes list? That has been the norm in 99% of note apps (and similar 'bucket' apps) for ages, across platforms...
Any particular sites/webapps you like as examples of hierarchical design? I am a tech lead and struggle to come up with anything better than Material Design's nav drawers with sub-items, or equivalent.
Not the OP, but one thing that springs to mind when talking UIs and web/native is the use of breadcrumbs online. For example, if seeing a list of all other notes in the same folder isn't a key use case, an alternative could be to hide that list but make it visible when activating the list's parent. This reduces the noise so the individual note can be focussed on.
Having said that, I suspect the use cases of notes are quite varied, so a one-size-fits-all approach might not be straightforward.
It's not a particularly inspired design; for whatever reason it just seems really out-of-place to me. I know there are some apps that utilize the sidebar/main window thing, but they all feel like native Cocoa apps while these have different spacing, search fields, etc.
It's more about the UI than the specific layout; no-one ever complains about Finder's 'uninspired' sidebar/main content layout. The inconsistencies which make the App Store feel alien on the Mac are what gets me. Also, I don't know if it's just me, but the App Store seems almost entirely keyboard-unaccessible.
>These apps have no access to the world outside of iOS.
Well, they can save files (like Apple's own audio notes app), connect to the network, and so on. So what access do they lack? They're not on the same direct kernel? That's probably for the better.
One article mentioned that dragging something to the desktop causes the app to block/freeze for several seconds. Having access is not enough on its own - it also has to be reasonably performant and not too glitchy.
The Photos app has the same kind of behaviour when dragging photos. You'd be hard pressed to select a bunch of photos/videos and drag&drop them anywhere but on a folder (typically the desktop). Even then, copying them seems to trigger an "export" process (sometimes you see a progress bar or something with that label to that effect, I can't recall right now) that takes ages. Alternatively, you can "Reveal in Finder" and copy/drag/whatever the photos/videos from there and it's instantaneous.
Even though it still triggers an export, this behavior has gotten a lot better in Mojave. Whereas previously one could only really drop images on Finder windows (Desktop counts as well) it now works in many different applications. Not quite everywhere, but at least it works most of the time and I don't just not even try it.
>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 mean the current 4 iOS app running on 10.14, then i agree. If you mean project Marzipan in general and what it means to developers, well we just don't know yet. Its going to be the next WWDC at the earliest before we hear any new information on the topic and its overall goals/capabilities are yet to be fully defined.
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.