Roben Kleene

Software to Die For

Before I switched to being a full-time developer in 2010, I worked as a user-interface designer for seven years. Something that always bothered me during that time is that so much of what I was learning was just how to use Photoshop really well. After I switched to development, I was hesitant to ever invest that much in just learning a big software package again. “What if I choose wrong? And waste all those years of learning by switching to another software package?” I asked myself. Recently, I’ve re-evaluated that decision, based on my analysis of the market share of major creative applications. It turns out if I’d just chosen which software I want to learn ten years ago, for most categories, it would still be the same today. For some categories, it would still be the same if I’d chosen twenty years ago, and it’s often the first software that was ever introduced to solve a problem, even if that application is over 30 years ago, that’s still the best choice today. So it turns out I was overcorrecting relative to the risk in learning big complex packages, so now I’m investing in doing it again.

This is the list of software I’ve chosen to learn:

Some of these I already know quite well (Vim, Photoshop), and some I’ve barely touched (Premiere Pro, Final Cut Pro). I’m not happy with the duplication, and frankly, this is probably just too much for one person. Learning any one of these applications is an lifetime of work, let alone all of them. But I can’t decide what to cut, so here we are.



















Mac in Limbo

Alex Russell, a software engineer on the Google Chrome team, has a devastating presentation about how little people are using the mobile web. What struck me while I was watching was that, while Russell gives some optimistic suggestions for increasing the mobile web’s relevance, it’s clear that this battle is already over and the mobile web lost. The web simply isn’t an important platform for most of the world on mobile, and it’s especially unusable for anyone who doesn’t own a high-end phone.

Russell provides some stats to support this, including these 2014 numbers from Flurry showing that only 14% of time on mobile is spent on the web, while the other 86% of time is spent in apps. He calls out 10% as a meaningful threshold, that if a platform ever drops below that number, it doesn’t get the investment it needs in terms of tooling and libraries; you enter what he calls a “doom loop”. According to Russell, Google has internal metrics that show mobile web usage has now dropped below 7%1.

Russell talks about the reasons this it the case, the argument boils down to two issues. The first is performance, you just can’t get around the fact that native apps are more performant, and requires less bandwidth. The other is that Apple leverages their control over iOS to deemphasize the web, Russell cites two App Store Review Guidelines in particular:

  • 2.5.6: Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript.

This is the rule that blocks third-party rendering engines like Firefox’s Gecko and Google Chrome’s Blink.

The second piece that Russell references is the introduction to section 4.2 Minimum Functionality, which starts out by saying “Your app should include features, content, and UI that elevate it beyond a repackaged website.” In other words, Apple just comes out and says that just a website isn’t good enough for the App Store.

The losing battle for the mobile web brought about some personal reflection, because I’m also fighting a battle that’s already been lost: The battle for a macOS desktop of Cocoa2 apps. From 2001–2010, it felt like we were headed in that direction. Mac exclusive utilities and productivity software took off right away from the release of OS X, with companies like Panic and The Omni Group leading the charge, and TextMate and Apple’s iWork being important milestones along the way. Then, in the latter part of the decade, the real holy grails began to emerge: The groundwork Apple had been laying for visual tools at the framework level started to bear fruit first with Acorn and Pixelmator, both released in 2007 and built on Core Image, and Sketch released in 2010 and built on Core Graphics. The vision of an entire desktop of “Mac-like” apps seemed within reach, finally offering an alternative that doesn’t include cross-platform behemoths like Adobe’s Creative Suite and Microsoft Office.

That all changed in 2011. Apple announced that sandboxing in the Mac App Store would be mandatory. Sandboxing has had a devastating impact on Cocoa professional creative apps. In all the market share surveys of the tools used by creative professionals that I’ve been able to find, only one sandboxed app even shows up: Affinity Designer. I wrote about it in my overview of the tools used by creative professionals:

Affinity Designer comes in at %2 for user-interface design in Uxtools.com’s poll. It’s worth noting that Affinity Designer is about 1/20th the cost of its most similar competitor, Adobe Illustrator, which is also about nine times as popular in the same poll. Even sandboxed applications competing with Adobe’s widely disliked subscription model have difficulty gaining significant market share.

