Dear Apple

Dear Apple,

I bought my first Apple products — the original (512k!) Macintosh and an ImageWriter printer — in the spring of 1985, and in the decades since have spent thousands and thousands of dollars on things made by you. Do you know why I have been so loyal all these years? Two reasons. One, the quality of your hardware. Two, the quality of the software made by independent developers who create for your platform.

Your own software — operating system and apps alike — has been woefully inconsistent. Every OS release, on all your platforms, brings new features but also new bugs. Especially on the Mac I have perpetual problems with wi-fi, Bluetooth, window management, and support for external monitors. iOS is comparatively more stable but after ten years it’s still impossible even to select text reliably. Your apps are mediocre to poor, with only a few exceptions: GarageBand is a great app, as is Keynote; Preview for the Mac is excellent, and Pages and Numbers have gotten better and better. But again, those are exceptions. Mail is an unmitigated disaster. Safari is adequate but feature-poor and only to a limited degree extensible (though at least it doesn’t eat memory the way Chrome does). Messages is barely adequate on iOS, seriously underpowered on the Mac. Even your Settings and System Preferences apps are poorly designed, in the case of iOS shockingly so.

But you have some amazing developers writing apps for your platforms. Some of the best apps, in my experience:

I could go on. But what I want to say in this post is simply this: Apple, you need to realize that these developers, whose work is better than that of almost any of your own software designers, drive the success of your platform. And yet, as recent events have reminded us, your treatment of them is shabby at best and in some cases indefensible. You charge them extortionate rates for appearing in your App Stores — some are not well-known enough to survive outside an App Store and yet your 30% cut eats so heavily into their profits that it’s barely worth their time to make software — and you apply your rules for appearing in those store inconsistently, even capriciously.

Your behavior has been so frustrating to the people at Rogue Amoeba that they have gotten out of the Mac App Store almost wholly — as Bare Bones, the makers of BBEdit, also did for a few years — but not every developer has the kind of widespread and loyal user base that Rogue Amoeba and Bare Bones do. And of course the iOS App Store is the only source for iOS apps, which may explain why Rogue Amoeba doesn’t make any iOS apps.

Apple, your arrogant and dictatorial behavior makes no sense. It’s not in your interest to frustrate your best independent developers. It’s in your interest to get smart, talented people excited about developing for your platforms. Heck, maybe you should be paying them. But short of that, there are three things you need to do:

  1. Apply your existing rules consistently.
  2. Alter those rules to promote maximum creativity and ambition in Mac/iOS software development.
  3. Take a smaller cut so more developers can stay in the game.

confuser

I wrote recently about software that’s hostile to users who lack an ideally functioning sensorium, but software can also be hostile to users who lack an ideal knowledge base. Often I find myself looking through the preferences for an app, with checkboxes or toggle switches, and see next to those options terse descriptions that make no sense to me. I don’t know whether to check the box or not because I don’t know what my choice will do. This happens when the makers of software assume that all of their users will know most of what they know about their software, or at least about that particular category of software.

I could illustrate this point with some examples, but I really don’t want to. Making software is hard — especially for independent developers who have limited staff and limited budgets, and most of the software I own comes from such developers. (All of the software I love comes from such developers.) I have no interest in shaming people who may well be scrambling to debug or update their code and have no leftover time for communicating more clearly with their less-than-perfect users. But if any software developers want to get better at this kind of thing, they could learn a thing or two from Shirt Pocket, the makers of SuperDuper.

SuperDuper — the official name concludes with an exclamation point but I ain’t doing that — is a fantastic tool for backing up your hard drive and making it bootable, so if you ever find that your computer won’t start up you can do so from the backup disk. I’ve owned SuperDuper for fourteen years and have used it countless times for keeping my data safe.

When you’re ready to copy your hard drive, this is what you see:

explanation

Notice how the app explains, fully and in plain English that dogs and cats can read, precisely what the app is about to do. Even if you know almost nothing about how computers work, you can figure this out.

Now, SuperDuper does all this because it’s an extremely powerful app — you have just given it permission to do things with all of your data, and making the wrong decision about all your data could be catastrophic — so a developer might say that you don’t need to be this explicit in apps, or preferences within apps, that have far lower stakes.

But why not do it? Why not try to make using your app more comfortable for users who don’t fully understand how your app works? Sure, full descriptions take up more room in your Preferences window, but that’s a soluble design problem. And full descriptions give those users more confidence. They make us think that you’re on our side.

As I said, I don’t want to shame anyone. But I took the time earlier this week to send emails to a couple of developers, explaining how uncertain I am about some of their preferences. “I think checking this box will do X, but I’m not sure — maybe it’ll do Z instead.” They haven’t replied.

inaccessible

Of all the many task-management apps available for the Apple platforms, the one that fits my needs best, by far, is Things by Cultured Code. And if I’m using the iOS version it’s a sheer delight. I can organize everything from small daily tasks, to lists of movies I want to watch, to complex multi-stage projects. It’s beautifully designed and has lots of power when I need it.

But often I work on a Mac, and when I do, Things makes me miserable. I blink and strain my eyes until they hurt, I crane my neck towards and away from the screen. After anything more than five minutes I’m frustrated and in pain. The reason: the makers of Things have since day 1 of the Mac version of their app — twelve years ago — refused to allow users to adjust the size of any text in the app. They like text small and so they keep it small. But my aging eyes can no longer adjust, even with my fairly sophisticated lenses. So sometimes when I’m using the Mac I will pull out an iOS device rather than struggle with the text on the Mac version of Things.

It’s not rare for software companies to do less than they might, and probably less than they should, to make their apps accessible to people whose senses don’t function peecisely as a healthy 25-year-old’s do. But it is really rare, these days, to find a company as actively hostile to non-ideal users as Cultured Code. It’s hard to imagine a usability feature more basic than the ability to adjust text size. But they won’t do it. It’s like someone producing a music app that doesn’t allow you to adjust the volume. (“We’ve chosen a volume level that we think will be best for most of our users.”)

I have a lot of money and time invested in the Things apps, but it looks like I’m going to have to turn to an alternative that may be less well-suited to my workflow. But that’s okay; I can adapt my workflow. I just can’t adapt my eyes.

(And dear reader, please do not respond to this post by giving me advice. Whatever you think I ought to do in this matter, I have tried it, and I do mean whatever. And while I have you on the line, please don’t ever give anyone advice, about anything, unless they explicitly ask for it.)