Seamlessness versus sexiness: why you should code, and Apple should let you break a nail

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:

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 yakshaving, 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.

4 thoughts on “Seamlessness versus sexiness: why you should code, and Apple should let you break a nail

  1. I’ve had the same fear about Apple taking away the terminal. And as soon as they do, I’m done with them. “Drop the terminal into the dock” is my mantra any time I get a new Mac. It’s probably the second most used application I have, after the web browser. Moving to make their desktop OS more like iOS is not a welcome change in my view. (But then, I also own a Zune and an Android phone, so I’m probably not the stereotypical Mac user!)


  2. As a long time mac user, anything I say should be taken with a grain of salt. (I had the implant installed in 1985. It’s a bit out of date, but it’s buried deep in my being) That said, I know quite a few people that work at Apple, and one of the pet peeves they have is when people assume Apple is going to take away their power tools on the actual computers, instead of the iOS devices.

    The filesystem and terminal aren’t going anywhere, because they still need them to write the software on the Mac. Sure, users can ignore them and keep to the Mac App store, but that’s only going to be an option.

    Also, kudos for working yak shaving into the blog.


    1. Well, I hope that’s true, and that stuff continues to be exposed to all of us, not just to people with Magical Developer Access. But really, when they’re keen on importing iOS metaphors into the desktop and their messaging is about the iOS experience and not us nerds, it’s not such a big assumption to make. Perhaps xcode should come with a screensaver that says “WE PROMISE NOT TO TAKE AWAY TERMINAL” to counteract that. ;)


  3. To clarify: the point of this piece is not that male developers are clueless. (I was having an email thread with someone who had taken it that way.) The point of this piece is more like, everyone is clueless about most things outside their experience; a developer pool with a fairly homogeneous set of experiences is going to have some pretty uniform blind spots; therefore a diverse developer pool is good. If most developers were librarians, we’d have an app universe that was totally awesome for MARC records, kittens, and shoes, but failed to satisfy other interests that are less commonly on librarians’ radar. That’s not a criticism of librarians any more than this post is a criticism of men. It’s a flaw of homogeneity.


Comments are closed.