With a single gesture, Apple assured that a desktop of all Cocoa apps would never be a reality, at least not for users of professional creative apps. The creative apps that abide by Apple’s sandboxing rules have been marginalized, unable to compete with the more popular and powerful apps outside of the sandbox.

Apps can still use Cocoa without being sandboxed, by choosing not be in the Mac App Store, but by doing so they lose access to Apple’s marketing clout3, which removes one of the factors that helped apps like Pixelmator and Sketch get off the ground in the first place. Both benefited from heavy promotion by Apple early on. All of these factors change the tradeoffs of using Cocoa, and there’s little upside at this point.

This isn’t just about sandboxing and the Mac App Store, the frameworks Apple releases today for developers to build on, like ARKit and Core ML, also just aren’t as useful for Mac apps as the pre-2010 frameworks like Core Graphics and Core Image were. ARKit is obviously intended to make apps for iOS, due to its camera and form factor requirements. While Core ML does have some desktop uses, it’s still more useful for iOS because it’s harder to accomplish things manually on that platform4.

Finally, Apple’s own fleet of pro apps has been paired down to just:

  • Final Cut Pro X (Acquired in 1999)
  • Logic Pro X (Acquired in 2002)
  • Motion (first released in 2003)

While the following have been shuttered:

  • Aperture (first released in 2005, discontinued 2014)
  • Shake (acquired in 2002, discontinued in 2009)
  • Soundtrack Pro (first released as part of Finale Cut Pro in 2003, discontinued in 2011)

The last time Apple introduced a new pro app was in 2004, and the last time they acquired a new pro app was in 2002, a strategy that had worked well for Apple in the past, resulting in both of their pro crown jewels, Final Cut and Logic. Aperture, Shake, and Soundtrack Pro were all canceled, ceding their market share back to the cross-platform behemoths. In addition, Final Cut Pro X has gone the prosumer route. While this isn’t necessarily a bad thing, it is more evidence of a pattern of Apple not supporting their pro users. Here’s Adam Lisagor of Sandwich comparing the release of the release of Final Cut Pro X to previous versions:

When Apple pushed FCP to the industry pros five or six years ago, they did some hardcore outreach. They brought out Walter Murch, for God’s sake. The man cut Cold Mountain on it for God’s sake. They evangelized by showing what had been done, not by what could be done. But this time out, there is no evangelizing. No Murch. They do a dog and pony with vapid car footage or a Pixar trailer or something. This is meaningless to industry pros who need to know one thing, and it’s a very simple thing: can I edit a _____ on it? You know what I want to know? Can Louie CK edit his show on FCP X? Would he? Would he be happy to do it? Would he speak to a crowd of people about the experience? Would he plan on the product getting better? At what point does Apple ever even hint at admitting that they’ve released a product that will improve with age? Do they owe it (or anything) to their pro user base to acknowledge even a transition period? I want to be emailed a questionnaire and I want my Apple rep to write to me and invite me to a seminar called “Let’s cut a commercial”.

You know how many licenses of FCP Murch and Cold Mountain sold? Millions. Know how many licenses the most beautifully-crafted, tastefully-shot home movie of your family trip to Lake Havasu will sell? @#$%& all. Nobody wants to make the best home movie ever. It’s just not an aspirational thing anymore, the way it was in the early days of hub computing, when the Mac was aspirationally this centered hub of creation. We don’t want to do that anymore, our eyes are bigger. We all want to think we can make The Social Network now. So show me Fincher cutting The Social Network on FCP X and you’ll have me on board.

