Developer: “Losing Control of Our Destiny to Apple”

TMO’s Dave Hamilton attended MacTech 2011 and had the opportunity to interview several Apple developers. Here’s the conversation Mr. Hamilton had with Red Sweater Software’s Daniel Jalkut, famous for MarsEdit. They chat about how Apple’s new app rules could deprive developers of control over their destiny, Apple’s Mac App Store lock-in and how Apple is trying to do too much.

MacTech 2011

Dave Hamilton: I know you’ve had a long history with Apple and developing for Apple. But I’ll get out of chronological order for a bit. Let’s talk a little bit about where you are now and how the last couple of years, especially the Mac App Store [MAS] has impacted you.

Daniel Jalkut: As you know, I’m an indy developer. I run my own business. For the time being, it’s just me. And I think of lot of us in the same boat were kind of excited — and cautious — about the Mac App Store. And I think there’s still a reaston to still be cautious. But for me and for other folks I know, assuming you can get your app approved, it’s been a boon.

One reason is that I think I have an enviable position compared to many developers in that the app has its own name recognition and it has its certain attraction to people. For whatever reason, it’s sort of selling itself without a lot of aggressive marketing. I find it interesting that I also have other apps in the store, that while they’re making a little bit of money, they’re not, like, home runs, making me rich. Not that MarsEdit is making me rich. It’s doing well is the MAS, and it’s been a notable transition.

Now, I’m not very good at the financial analysis of my business. Am I broke? No. But I can say that the MAS has made my business more viable. And that’s good obviously.

Daniel Jalkut

And that makes it complicated, at the same time, to have skepticism about it. And worries about where it might go. One of the things I’m talking about here at the conference in a few days has to do with App Store licensing and how you get locked into Apple’s system. I still sell my stuff separate from the MAS, but one of things you succumb to is Apple controlling everything. That’s good in many ways; they take a lot of work out of your hands. But then you have no control over the customer relationship. Or limited control.

So that’s been my reaction over the last couple of years. It’s like woohoo! Making more money! But it’s also a bit of a downer that we’re losing complete control of our destiny. It’s about coming to terms with how do we maintain as much power and control over our destiny as we can while taking advantage of all these great new things Apple is giving us.

TMO: Now you were in the MAS early, before some of the recent changes were announced. I’m referring to sandboxing. How has that affected your feelings about whether the MAS remains a good thing or a bad thing?

DJ: I think sandboxing will affect almost every app in the MAS. It does affect my app. It will affect all apps in a kind of spectrum: minor changes in function, minor changes in philosophy to an outright … this app cannot exist. What’s really frustrating right now is that we don’t know much about the specifics of what Apple’s sandbox restrictions will be like. Those of us who went to WWDC have some clues, but there’s nothing yet official.

TMO: I was just thinking… we tried to set up this interview during WWDC, but we couldn’t make our schedules work. The funny thing is, this is, what, five months later? And we don’t know a whole lot more. In fact, it could be argued that we know less because Apple sounds non-committal on things they sound committal about then.

DJ: Right. I would say the only things we know now that we didn’t know then is that there are some sandbox entitlements that exist in the shipping OS X Lion that we know are available to us. And we know that there are entitlements that are not documented and don’t [formally] exist yet — for things done in the MAS today.

Sandbox

A big example of that is Apple events. Sending arbitrary Apple Events to arbitrary targets. Something only the weirdest app would want to do. But… any app that allows you to run an Applescript that integrates the functionality of one app with another app needs to send that other app an Apple event.

There’s a big class of apps that aren’t particularly controversial in what they do, but they nonetheless don’t have behaviors that fit into the sandbox model. And this is where it’s going to be really tough to see how Apple handles this.

The working theory right now is that Apple is going to impose new rules at some point, that they’ll notify submitters that they need to meet certain criteria. So the big problem right now for me and many other developers is: so far, the MAS approval criteria, as stringent as the criteria are, are more lenient than the sandbox rules. So we see that Apple has approved a vast number of app behaviors. And assuming that Apple doesn’t provide us with new sandbox entitlements, it would make sense to imagine Apple, someday saying, this is no longer an appropriate app for the MAS. So that puts developers and users in a tough situation.

TMO: More developers than users. Let’s be fair. If, for some reason, Apple pulled some user’s favorite app out of the MAS, they would be inconvenienced and would have to figure out what to do. But the vast majority of users that have never used the MAS won’t ever have cared.

Daniel Jalkut 3DJ: Well, the problem is much worse than it would have been if the MAS had started with these restrictions. So the problem is now, I bought BBEdit, let’s say, and it has sophisticated tools for integrating with other apps, maybe opening your stuff in a browser, things that you think are useful — but which might now be covered under sandbox rules. This all leads back to the problem of everything is in Apple’s hands, the strategy Apple has taken in the MAS is to aggressively update users. And to provide no mechanism for downgrading.

So if I go into the MAS, and I say, great, BBEdit has version 11 out. And I upgrade to it. And in order to stay in the MAS, they [Bare Bones] have conceded to remove certain features, now I’ve got an app I paid for that’s less functional now than when I paid for it. And Apple offers me no mechanism to go back.

So now, the user’s pissed. They don’t have anyone to take it out on except Bare Bones, and Bare Bones has little they can do to ameliorate the situation. And Apple is really good at pretending that they’re not very bothered by situations like this.

TMO: That’s right. The public face is, oh, yeah, there’s no problem.

DJ: These things will happen. The good news is that we developers are in a heck of a lot of good company with other developers who are going to be facing the same problems. So what I hope is ….

