The Breakroom

What to Expect From Marzipan

May 8, 2019

By Craig Hockenberry

It’s clear that this year’s WWDC is going to be a doozy. We’ve written here previously with our thoughts about Dark Mode, now it’s time to talk about iOS apps coming to the Mac.

Of course I’m talking about Marzipan, a technology Apple introduced with few details during last year’s Keynote. We knew that some apps in Mojave used the new technology and that was about it.

Screenshot of the iOS version of Twitterrific running on a Mac

The iOS version of Twitterrific running on macOS thanks to Marzipan.

Thanks to the hard work of Steve Troughton-Smith, we have a much clearer view of what’s happening behind the scenes with application architecture and available APIs.

What I’m going to focus on today is how this new technology will affect product development, design, and marketing. I see many folks who think this transition will be easy: my experience tells me that it will be more difficult than it appears at first glance.

For the past year, I’ve been working on a new product that runs natively on three operating systems: iOS, tvOS, and macOS. As a result, I feel like I can talk with some authority on the differences between these platforms. My biggest takeaway from this project is how different interaction models have a ripple effect throughout a product.

(We’re not ready to talk about this project in public yet, but Patreon supporters are getting sneak peeks.)

A Little Bit of History

Before we get into the interaction details, let’s take a look at tool and framework transitions on the Macintosh. Marzipan may be something new, but it’s certainly not a first.

Macintosh Programmer's Workshop Screenshot

I’m old enough to have been around when the Mac first shipped: in 1984 you could buy some floppy disks to write code in Pascal or 68K assembly code. After a few years, the way you made these revolutionary computer interfaces evolved into MPW, the Macintosh Programmer’s Workshop.

CodeWarrior Screenshot

Fast forward a few years and things had moved on to a new language and tools. Many folks were using CodeWarrior and C++ to build their Mac apps. I developed the Iconfactory’s first software product using this environment.

The modern era then arrived with NeXTSTEP in the year 2000. It brought an unfamiliar language called Objective-C, a new IDE called Project Builder, and awesome new frameworks named Foundation and AppKit. These tools have served the Mac well for many years and even provided a foothold for iOS with UIKit in 2007.

And now a modern macOS toolkit will include Swift, UIKit, and Marzipan. Or, as we like to call it, Chameleon 2.0 :-)

As you can see, the stuff that you use to build Mac apps has changed radically over the past 35 years – but it’s important to note what hasn’t changed during that same period of time. You still use a bitmap display for output with a keyboard and mouse for input. The interaction model has changed, but only slightly. There are enhancements and refinements, like trackpads and gestures, but a Mac is completely usable using nothing but the basic concepts that were laid down by the original team.

It’s All About the Interaction

It’s likely that getting your iOS app to run on a Mac will just be a matter of flipping a switch in Xcode. Steve Troughton-Smith has been converting apps using nothing more than a Simulator build, his marzipanify tool, and a lot of clever tweaks with frameworks.

It will be exciting for a lot of developers, including yours truly, to press that button. But it’s also important to temper this enthusiasm with reality: that build setting is just the first step on a long and complicated road. Good interaction doesn’t come for free.

As you saw above, the Mac has seen a lot of tool and framework transitions. But this is the first transition which involves a large group of developers who don’t have any experience on the platform they’re targeting. A Mac developer moving from CodeWarrior and C++ to Project Builder and Objective-C didn’t have to learn anything new about conventions: they were still on a Mac. That can’t be said about iOS developers who are starting to use Marzipan.

Early iOS interface that took cues from the desktop.

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.

Many of the thoughts in this essay got their start while developing a tvOS app: I found that having a common user interface toolkit wasn’t much help. It’s nice to have familiar UIKit items like UIImage, UIColor, and UIButton, but in the end I found that little code was shared between platforms. Some views could be ported directly between platforms, but anything involving a controller was out of the question. Why?

Put simply, the interaction on a TV app consists of six things happening: up, down, right, left, select, and back. Pointing anywhere on screen is not an option: your controller has to guide the customer around as they use these simple interactions. Code to navigate between buttons and collection view items is entirely different. Similarly, UIKit on macOS won’t magically solve your problems when someone wants to use the tab or arrow keys to navigate views in your iOS codebase.