Across the board Apple’s support for creative apps is fading, whether it’s their own creative apps, new frameworks for pro apps, or supporting third-party apps investing in their platform. The dream of a desktop of consistent Cocoa apps is farther away than ever.


  1. Russell doesn’t reference them, but the most recent Flurry statistics I found are from 2016 and have the mobile web at 8%. ↩︎

  2. I’m using the term “Cocoa”, instead of the more precise “AppKit”, or the more understandable “Mac-like”, for historical reasons. If you followed Mac software during the 2000s, then you heard a lot of discussion about Cocoa and its benefits, in particular in contrast to Carbon. A Cocoa Mac app connotes a certain set of characteristics: sharing UI components with the rest of the OS (with consistent text editing in particular), support for system-wide features like Services, a customizable the toolbar, and, if you’re really lucky, AppleScript support. ↩︎

  3. Apple appears to market two types of Mac apps: Mac App Store apps, and apps that aren’t in the store, but are important enough to move Macs. For example, their macOS page currently lists Adobe Illustrator, Cinema 4D, Maya, and Zbrush. What Apple seems to never do is market new apps that aren’t in the Mac App Store, which are exactly the most important apps for the future of the Mac as a platform. ↩︎

  4. To illustrate how Core ML is more useful for iOS apps than macOS apps, consider the most natural way you’d edit photos on each platform: On the Mac, you’d use a complex app like Adobe Photoshop or Adobe Lightroom to edit photos entirely manually, whereas on iOS, it’s more common to just select from a few preset options that edit your photo automatically. This whole approach of letting the machine make the decisions for you, leveraging tools like machine learning, stems from input being more limited on iOS and iPadOS. ↩︎


Desktop, Mobile & Web Apps & Their Benefits

Once upon a time desktop apps reigned supreme, they were the only game in town. When the calendaring web app 30 Boxes was released in 2006, a couple of months before Google Calendar, the idea of a web-based calendar was still novel. Back then, your calendar was managed by a native desktop app like Microsoft Outlook or iCal. Now Google Calendar is probably1 the most popular calendar app there is, and desktop and laptop sales are declining overall. People are using their mobile devices for tasks they once would have used a desktop or a laptop for.

The post-PC era means the desktop, and to a lesser extent, the web, are in decline, and mobile is on the rise. But what do we make of the fact that some areas of native desktop software seemingly have a gigantic lead that doesn’t seem to be budging?

We now have three separate, distinct platforms: web, mobile, and desktop. Desktop was here first, so it’s inevitably losing marketshare as the other two gain it. The web came next, so it’s also losing it as mobile gains it. But things aren’t as simple as they seem when you look closely: Desktop software hasn’t really changed much since the web and mobile came along. The top 10 free apps in the Mac App Store include both the iWork and Microsoft Office suites, and the top paid apps include both Logic Pro X and Final Cut Pro X2. These are the same apps that would have been the most popular 20 years ago, long before mobile, and before the web really took off as an app platform. The iOS App Store, on the other hand, is dominated by games and social media apps (although both Google Docs and Gmail make the top ten).

The Types of Apps in Transition

If the desktop app market hasn’t changed that much, then where is the transition to mobile coming from? The simplest answer is that many of the new use cases that arose with the web, the biggest example being social networking, have transitioned from the web to mobile3.

This categorization isn’t perfect, for example, it doesn’t account for chat apps like AIM and ICQ which were native desktop apps, not web apps, and have now been replaced by mobile apps like Messages, Slack, and WhatsApp. “Network-enabled apps” is probably a more precise term, but web apps is fine for shorthand. The collaborative nature of the web still captures the spirit of the native desktop chat apps.

The contrast between the decline of native desktop chat apps, and social media on the web, compared to the continued relevance of traditional desktop use cases, like Logic Pro X, and Final Cut Pro X, where it’s mobile that’s struggling for relevance, highlights a flaw in the post-PC narrative of a declining desktop. If that narrative were accurate, you’d expect to see a decline in all desktop use cases that looks something like the desktop chat apps, but we don’t.

The Platform Advantage Matrix

What’s happening isn’t a transition, it’s a migration. Apps are migrating to the platform whose advantages best fit their use case. I’ve tried to summarize the advantage of each platform in a single word4:

  • Desktop: Power
  • Mobile: Simplicity
  • Web: Collaboration5

The desktop is for apps with long lists of features, the defining characteristic of powerful apps is that they support an ecosystem of third-party plugins. The web has the best features for allowing people to view and edit the same content, the URL is the easiest way to share anything. Mobile is the gold standard of making apps easy to install, easy to run, easy to use, and has convenience features like prefetching.

Simplicity is desirable in all apps, except for those used for creation, where it runs contrary to the flexibility necessary for expression. So mobile apps are the baseline, and the best the platform for an app, unless one of the advantages of the other two platforms is more important: If its main purpose is to be powerful or to facilitate collaboration. The reason so many apps support both mobile and web, without having a native desktop app, is because collaboration and simplicity complement each other, while power is at odds with both6.

