Sunday, February 22, 2009

The Store Story: A Follow-up

I'd noted previously, that Apple's opaque and inexplicable policies (soi-disant) about which apps make it into the App Store are a direct disincentive to developer investment in the platform. That's underscored by an article in PC World which talks to developers of ten rejected iPhone applications, and gets some relevant quotes:
  • "We spent a lot of time and money on this product. It sucks to develop an app and get it rejected for reasons that you weren't aware of."—Patrick Alphonso, CEO, Swamiware
  • "Their policies and approval are shrouded in mystery. Whenever an app is submitted, it seems like playing Russian roulette."—Hardy Macia, Catamount Software
  • "Their reasons for banning us really didn't add up...After that, they pretty much stopped talking to us or returning e-mail and voicemail."—Sam Magdalein, Air-o-matic
  • "In a word, I was upset. I tried contacting Apple to see if there was any way to resolve their concerns, but they never answered my e-mail."—Josef Wankerl
  • "Apple's 'reasonable judgment' seems to depend largely on an individual reviewer's judgment rather than any simple-to-gauge metric."—PJ Holden
  • "By the time you get rejected, you've already wasted all the development time and expense, and there's no recourse to get [the application] accepted."—Alec Vance

13 comments:

Anonymous said...

The irony here is that most linux distros do not operate any differently. Also, there are artificial hurdles in place for software that is not in the official repos.

Lefty said...

That's not especially ironic: if your contribution doesn't make it into a distribution, you've still got plenty of ways to get it into people's hands and onto their machines.

With the iPhone, if Steve's minions don't like it, you're completely screwed.

(Other differences include being able to get--with any luck--early feedback on a proposed submission, etc...)

Anonymous said...

The irony is this: open source software is supposed to be open, but Linux distros are running a half closed model of software distribution (allow 3rd party software but actively discourage it with technical and political means). Running 3rd party software on Windows and Mac OS X has no such limitations, it's the core model of the ecosystem.

(xix)

Lefty said...

We're still not getting to irony, I'm afraid. There's no problem whatsoever in either installing or running third-party software on Joe Random Linux System, and Microsoft doesn't allow the inclusion of random pieces of third-party code in Vista.

I'm not seeing the analogy with Apple's App Store, which leaves you no recourse at all for distributing your application--which was the point here--versus Linux distributions. Sure, the "policies" for inclusion may be foggy, but there are always alternatives.

Anonymous said...

There's no problem whatsoever in either installing or running third-party software on Joe Random Linux System

But there are problems:

1. There XYZ different formats for repositories. It's really hard to support all of them for 3rd parties.

2. It's hard to install additional 3rd party repos for non-technical users. (maybe not in suse with their single click feature?)

3. Libraries are all different versions, it's a minefield for 3rd parties. It's a lot of work to create and ship large cross-distro solutions.

4. and so on... (i'm too lazy to write everything)

The suggestions/solutions to the problems listed above are usually laughed off the distro mailing lists: "There is no problem"/"Solving it would mean it's easier to ship closed source apps and we don't want that"/etc.

Lefty said...

1. There's a distinct difference between "really hard" and "impossible".
2. This would seem to be more a failing of, e.g., synaptic, etc. Again, "hard" isn't "impossible". If Aple doesn't let your app into their store, you cannot get it onto potential customers' devices, no matter how hard you work.
3. This is a bit of a problem, but again, not an insurmountable one. And it's a side-effect of having a lot of distributions. It's not comparable to what I'm talking about here.
4. See above.

Sure, there are difficulties and disincentives to distributing code among the bazillion various Linices. But they're not the sort of problems I'm talking about here.

If Linus were personally approving or disapproving submissions such that if he said "No", you couldn't even compile your code in such a way that it could ever run anywhere other than on your own machine, that would be roughly comparable.

Anonymous said...

So you basically agree with me - there are difficulties. It's not as bad as iPhone, but it's certainly worse than Windows or Mac OS X. So much for openness of open source.

xix

(I know my posts probably won't change your mind, so we can stop wasting each others time if you wish... But if you still wish to beat the dead horse, I'm still here :D)

Lefty said...

I'm not disagreeing with you that "there are difficulties". That'd be like disagreeing that there's a moon.

Where this conversation isn't making much sense is that you can't apparently manage to see the distinction between "a situation which, though difficult, can potentially be addressed, to various degress, in a variety of ways" on the one hand (and which, indeed, affords substantial resources for discussion, debate, etc., in the process), and "a situation which is flat-out impossible to resolve, no matter how hard you try" (and which involves sending emails which don't get answered to faceless non-entities in the basements of Infinite Loop).

Lots of things are difficult. That doesn't make them directly comparable. You seem to have some sort of unspecified axe to grind here, but it's really not on topic.

Anonymous said...

Lefty, you let anonymous get you off on the wrong track.

No, there is almost no similarity between wanting to get into the repos for distros and getting rejected from the app store.

Yes, making different rpms and debs it not amazingly easy. It takes some build services or a few VMs. Then when they go to your website you have to give them a logo of their distro and then give them their rpm/deb/whatever.

If Apple does not allow your application on the App Store, as far as I know, your only choice is to have people that want to use it jailbreak their iPhones. Which of course is a) very technical and b) going to revert even on a minor OS.

Anonymous said...

@Lefty: I see the distinction. Let me draw an ASCII graph:

ideal situation:

iPhone --- Windows/MacOSX --- Linux
openness of software distribution --->

current situation:

iPhone --- Linux --- Windows/MacOSX
openness of software distribution --->

Maybe you disagree with what I've just drawn, but that's my point of view (a 3rd party dev.). It should also be clear why I find your post ironic.

Lefty said...

Oh, I understand what you're saying, and I do disagree...

There's a topic for another posting here, perhaps, but the subject's too involved to adequately deal with in comments...

In short, you gloss over the questions of "'open' from whose viewpoint" and "'open' presupposing a given amount of effort on someone's part"; many aspects of not only the iPhone, but also Windows and OS X, are "not 'open' by any conceivable interpretation of the term". If there are such aspects on a Linux distribution (e.g., Adobe's Flash plug-in), they're there (presumably) by the user's choice, and (in many cases, anyway) in the face of more "open" alternatives.

In really, really short, you're making some gross oversimplifications in your eagerness to press your point.

Lefty said...

Yes, Dante, you've got it exactly right.

Anonymous said...

I'm not an expert. But is it not possible to distribute a statically-linked binary with everything it needs in a tarball? I'm sure I've used closed-source software before that works this way.