You’ll face similar issues when you encounter a customer who needs to select multiple items by dragging a mouse, open a context menu with the right mouse button, use a keyboard shortcut to make their work quicker, or customize function keys for common actions.

How do you drag a selection when your code assumes that pointing at the screen is to facilitate scrolling? Is a right mouse click like detecting a different finger? Is there going to be a new mechanism for defining keyboard shortcuts and creating items in the menu bar? Will there even be a way to link in Carbon event callbacks?

I don’t know the answers any of these questions, but I can guarantee that these new interactions will require additional work in your app.

It’s also likely that you’ll suddenly find classes like UIResponder a lot more important. Routing events through your app becomes more difficult when they have to pass between multiple view and window instances, a menu bar, and an application delegate.

To get an idea of the scope of the project you’re about to embark on, I would suggest getting a head start by reading the macOS Human Interface Guidelines (HIG). These guidelines have been around since the original Mac, are easy to understand, and provide a valuable reference for every Mac developer.

Screenshot of a macOS popup button

How is this standard macOS control going to work on iOS?

Besides learning what you don’t know, you’ll also get a chance to think about how something simple and familiar on the Mac, like the pop-up button, might be implemented for both iOS and macOS. That simple control doesn’t have any analog on iOS, but someday it will, and you’ll be using it for code on two platforms.

Design Considerations

Coders will not be the only ones affected by Marzipan. As a designer, you’re going to face challenges, too.

The guidelines mentioned above should be your first stop: there isn’t any code and the descriptions often have great visual examples.

The most obvious design element that will change as you move from iOS to macOS is the screen. If you’ve designed for the iPad, you already understand the challenges of a larger display surface and adapting your views as that size changes. It’s not easy work, but an alternative design that’s just “a big iPhone” is highly unsatisfying for a customer.

The Mac alters this scenario slightly because your app is presented in a window that’s resizable: you might be running with the constraints of an iPhone SE one moment and the expansiveness of an iPad Pro the next.

These resizable windows will also let you show more than one view at a time. On iOS, you’re accustomed to owning the entire screen and only having to accommodate for the user’s attention in one place. The Mac, on the other hand, has many applications that are vying for input and output mechanisms.

On macOS the notion of “window focus” is used to highlight anything that’s currently receiving user input. Some of this will be automatic, such as with the window chrome, but you’ll also want to improve the experience in your own views by guiding the user’s actions. If controls aren’t active because they’re in a background window, they’ll need to be de-emphasized.

The notion of “focus” also leads to a less obvious design change: an omnipresent keyboard.

On a Mac, you always have a keyboard and folks have developed many habits that revolve around this input device. With iOS, working with a keyboard is an enhancement, and many apps don’t bother to make use of it. Using Marzipan means you’re adopting a new interaction mechanism that goes beyond pointing at a screen.

Menu screenshot from Sketch on macOS

Since it’s your job to define the user experience, you’ll be responsible for creating items in the menu bar. Apple has many recommendations for menus, but you’ll get off to a good start if your menu items use verbs for actions and adjectives for states.

Think of menu bar items as a way for people to discover capabilities in your app: Mac users often scrub through a new app’s menus as a way to see what can be done. It’s also important to determine the most common actions in your app and assign keyboard shortcuts that will speed up the customer’s work.

Menus may feel a little odd at first: they’re basically a user interface element that’s hidden until needed. As such, it’s easy to neglect this important part of the experience, but your new customers will let you know when it’s not right :-)

The final interaction change you’ll need to consider is that a mouse isn’t a finger. On iOS you’re either touching the screen or you’re not. A mouse pointer has a third state: apps can know when a pointer is hovering over a view. This new capability can greatly increase the usability of your app by highlighting important elements in your interface when the customer’s mouse gets close.

As far as assets are concerned, you’ll have some new graphic files to produce. The most obvious is a Mac desktop icon, which should be similar to, but not the same as, your iOS icon. Utility applications typically get a round icon, while document-based applications get a perspective treatment. Unlike iOS apps, the Mac also has a separate icon for documents that appear on the desktop.