Apps & Their Platforms

Here are some examples of apps categorized by the platform advantage that’s their highest priority:

Facebook, Instagram, and Twitter all end up in simplicity, because while social media is inherently collaborative, the space is so competitive that zero compromises in the all important simplicity category ends up being the highest priority. Trello and Slack are the inverse, with less competition for their categories, their essences is reflected as collaborative software. Of course, Slack and Trello also have mobile apps, but their native apps feel more like web apps than truly native first apps, because collaboration is their highest priority. Almost all of the collaboration and simplicity apps have both mobile and web apps (the only exception is Figma), while none of the power apps7 have either mobile or web apps, because while simplicity and collaboration are in alignment, power conflicts with both.

Figma is actually quite powerful, but it ends up in the collaboration category because that’s it’s defining trait. You could say that Figma’s marketplace bet is that the interface design industry will sacrifice some power in order to collaborate more effectively. Notably, an app like Figma still leaves room for other more powerful desktop apps in the same category, because there will always be some people that want more of the power that Figma sacrifices in order to be more effective at collaboration.

There’s also a special category for apps that don’t fit anywhere else. This mostly illustrates flaws in this exercise. The software landscape is messy. Every app is made up of many small decisions, and they reflect their creators, just as much as they reflect the marketplace. Any attempt to pigeonhole them is bound to run into some problems. But the idea is, if you zoom out far enough, some patterns emerge that can help us better understand the platform migration that’s underway today.

Conclusion

The goal of this piece is to predict where software is going. It’s common today to predict that mobile, and to a lesser extent, the web, are replacing the desktop. Steve Jobs famously said the desktop is going to be like trucks8, but I think a more direct comparison is that the desktop is going to be like the command line. The command line was once the only interface computers had, then the GUI came along, and now that’s the main way the vast majority of users interact with their computers. But that wasn’t the end for the command line. It’s continued to be an indispensable tool for developers, to the degree that software development is almost impossible without it9.

The future of the desktop might be like the command line. That may sound like faint praise, but that depends on the prism you’re looking through. If the desktop continues to be the best place to do the most exciting things you can do with a computer, things like 3D, audio, motion graphics, programming, and video—all of which haven’t budged since the introduction of mobile—then it will be the most important platform to do the things I care about the most. Sure, I’ll still have an iPhone and an iPad, and I’m sure there will be some great creative tools on those platforms, just like there are some great GUI and web tools for programming that aren’t on the command line today. But if the desktop continues to be the heart and soul of where creative work is done, then that’s the platform that will have won to me.


  1. I’m not aware of any marketshare numbers for calendar apps, but while Microsoft Office is clearly more popular in the enterprise, I’d assume Google Calendar is more popular for individuals. ↩︎

  2. Presumably more apps like Final Cut Pro and Logic Pro X would be in the Mac App Store if Apple eased up on the sandboxing restrictions for Mac App Store apps. ↩︎

  3. There are some new categories of app that the mobile form factor, and economic model, have enabled to emerge. Some examples are the wonderful Procreate, and the explosion of mobile gaming. ↩︎

  4. Summarizing the advantages of each platform with a single word is inherently flawed, because it doesn’t account for a bunch of secondary characteristics that each platform has. For example, the web is also the easiest way to make an app available on any device, and mobile grants access to sensors and data that aren’t available anywhere else. But the goal here is just to distill the essence of a platform into a single word, in order to create a framework that we can use to look for broad patterns. ↩︎

  5. Collaboration is a much broader category than it at first appears, encompassing not just obvious examples like Google Docs, but also, content management systems, and any kind of employee portal. The majority of software used to run businesses is collaboration software. ↩︎

  6. Power is at odds with collaboration because, the more powerful an app is, the harder it is to use, and the harder it is to use, the fewer people who can use it, which means fewer people to colloborate with. ↩︎

  7. Adobe Photoshop is one of the only powerful apps that’s attempted to move to mobile so far, and the jury’s still out on how successful that’s been. ↩︎

  8. Amusingly, the top selling vehicle in the US is a truck, the Ford F-Series↩︎

  9. The lack of a command line appears to be singlehandedly holding back programming on an iPad. ↩︎