So a while ago, before Annual ate my brains, I ended up in a Twitter thread about user-serviceability (or lack thereof) of the new Retina MacBook Pro (“the least repairable laptop we’ve ever taken apart”, according to the story that kicked off the thread). A few of the tweets for flavor:
— cindi (@cindi) June 17, 2012
@griffey so it offends me that Apple is taking away repairability. It’s a pat on the head: “just let us do that, dear, u will break a nail.”
— cindi (@cindi) June 17, 2012
As someone who’s never once tried to open up my laptop, I came down firmly on Cindi’s side, because here’s the thing: Developers’ sense of utility and sexiness drives what you — you — can do.
Let me illustrate by example. My friend Colin is going the independent app developer route. He’s writing a fertility tracking iPhone app. When he was thinking about the sorts of things he could do with data tracking, he investigated weight loss apps, but found that the App Store already has a huge number of those; there was no way to stand out in that crowded space, or provide something that wasn’t already there. But the number of fertility tracking apps is small, and he and his wife aren’t satisfied with any of their features.
To be blunt, this is because overwhelmingly developers are men. Developers write programs that solve their needs or scratch an itch, that let them play with seductive problems they’ve run across in their everyday lives. And most developers don’t have everyday experiences pertaining to their menstrual cycles, because most of them don’t have menstrual cycles, because they’re men.
Developer demography drives software availability. If the thing you want to do is something that a sizable developer population wants to do, because they run across it in their everyday lives, there’s an app for that. So if you happen to be a reasonably affluent white dude, you’re probably set. And if you don’t…?
This, right here, is a major reason I cofounded the Library Code Year interest group. There aren’t a lot of librarians in the developer community, and that means things librarians need or want aren’t on most developers’ radar, and lots of tools that would make our lives better don’t get built.
So let’s get back to Apple. I have no problem with Apple recognizing that far and away the bulk of its business comes from non-developers who want computers that don’t make them think. Their business call. I do, however, have a problem with Apple moving in a direction hostile to developers.
You see, right now, after a bit of yak-shaving, a Mac laptop is a highly serviceable development environment. It’s got BSD at its heart, which means it gives me Terminal and a command line and a filesystem that are recognizable to an enormous infrastructure of established tools. I have a python shell, out of the box. Hooray!
iPads, I’ve heard they’re a plausible but difficult development environment. Haven’t gotten this to work myself, though. Skeptical. Not at all clear how it would work without windowing, without exposing the guts of the filesystem. Have had mixed results with the code editors I’ve tried.
And this direction Apple is going…?
No user-serviceable parts inside will drive away the tinkerers. Even the tinkerers who, in fact, have never replaced a single part on any of their Apple products — they won’t like the fact that they can’t.
And the hermetically-sealed, where-the-hell-is-my-filesystem direction that iOS (and, by extension and influence, the desktop OS) is going? Well. The thing that convinced me to switch from Linux to Mac was Terminal, but Terminal’s philosophically in contradiction with the whole idea of presenting a beautiful surface and protecting you from everything under it. With keeping you from encountering maybe-scary things off the beaten path by taking away the ability to wander off it.
And here’s the thing: as small a percent of the hardware’s users as they are, the developers are the software ecosystem. The App Store exists because people write stuff for it. All the fun and useful things you can download for the desktop, ditto. And developers write things that appeal to their senses of sexiness and utility. The seductive problems, the everyday needs.
If developers think Apple is sexy, they’ll write for it. If developers think it’s useful — because it’s the tool they use every day, because using it they run into problems they want to solve, because in their lives they run into problems they know how to solve with this familiar tool — they’ll write for it.
Or, of course, whether they’re Mac users or not, they’ll write code that’s all about the Benjamins. Capitalism is great like that. I mean that completely non-ironically; good and useful things will happen for the Benjamins. That part of the App Store won’t go away. But the tools and the magic that power the heart of the internet and a lot of the things you can do on it — these are free, written out of a drive for mastery, the craving for respect among peers, love.
You can’t harness those motivations for tools developers don’t use. They’re not there to be harnessed. A no-user-serviceable-parts-inside hardware and software world is a world where the third-party ecosystem withers on the vine. Full, to be sure, of people trying to sell you something, but devoid of passionate elegance, of quirkiness, of love.
The developers will still be writing those things. (Maybe there will be more librarians among their ranks, by then.) But they’ll be writing them for ecosystems other than Apple’s. Ecosystems only developers use. Whichever ones still let them play. Wander off the path.
I’m writing this happily on my MacBook, the third I’ve bought. But I’m scared someday they’ll take my Terminal away. And I don’t know where I jump ship to there. Only that I’ll have to.