A comparison of Mac and iOS icons done by the Iconfactory

Examples of macOS and iOS icons done by the Iconfactory.

Another thing to be aware of is that Marzipan currently displays your design about 30% smaller than iOS – a 100pt image gets rendered on screen at 77pt. This is done automatically at runtime to accommodate the Mac’s larger perceived size and smaller hit areas. A mouse pointer is more accurate than a finger and needs less room to operate.

Hopefully this will change in the public release so you can specify platform-specific images. If not, you’ll need to ensure that designs with fine details render correctly. Hairlines and other pixel-level drawing are likely to be problematic.

And speaking of pixels, there may be a need to support @1x screens again. Everything on iOS is @2x these days, but you’ll encounter many customers on the Mac who still use a non-Retina display (especially as a secondary monitor.) Yay.

We’ve saved the biggest design challenge for last. It’s who you’re designing for – the person who’s going to use a Mac version of your iOS app.

A Different Kind of Customer

You’ve been creating apps for people who drive automobiles. Now you have a different kind of customer: one who drives a truck. These folks have a wholly different set of expectations for your product.

And rightly so: why use your app on a Mac when all it does is replicate the functionality of their mobile device? Sure, there’s some convenience involved, but giving that customer a more powerful environment plays more towards their wants and needs.

To get an idea of what this type of customer looks like, take a moment to listen to a recent episode of the Accidental Tech Podcast (ATP). The subject in the segment is iTunes, but it could just as easily be about your app.

Minimalism has always been an appropriate goal on an iPhone. Your target audience doesn’t need or want distractions from their basic tasks.

This started to change when the iPad debuted; apps became more immersive because you could do more with a bigger canvas. Now, with a Mac, folks are going to expect even more powerful interactions. Listen to John Siracusa, a guy who knows just a bit about macOS, as he talks about table views and you’ll start to understand your new goals. Let’s call it “unminimalism”.

These folks also form a user community that’s different than what you might have encountered previously. It’s a warm and kind bunch who will become great supporters when you show a passion for their platform of choice. They can also become critics if your efforts aren’t up to snuff.

Keeping two wildly different groups of customers happy with a single app won’t be an easy task, but it’s one that you’re going to be taking on with Marzipan.

Which leads to the final, and most important, topic. How are you going to fund all of this work?

Show Me the Money

Products need to make money or they cease to exist. But if making a Mac app is just a matter of flipping a switch, why should customers pay for that?

It’s my opinion that Universal apps were the worst thing to ever happen for the iPad ecosystem. There’s no way for a developer to recoup the costs for new interactions and the extra work needed for more sophisticated apps. Apple makes it easier for a customer up front by offering a single download, but at the same time they make things worse because a Universal version of the user’s favorite app isn’t financially viable. Apple has few customers who pay directly for their software, so this aspect of third-party products may be a blind spot for the company.

My biggest fear for Marzipan is that Mac apps become a part of a universal download. Nothing could kill my enthusiasm for the project more quickly.

The Future Repeats Itself

At this point, I think it’s clear that this is going to be a long process for both designers and developers. And customers, too.

I think it’s good to look back on the early versions of Mac OS X: how many iterations did the NeXT software go through before it felt Mac-like? It depends on who you talk to, but for me it took a couple of years before this new system felt comfortable.

Early version of Mac software running on NeXT STEP

It was a mess, until it wasn’t.

Along the way, long-time macOS users will lose some things forever. Other changes will be uncomfortable at first, but we’ll adapt, even if things like ⌘N muscle memory hold on for a decade.

But make no mistake, everyone is going to be adapting, even the new kids on the block. And like what you’ve experienced recently with a new programming language, there will be bumps in the road and you’ll find yourself dealing with unexpected changes.

In the end, we’ll have something new and wonderful that we all love.

Hopefully this post has helped prepare you for what lies ahead with Marzipan. Remember that we’re here to help as needed, whether it’s an app icon, assistance with user interface design, or consultation about making great Mac apps. We’ve been doing this stuff since 1997, so let our experience help guide you!

Designing for a Great Cause

May 6, 2019