TMO: … that there’s safety in numbers.

DJ: Right. Some apps are going to find creative ways to continue to fulfill user expectations while being sandboxed. Just to clarify, sandboxing is a great thing.

TMO: It’s worked well on iOS. For most cases.

DJ: And all computer users who are my age or older are completely familiar with, if not comfortable with the idea that when you download and install software, you’re giving that software more or less complete access to your computer. That works because, for example, I trust Bare Bones. But just because I trust them doesn’t mean they won’t make a mistake.

Apple is going to go through this growing pain period. I think the way Apple sees this is that people are going to scream for a year or two, and then the Mac is going to be an app market place like iOS where there are only so many things you can do. For example, there’s no way in iOS for an app to clean up junk from another app’s data folders. Nor probably should there be. But there is such a history of that kind of freedom on the desktop…

Really the desktop, because it’s a more true multi-tasking environment, invites inter-app behavior. Connected behavior.

Take, for example, TextExpander. [TextExpander interacts with other apps, inserting shortcut text at the cursor. Dave opines that they may not be able to stay in the MAS. -JM] They’re in the MAS now. It’s an app that’s popular. So there are are probably several outcomes. You can look at it very positively, very generously: [the new sandbox rules] will only apply to new apps. Period. But that’s not how Apple works. [Laughter all around].

The second grade down from that is that it [the new rules] will only apply to new releases of existing apps. So existing, functional, approved by the MAS review team apps stay on the store until we can come up with a way to sandbox them.

TMO: Or… or … until a new release of OS X breaks something that app uses, and the developer can’t even push out an update.

DJ: That’s the fear. And then, the worst case scenario is that Apple retroactively decides that some app that we approved no longer fits our idea of what belongs in the MAS. There’s no mechanism in place that saves the user or the developer from grief in that situation.

Daniel Jalkut 2

Imagine a user that buys a new Mac and has to re-authorize and re-download the app. If Apple comes to a point where they are downright removing apps that no longer fit the [sandbox] criteria, then you’ll have some shit hits the fan insanity when some number of customers discover that they gave good money to Apple, and they no longer even have even the shell of an app they purchased.

Apple has to solve this somehow.

TMO: I got the feeling at WWDC that Apple was floating an idea. I do this myself with the TMO staff or my family. I present it as gospel and then I wait to see how much flak I get. Because if you ask for feedback, sometimes you get more than you want. But if people have an honest-to-goodness problem with it, they’re gonna raise that problem even if they feel like this is where the world ends. It felt to me like Apple may have been doing a little bit of that with this sandboxing thing. I hope so.

DJ: It’s a great technology. Just imagine how great it could be if they take their time to accommodate the things that are already approved in the MAS. They’ll make the sandboxing system more robust and more useful. And more accommodating, which is not Apple’s wishes but users’ wishes. Right? Because, in the end this is about protecting users from malicious code.

TMO: And if there’s some hugely popular app that goes against what Apple might have otherwise proscribed, perhaps like you said, that’s the lesson for Apple — to be a little malleable.

DJ: That way I look at it, if it doesn’t screw up your Mac, there should be a rule that the [needed] action should be disclosed to the user…. So you could imagine of Apple taking this quandary and turning this into a user empowering feature of the OS, like the keychain. An apps asks for access to the keychain, and then the system, on behalf of the app, asks the user to approve it. Allow once, always, or deny. This could quell the concerns of developers who might have their app shut down without it.

TMO: How willing is Apple to create these permission systems. We all know what it was like in Windows [Vista] when every time you tried to do anything in Windows, it would ask for permission. We know that Apple knows all about that and doesn’t want to create a world where the user is barraged with questions.

DJ: There has to be a way to do it that allows the users to express their permissions less frequently. On a less fine grained scale.

The thing that’s frustrating about sandboxing is that, actually, Apple’s default list of entitlements covers quite a bit of what we need. It’s frustratingly close to what most developers need. And then they have some temporary ones, and say, well, use these until we come up with a better solution. That’s nice. At least it’s something, for now.

But there’s that frustrating level of functionality where — from everything we know about using personal computers for the last twenty-five years, it feels like something that users should be able to with an app, but it’s not covered by the new rules.

So. We will see.

MarsEdit

TMO: So, let’s talk about you! What’s new coming out of Red Sweater Software?

DJ: Unfortunately, there isn’t much new coming out of Red Sweater, and part of the reason for that is that I’m having to come to terms with the vast amount of stuff that Apple’s doing. To some extent, I think all Mac developers are spending some amount of their engineering resources grappling with things like the sandbox. These are great things. New things in Lion like autosave and versions and things like that. This is a great problem to have in a platform.

But it’s been a persistent, joyous complaint of mine that Apple is doing too much. But to answer your question, I’ve been just iterating on MarsEdit, which is my main thing, and trying to chip a way at an iOS version of MarsEdit. It’s just a distant dream of mine — being able to pursue an entirely new app. Right now, there’s so much to do with existing apps, and bringing them up to the latest that Apple has to offer.

TMO: I know that users of MarsEdit will be happy to hear that. It has a growing and loyal user base.

DJ: It’s one of those situations where the user interest and the financial rewards make it a priority. It’s a good problem to have.

TMO: Well, then we won’t keep you from that any longer.

DJ: Thanks for the chat. The sandboxing thing was really on my mind.

TMO: Dan, thanks for sharing with us.

________________

You can follow Daniel Jalkut on Twitter at @danielpunkass