Pixel Envy

Written by Nick Heer.

Defining ‘Free’ For All

Brent Simmons wrote a piece recently that I’ve been thinking about a lot:

In a way, it feels like iOS devices are rented, not owned. This is not a criticism: I’m totally fine with that. It’s appropriate for something so very mass-market and so very much built for a networked world.

But what about Macs?

Macs carry the flame for the revolution. They’re the computers we own, right? They’re the astounding, powerful machines that we get to master.

Except that lately, it feels more and more like we’re just renting Macs too, and they’re really Apple’s machines, not ours.

With every tightened screw we have less power than we had. And doing the things — unsanctioned, unplanned-for, often unwieldy and even unwise — that computers are so wonderful for becomes ever-harder.

I don’t mean to pick on Simmons here — I’m not picking on anyone, in fact. I’ve seen a similar sentiment expressed by lots of people lately; but, in particular, due to two recent triggers: Marzipan apps, and app notarization. So that’s been rattling around my head lately.

But I’ve also been thinking about a piece by John Gruber, written between the time the iPad was unveiled and when it was made available to buy:

If you could go back and show my 10-year-old self an iPad — millions of colors, video, photographs, gorgeous typography, a touchscreen interface, networking (wirelessly!) — and offered to let me write web apps for it in exchange for my agreeing never to touch an Apple II again, I’m pretty sure I know what the answer would be.

Something important and valuable is indeed being lost as Apple shifts to this model of computing. But it’s a trade-off, because something new that is important and valuable has been gained.

Change is uncomfortable, particularly when it involves a shift in the balance of power. The things that developers can do in MacOS today are, in some ways, more limited than what was possible thirty years ago. Restricting a developer’s access to memory, for example, has likely made computers more secure and more stable, but it would not be possible without shifting control away from developers. Over the same time period, developers have been able to do far more due to greater system capabilities and easier-to-use tools.

I have not kept secret my personal feelings about the four iOS apps Apple shipped with MacOS Mojave. They are poor Mac apps. I am, therefore, more than a little apprehensive about what lurks a month away at WWDC. But I, frankly, don’t give one thought to what technologies any app is built with so long as it behaves like a Mac app. Electron-based apps, clearly, do not; neither do the apps Adobe has shipped for the Mac since, like, always. But if Panic’s next version of the-app-formerly-known-as-Coda is built with the same underlying code base for Mac and iOS devices and it feels entirely native on both, who am I to complain?

What does this say about platform freedoms and capabilities in general? Will Apple one day require all third-party Mac apps to come from the Mac App Store; or, would they consider locking down the platform entirely? I think the doom and gloom thoughts are wildly off base.1

Do I know, for certain, that Apple isn’t going to massively fuck up MacOS through its own actions and what it encourages from third-party developers? Of course not. But I think there’s a whole world of developers out there who are eager to find out what they can do once MacOS 10.15 ships because, perhaps, those things were unnecessarily complex or out of their reach. Something about that is, in its own way, freeing.


  1. A separate but related consideration is Apple’s motivation for control. There are some people who, as I see it, consider Apple fetishistic about controlling their platforms for no other reason than for its own sake. I don’t buy that. I think there are specific motivations for when Apple tightens control over something, often with security and privacy in mind. Their effectiveness at doing so is debatable, but I don’t see it as control for control’s sake. ↩︎