By Webmaster

James Dempsey performs at the App Camp for Girls WWDC live event in 2018

The amazing folks over at App Camp for Girls have been hard at work preparing for Apple’s World Wide Developer Conference, and we wanted to help get the word out. They’re an incredible organization that inspires and empowers girls, transgender, and gender nonconforming youth to pursue careers in technology. Helmed by some of the most talented and committed people in the technology community, App Camp for Girls is making a difference in the lives of kids, and we fully support their vision of gender equality in the tech industry.

One way you can support them is to grab a ticket for LIVE near WWDC, a James Dempsey and the Breakpoints concert benefitting App Camp for Girls. The show will be Wednesday, June 5th from 7pm – 11pm in San Jose, and features a musical band of techies, nerds, and community luminaries performing a full concert of humorous, original, programming-oriented songs. You don’t need a WWDC pass to attend, but you will need a ticket and they’ll sell out fast, so don’t wait – this is one party you don’t want to miss! The group hopes to raise $25,000 to support future camp events, a worthy goal.

Clarus the Dog Cow in neon saying

Attendees can also snag a snazzy App Camp for Girls enamel pin that we designed especially for the occasion! With a limited run these pins will surely become coveted collector’s item and are just another reason to attend this night of fun.

Finally, there are still three days left to pick up your exclusive Owl-tline T-shirt from Cotton Bureau. Proceeds go to support App Camp for Girls, so what other great reason do you need? Pick up an event ticket, order a shirt, and help bolster the gender diversity of tomorrow’s tech industry.

W-W-Dog-Cow T-Shirt

April 25, 2019

By Ged Maheux

Clarus the Dog Cow in neon saying

In preparation for Apple’s World Wide Developer Conference, and the rumored new dark mode coming in iOS 13, we’ve created a fun t-shirt that Mac geeks are sure to love. Clarus the dog cow lights up the night in this fun shirt inspired by the iconic artwork of Susan Kare. The shirt is on sale now for the next 13 days so don’t wait to pick one up.

One other hint we wanted to drop – our Patreon backers are enjoying a 15% discount at checkout when they order the shirt from our good friends over at Cotton Bureau. Backers get exclusive wallpapers, avatars and all kinds of goodies like advanced access to beta software & special discounts. If you’re not a subscriber to the Iconfactory’s Patreon, now would be the perfect time to sign up! Moof!

Game of Thrones Folder Icons

April 16, 2019

By Ged Maheux

The macOS folder collection for Game of Thrones depicting major house sigils

This week marked the start of the final season of HBO’s epic fantasy adventure – Game of Thrones. We’re huge Thrones fans here at the factory and so it seemed natural to create our second set of macOS desktop icons centered around the saga. Our Patreon backers who have subscribed at the Hero level have been enjoying our first release, Captain Marvel, for a month and today we’re pleased to announce they have access to today’s Game of Thrones icons as well. They are also enjoying ep 002 of Pixelcast where Ged & Dave talk about designing wallpapers for Game of Thrones and our predictions for the finale.

These folders are a great way for fans of the series to customize the look of their macOS desktops or to simply enjoy as collector’s items. With only five episodes of Game of Thrones remaining, now’s the time to subscribe to our Patreon and enjoy these iconic folders emblazoned with the sigils of the major houses of Westeros. Don’t be left out in the cold, head to our Patreon and subscribe for this and more amazing, exclusive content every month!

Patreon: One Month In

April 5, 2019

By Ged Maheux

Various mobile devices sporting our Patreon wallpapers

One month ago today, we launched a grand experiment to bring our fans amazing wallpapers, icons, and avatars using a brand new Patreon account. So how’s it going?

It’s only been a short time, but we already feel like we’ve gotten our pixelated grooves back. We didn’t realize just how much we’ve missed creating these digital goodies!

Over 100 people have signed up and backed us, and that’s a good start. We’d love to devote the majority of our to time creating this type of content, but for that to happen we’ll need more patrons. These things take time, so we’re committed to building up a base of great content. We’ve been hard at work this past month making great stuff that people can enjoy well into the future.

