Hacker News new | past | comments | ask | show | jobs | submit login

I broadly agree with DHH, but the "warehouse of shit" argument is a bad one, and has been whenever anyone has tried to make it. The argument basically goes like this:

  - Apple restricts what languages can be used to increase the quality
    of apps in the App Store.
  - But the App Store is full of crap.
  - Therefore, the restriction does no good, and should be abandoned.
The problem is that the conclusion doesn't follow from the premises. The restriction is undoubtedly effective at preventing even more crap from entering the App Store. Just because the store isn't over 50% gold doesn't mean it isn't fulfilling its purpose.

From Apple's perspective, the restriction is a particularly efficient one, because it prevents a lot of crap from entering, not just the App Store, but the review process. Because violating the language restriction can be easily and objectively determined, hardly anyone will try to get away with it. Imposing higher standards for app quality, by comparison, requires lots of subjective judgments, which are far less effective at deterrence and generate far more controversy. The existing standards and their enforcement are frustrating and arbitrary enough as it is.

To his credit, DHH emphasizes letting the marketplace work things out over the "warehouse of shit" argument, which I consider more persuasive. It's just too bad the latter is getting the attention.




I don't think your portrayal of the argument is entirely correct. Here's the one I've usually seen:

    - Apple claims that the language restriction is intended to increase the quality
      of apps in the App Store.
    - But the App Store is full of crap.
    - Apple knows this but still repeats their quality defense.
    - Therefore, Apple is being disingenuous and in fact has another motive for their
      restrictions on developers.
I've yet to see a plausible ulterior motive, so I take a skeptical view of the whole thing.


You don't need to hypothesize an ulterior motive, they told you what it was straight out during the "It Must Be Objective-C" kurfuffle. It is to maintain control over the platform and ensure that as they update the platform the apps can easily track it because they are all on the same basic framework. That they later loosened this restriction doesn't really change the point.

I hate to call that "ulterior" though, because while I disagree with it, I can not say it is evil or invalid. It's their strategy.


Also, cross compiled/deployed apps means:

- Apps won't use iPhone features not present on other phones

- Apps will be available on other phones, thus making iPhones less attractives (that card can only be played while iPhones have this incredible momentum)

- They might be ugly, targetting the lowest denominator

In the long run it's stupid idea (IMHO), but it let's them milk the iPhone current gigantic success.

It's not evil, I mean it's not actively causing harm in the ultimate scale, but it does suck.


Your first claim is false (apps might do that or they might not, and either choice is possible regardless of cross-compilation) and the third is a statement of mere possibility, which is uninteresting (Objective-C apps might be ugly and target the LCD as well — the iPhone has proved this). Only the second is true, and that reason is simply a long-winded way to say "ulterior motive of lock-in."


Why would you say "The restriction is undoubtedly effective at preventing even more crap from entering the App Store". Is there any evidence that Apple's restriction on languages is preventing more crap apps?

Keep in mind this isn't about Flash (or at least, not just about Flash). It means iPhone developers can't use any other languages (Lua, JavaScript, Python, etc), interpreted or compiled.

You've got to have your head shoved pretty far up Steve Job's reality distortion field to claim that this restriction anything other than an anticompetitive move to "lock" developers into the platform.


> Why would you say "The restriction is undoubtedly effective at preventing even more crap from entering the App Store". Is there any evidence that Apple's restriction on languages is preventing more crap apps?

Sturgeon's Law puts the burden of proof on anybody who doesn't think it would prevent more crap apps. (Crapps?) And practically speaking, I can't imagine allowing Flash-to-iOS apps not resulting in a deluge of more crap. The restriction also implicitly weeds out programmers who can't handle a C language requiring manual memory management. That doesn't mean you won't have crap programmers, but it probably boosts the average skill of iOS app programmers by a bit.

The downside to the restriction, obviously, is that it prevents not-crap apps from making it to the App Store as well. This seems to be your real issue, but preventing not-crap apps does not imply not preventing crap apps.

> Keep in mind this isn't about Flash (or at least, not just about Flash). It means iPhone developers can't use any other languages (Lua, JavaScript, Python, etc), interpreted or compiled.

Not true. You've always been able to use JavaScript, and you can use pretty much any other language provided you get approval from Apple and don't use it to build the bulk of your app. Plenty of game devs are using other languages for scripting or emulation.

> You've got to have your head shoved pretty far up Steve Job's reality distortion field to claim that this restriction anything other than an anticompetitive move to "lock" developers into the platform.

You'd have to be pretty uncharitable to think there couldn't be any other valid reasons. For someone who supposedly has his head up Steve Jobs' reality distortion field, I think developer lock-in is a plausible motive. But nobody except Jobs, Forstall, etc. has any ability to claim that it's the only motive, or even the primary one.


Not true. You've always been able to use JavaScript, and you can use pretty much any other language provided you get approval from Apple and don't use it to build the bulk of your app.

So I can use any language I want as long as I hardly use it at all and get some vague "approval" for my incredibly limited use. Big whoop. That's pretty much the same as not being allowed to use any other language. Much closer to banned than allowed.


Sounds like an argument from ignorance. Nobody has proven the language restrictions don't decrease the number of crap apps, there for it's proven they do? WTF.

I'm not the one making the stupid claim (that the language restrictions reduce crap apps). The burden of proof lies with the claimant in this case.


> Lua, JavaScript

I'm told several of the top 10 games on the store use Lua (with permission, presumably). And you're specifically allowed to use JavaScript since it comes with the system.


And you're specifically allowed to use JavaScript since it comes with the system.

Yes and no. In native applications, you can use JS, however its very limited; 10MB ram max, combined with 10s execution time before your code gets killed.


The language rule was relaxed so you could use embedded languages so long as you couldn't expose them to the end user. Javascript must be executed using Mobile Safari.


That was a 'religious' statement from DHH, not a rational argument. Wonder why he wanted to bash it like that.

To misuse DHH's statement: to use the word "fascist" when describing an app store is sign of being backed into a corner. Otherwise, you'd be more elaborate.

I've heard the Android store has even more crap and way less restrictions. If that is true, it certainly doesn't help DHH's argument that abandoning the restrictions will help quality.


he just reflects on two separate facts: 1. app store is full of crap 2. apple being fascist to developers (and recently iPhone 4 users)


Right. Compare to the Android marketplace. If the AppStore is shit, what the hell is that?


It's also full of crap. Which goes to show that Apple's method provides very little in the way of ensuring quality.


The AppStore variety of crap is a million times more tasty and nutritious than the Android marketplace variety. Calling these diametrically different things the same is a service to nobody.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: