Pixel Envy

Written by Nick Heer.

Marzipan Expectations

Craig Hockenberry of the Iconfactory:

In the early days of the iPhone, there were many apps developed by folks who brought their sensibilities from Windows or the Mac to a new platform. Those apps felt wrong and have largely disappeared because everyone has figured out that different interactions are needed for a small, handheld device. Don’t let the same thing happen when you bring your iOS expertise to a Mac.

If you’ve been developing on iOS for any period of time, you’ve probably had the “flip a switch” experience when starting an iPad app. It’s fairly easy to get things up and running, but then you realize that there are a lot of design and code changes needed for a larger screen. You’ll start reworking things with master/detail views and auto layout constraints. You might even need to adapt your app to support input from a Smart Keyboard.

Look at how many user interface idiom checks you have and you’ll start to get an idea of what lies ahead for a macOS app. If you’re someone who’s decided that an iPad version of your app is too much extra work, you’ll likely think the same thing about all the conditional checks required for a Mac.

My initial pessimism towards Marzipan’s possibilities was mostly borne of what shipped in Mojave. But, apparently, those weren’t even the best that Apple could have done with the Marzipan tools in Mojave. Again, I question why they were shipped in the first place; I don’t know that they would be greatly missed if they didn’t make the final build.

Everything I’ve read from Steve Troughton-Smith over the past couple of months suggests that we’re headed in MacOS 10.151 for a promising if incomplete step towards a full declarative UI framework. It is slowly steering my mind towards a future where developers don’t have to write two entirely separate apps if they want their software on Apple’s biggest platforms. Make no mistake — that would be great news, if it is done well. Here’s hoping.

  1. Sonara, Kelso, or Tehachapi, perhaps? ↩︎