If you’re not a patron, here’s a quick rundown of the goodies you could be enjoying by joining us. First of all, there are the wonderful wallpapers for your iPhone, iPad, and computer:

In the icon department, we released our first set of Mac desktop icons in over 6 years, to celebrate the arrival of Captain Marvel in theaters. We also created several fun avatars for use on social media, including Queen Watevra Wa-Nabi from the LEGO Movie 2 and Japan’s iconic hero Ultraman.

Captain Marvel desktop icons

But wait, there’s more! Wallpapers featuring Twitterrific’s Ollie and a Captain Marvel in outer space are completely free to download and enjoy.

We have some exciting things in the works, too. This week we teased our upcoming Game of Thrones goodies with a free wallpaper that fans of the series are sure to love – White Walker.

Patrons have also enjoyed our brand new podcast, taken part in polls, chatted with us on Discord, and taken advantage of custom-made goodies. We love making things for you fine folks, so subscribe today and help us spread the word online.

We’ll report back next month and let you know once again how it’s all going. Thanks!

Now You Know How It Feels

April 3, 2019

By Craig Hockenberry

keyboard keys

Are you one of the many people affected by a MacBook keyboard failure?

If so, you now have the slightest hint of what it’s like to live with a disability. You can’t use a product like everyone else and it’s preventing you from achieving your goals.

Maybe you say “screw it” and write an article for the Wall Street Journal without those keys. Or maybe you hang on desperately to an old laptop (these words are coming from a MacBook purchased in 2013.) An external keyboard might be a temporary workaround.

But there is a clear distinction here: you have a course of remedy. You can take the laptop in for service or choose a different model. And while a failing keyboard is definitely a problem, it pales in comparison to someone’s permanent disability.

Unfortunately, options are often more limited for people with physical challenges, and they may have to make the best of a less-than-adequate product. There’s no store that can fix the problem.

The good news is that there’s plenty you can do as a developer to start helping someone. Try using that new keyboard to make another person’s life better – it not only feels great to be making a positive change in the world, but you’ll also end up with a better app that appeals to a more diverse audience.

A Plus for Us

March 26, 2019

By Sean Heber

A Plus for Us

Yesterday Apple announced they’re stepping into the games industry with a new subscription service called Apple Arcade. While we have dabbled with making games in the past, this news doesn’t currently affect our software business – but it may someday.

Running a successful development company has never been easy, but over the years the rise of mobile and the App Store has seen the difficulty level go from “Hurt me plenty” all the way up to “Nightmare!” Game makers have been hit especially hard and have adapted using endless in-app purchases and addiction mechanics which are neither economical or healthy for the player. Rather than change App Store policies across the board, Apple seems to be experimenting with a whole new sales model for Arcade.

While we don’t yet know much of anything about the business side of Arcade, we can speculate yesterday’s announcement is a peek into a what might be a new way to sell all software on the App Store. What would it mean if your app didn’t have in-app purchases or ads, but instead earned income based on an “attention” or “engagement” metric? We’re curious to see how the games in Apple’s Arcade adapt and how it will affect the larger ecosystem.

Apple Card's circular interest UI

Apple also revealed a new way to spend money and help you understand where it went after it’s gone. We really like the Activity-inspired design of the Apple Card’s interface. It’s a huge step up from every other banking app we’ve ever seen. (We help app designers of all kinds build better interfaces – hire us!)

Besides the interface, we also see Apple’s long history of privacy and security playing a huge role as they launch this ambitious new product. Customer trust is at the center of this effort and we hope it pushes the rest of that industry forward as they discover the values of these features.

Apple’s redesigned TV app looks to be a welcome step in the right direction. We’ve always been fans of television and movies at the Iconfactory – as you can see by exploring all the goodies we’ve created for our backers on Patreon – so we’re anxious to learn more about the new shows. With luck, we’ll end up loving some of them enough to make wallpapers!

Finally, Apple announced News+ which combines their traditional news aggregation with rich magazine content bundled as a subscription. The design looks (mostly) great as does their selection of partners. Hopefully this new service will fare better than Apple’s earlier attempt in this space: Newsstand.

Yesterday’s Apple event showed us they have a very specific vision for the future – both with delivering content and how we pay for it. It seems clear that Apple sees subscriptions as the only way forward, and not just for the software industry, but also publishers, TV, games, and movies. It’s probably safe to assume that all apps and digital media will soon be sold via a subscription model. Things are beginning to move quickly and now is a perfect time to consider how these changes affect all our businesses.

More Captain Marvel Goodies

March 15, 2019

By Ged Maheux

In October, 2013 the Iconfactory released its last macOS desktop icon collection. For more than a decade prior, we had built our brand on crafting, among other things, amazing and fun Mac icons that people could use to customize their folders and hard drives. We eventually stopped creating desktop icon sets as the world turned its attention to the iPhone and away from the Mac but today we’re pleased to report we’re back with an all-new icon set created exclusively for Patreon subscribers!

Captain Marvel Icons by the Iconfactory

Inspired by the blockbuster film from Marvel Studios, our new Captain Marvel icon collection contains hard drives, folders and objects that are a great way to re-live some of the most fun moments from the movie. We’ve included objects like the retro “Fonz” lunchbox and Director Fury’s interstellar pager as well as fan-favorites like Goose’s name tag and even a cheeky Blockbuster video rental membership card.

But that’s not all.

Since Captain Marvel takes place in 1995, we thought we’d add an extra bit of retro fun to include System 7 versions of every icon in the collection. :-)

Captain Marvel System 7 Icons by The Iconfactory

Designed with love using the same 16 color palette that was in wide use on the Mac desktop at the time, these pixel-perfect icons are a nostalgic treat that are sure to bring a smile to the face of any long-time Mac addict. The best part is these 4-bit wonders may look ancient but they still work in modern macOS Mojave. We can’t wait for you to try them out!

Captain Marvel Bonus Wallpaper shown on iPhone

Finally, since the reception to our first Captain Marvel wallpaper was so positive, we’ve gone and cooked up a bonus wallpaper that we’re making free for everyone to enjoy. Head on over to our Patreon page to download it for your iPhone, iPad or desktop – even if you’re not a subscriber.

The Captain Marvel icon set is available today to Iconfactory Patreon backers at the $12 Hero level. Be sure to check out our other Patreon tiers to find one that’s right for you – and while you’re there, don’t forget to grab today’s free wallpaper release. We hope you enjoy this journey in the Wayback Machine, but stay tuned, we have lots more great goodies in store in the future!

Exclusive Captain Marvel Wallpaper

March 12, 2019

By Ged Maheux

Captain Marvel Wallpaper by the Iconfactory

Marvel Studio’s blockbuster film about Airforce pilot, Carol Danvers, turned super hero, Captain Marvel, has burst onto the scene and broken box office records around the globe. It’s a soaring adventure and a noteworthy addition to the Marvel Cinematic Universe that inspired us to craft something very special for our Patreon supporters.

This stunning wallpaper by artist Anthony Piraino, is the perfect way for fans of the film to show off their love for Marvel’s most powerful new super hero. Optimized for use on iPad, iPhone and macOS, this exclusive download is available to backers of the Iconfactory Patreon at the Hero level which includes wallpapers, avatars and even macOS desktop icons each and every month. Backers also chat with us on Discord, get special offers, discounts on Iconfactory products and services, and custom-made goodies just for you.

Become a Patron and and download Captain Marvel today!

Digital goodies just for you!

March 5, 2019

By Cheryl Cicha

Dragons Teeth WallpaperFor over 20 years The Iconfactory has been drawing icons, designing user interfaces, and building great software. We also used to create loads of free wallpapers and desktop icons just for fun, but we got busy and that tradition got lost. Before we knew it, years had gone by without any new freeware.

Let’s Do This Together
You’ve been telling us that you miss our fun releases – and we did too! Rather than sit around and reminisce, we decided it was time to do something about it. Introducing Iconfactory Patreon! Now, every month you can get social media icons, behind the scenes sneak peeks and previews, amazing wallpapers, and macOS icons for your desktop. Chat with us on Discord, get special offers, discounts on Iconfactory products and services, and custom-made goodies just for you. The fun is back! Become a Patron and come play with us!