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.
- 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.
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.
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.
This is so true. I've done some minor iPad consulting recently, but been asked for comments on several projects. I've found it only fair to prefix my replies with "I can't give you any guarantee that, having spent this money, you'll get anything. Apple uses a hidden list of rejection reasons, and enforces it capriciously". I rarely find companies going ahead with their developments.
Apple may be keeping some garbage out, but they're losing many good apps that probably would have been accepted, if the client had a hard and fast guidelines list to check against. They're also losing developer mindset. They are, in effect, FUDing their own developer base. It's a remarkable strategy, and I can't see how it's anything other than highly damaging.
I'm going through the App Review gauntlet now. My concerns at the end of the development, when doing the last checks against the few official things Apple will say regarding review (and against the web horror stories) were not "What would make a better app". They were:
- Will I get rejected for this icon? I think it's clear, but Apple might squint then claim it's too similar to their XYZ icon. I better change it to this other one, which is less good but at least entirely different
- As I fetch data from the Internet, and someone might post an offensive image before the moderators nuke it, I best set the Age Rating to 17+ (even though I've see an offensive image once in the system, and it lasted 5 minutes).
- I did say "Open in Safari" in my browser invoking popups, which my iPhone addicted users will find clearest. However, Apple randomly reject you for using their trademarks, so I better make it the less clear "Open in Browser"
and a dozen other quality reducing changes that are forced on me by the huge uncertainly about what's "allowed" and what will be understood by their team. In the three days it took me to change my "high quality" app (well, I think so :), I don't doubt the App Store admitted another 10 flashlights and 5 Fart apps.
I love the iPhone and iPad as a consumer. I like the technology as a developer (though I would prefer not to be 100% tied to Objective C). The "business" person and ethnical geek in me hates it with a passion. It's creating a horrible cognitive dissonance that I'm currently tempted to correct by going Android as soon as they have an a decent iPad clone.
Your point is very valid, and I would imagine that prevents really high-quality and groundbreaking applications to be built. However that would not explain why a majority of applications are sub-par quality.
If I was a developer and wanted to make a lot of money, I would either go ahead and build a perfect, innovative app and market it well, or basically churn out app-after-app, which is cheap, redundant and has very little difference between each one.
I haven't personally used the app store much, but from what I saw, a lot of the newly produced applications were merely a bunch of titillating pictures, or a glorified unit converter.
I've seen and read about people make huge amounts of money from applications and websites which offer little or no content, but capitalize on knowledge of what people are looking for - and by doing this in very large and persistent quantities.
The quality problem with the App Store isn't that there isn't pre-approval – the problem is that they pretty much allow anything.
In all seriousness, the experience of iOS developers who play by the rules, and even those who just push them a little bit, is Apple allows pretty much anything, even if it's low quality. There were some blunders at first, but they're pretty settled now. The last mis-step was the banning of 'widget apps' on the iPad (http://www.macworld.com/article/151680/2010/06/myframe_rejec...), and that was quickly reversed. (it's available on the App Store, go check)
Philosophically, the idea that I have to bend over for Apple's approval is a problem, but in practice all they're really doing nowadays is making sure you're app isn't crashy, and doesn't link heavily against private APIs – hell, most of the time they'll let you use private API. Even that isn't an issue to me, because their private API is private for a reason – it's not done yet, and is subject to further revision that could break compatibility in future OS revisions, so if you're using it you're essentially screwing your customer. Your customer isn't smart enough to know you're are a lazy idiot, they'll just assume it's Apple's problem – Apple sold them the device, and the app, and made the OS upgrade. If they can exercise their power in small ways like this so they don't end up wasting engineering cycles like Microsoft (http://www.joelonsoftware.com/articles/APIWar.html), disassembling apps and writing special cases into the OS to fit apps that insist on breaking the contract of private API being private.
The quality issue is separate from the approval issue. The quality issue stems from the fact that everything appears on the same 'shelf', essentially. Apple can't censor what's appearing in the 'newly released' section in each category, but they can and do feature apps that are good top and center in the editorialized sections of the App Store. There's plenty of people doing great work, making great apps, and making amazing money. iTeleport (interviewed on 37signals here: http://37signals.com/svn/posts/2421-bootstrapped-profitable-...), has cleared over $1 million selling VNC software which isn't even probably the most 'popular' on the store. OmniGroup sold over $1 million worth of OmniFocus for iPhone copies some time ago (I can't find a link), and must really like what they're seeing because they've spent the last 6 months working around the clock on apps for the iPad (OmniGraffle, OmniGraphSketcher, and OmniFocus). tap tap tap earned ~$150k on Convert in it's first month almost a year ago, and they have a wide portfolio of similar quality utility apps. I have no idea, but they're probably clearing at least $250k/month with the expansion in the number of iOS devices and their portfolio over the last year. For every 100 apps that some crapware developer is pushing out, there is 1 absolute gem available.
Another problem is, if you're not a talented developer, it's much easier to dump piece of crap after piece of crap on the store and just hope someone dumb enough to search for random stuff on the store and buys it. Personally, this isn't fulfilling to me, so after releasing 3 relatively simple apps in 6 months, about a year ago I started heavily investing my time in writing software that allows iOS devices to act as networked point of sale machines for restaurants. It's been a rough 9 months since I only have my income from the App Store and working as a waiter to go on, and my income from the App Store dropped off the map after I stopped investing time in working on my old apps. However, when I'm done with this, there's a possibility to make tons of money given the poor state and technology of the point of sale industry, and even if I don't make it, an app selling 2-3 copies a week for $20 a pop makes me a hell of a lot better off than trying to make money selling crapware at $0.99.
> the problem is that they pretty much allow anything
1. That's not a problem, they just need to allow curated subsections of the appstore itself, which allow people to go through and make subsections of the store which are highly reviewed for quality.
>Another problem is, if you're not a talented developer, it's much easier to dump piece of crap after piece of crap on the store and just hope someone dumb enough to search for random stuff on the store and buys it.
That's the case with the web too. That's why there aren't comprehensive lists of the web, there is google, reddit, and hacker news. We just need the app version of those apps.
Slightly off topic, but that project sounds quite interesting. Shoot me an email at steve at stevenwei.com if you want to chat about it (I have experience in this space).
>However that would not explain why a majority of applications are sub-par quality.
Oh I can explain that: Investment is low, therefore finacial risk is low. That's pretty much the case in any low risk investment client with any product. I mean, look at the web.
> The Appstore is full of crap because apple won't pre-approve things, so no one will risk doing "big" things as they're afraid of rejection.
You're right that fear of rejection deters bigger, riskier apps from being made, but that has nothing to do with the App Store being full of crap. Bigger, riskier apps that are not crap would make up a tiny percentage of apps in the store, and Sturgeon's Law would still apply.
Part of the issue is that there aren't enough "Stores within a store". Apple needs to explicitly allow people making their own app stores that are strict subsections of the full appstore.
1. no one will risk doing "big" things as they're afraid of rejection.
2. If an app store has <200K-budget-apps, it will be full of junk.
3. If Apple pre-approved apps and more >200K-budget-apps were in the app-store, the app-store would not be full of low-quality apps.
The first assertion is a bit extreme. I understand that some big companies may hesitate to create apps that aren't pre-approved, but many other big companies (ranging from Volkswagen to Pizza Hut to New York Times to Microsoft) haven't suffered from any inhibitions when it comes to creating iPhone apps.
The second and third assumptions seem flat-out wrong. On (2) you can create high-quality apps on a small budget and on (3) the presence of high-quality apps (whether low-budget or >200K-budget) isn't going to dissuade junkware publishers.
These aren't assumptions. These are business I have personally dealt with in my product development company who have made this exact decision for this exact reason. We always have to council iterative development, etc, instead of a large impressive release, as Apple is capricious.
I have companies who've been willing to write Apple a 20k check to get a go-nogo call on an app before developing it.
>2. If an app store has <200K-budget-apps, it will be full of junk
No, I'm not assuming there is junk, I can see this just by looking. I can also see companies actively not publishing apps due to the rejection risk.
>3. If Apple pre-approved apps and more >200K-budget-apps were in the app-store, the app-store would not be full of low-quality apps.
No, I'm saying it would be more reasonable to invest more in your applications. In the current rejection climate, it is not reasonable to assume 30-80k is safe if you make an app. You may have to spend 50% again to get up to whatever apple thinks is copacetic. Apple may change policies while you're developing an app (One client of mine had this exact issue).
>On (2) you can create high-quality apps on a small budget
You can? Small apps can be high quality, for sure, but are you pricing your developer time? Can you not imagine apps that involve a lot of developer time (for instance, work with lots of external API's, work with intensive processing, do something completely new).
> the presence of high-quality apps (whether low-budget or >200K-budget) isn't going to dissuade junkware publishers.
No, it's not going to dissuade them, look at the web for that. However the issue is people have a disincentive to invest in the platform, which means there are proportionately more crapware people than non-crapware people.
>The first assertion is a bit extreme. I understand that some big companies may hesitate to create apps that aren't pre-approved, but many other big companies (ranging from Volkswagen to Pizza Hut to New York Times to Microsoft) haven't suffered from any inhibitions when it comes to creating iPhone apps.
You think so? I've talked to several large companies, some of which household names, which have made the OPPOSITE decision when making apps. The companies that have made apps in general make them when they're clearly safe from rejection, which not everything in the world is.
Additionally, relatively recently, apple made a A company B Company C company D company classification system for processing rejections. This means something like PizzaHut can put out a non-standard app where RandomCo3 can't.
No, they are assumptions. You are making assumptions and imo questionable conclusions.
I specifically agreed that some companies would hesitate to create apps that weren't pre-approved. So we have no disagreement on that point.We disagree on your assumptions.
You are also factually wrong on the assertion that "no one will risk doing "big" things as they're afraid of rejection". Look up the definition of "no one" and you'll see that it is different from "the businesses that gte910h has spoken to".
You are also wrong on your assumptions about <200K apps.
>>On (2) you can create high-quality apps on a small budget
>You can?
Yes, several other people have also created high-quality iPhone apps.Many of them were done with budgets less than 200K.
You've completely mischaracterized my comment, which is why those aren't my assumptions, as you're thinking I'm saying something more comprehensive than I am. I've shared my observations, but those aren't my assumptions.
I am merely commenting on one of many influences on the store which lead to it filling with crap, not the Unified Field Theory of Apps which explains every trend in the store. I know there are lots of OTHER reasons, which you'll see in my comments all over this page as well.
I'm in no way saying apps cost 200k. I am saying some concepts do, and the apple approval process drives them out.
Most apps cost 1-25k when done non-agency and 15-90k when done through an agency.
I am not, in any way, saying small apps can't be good, nor am I saying I'm an omniscient being. I'm saying I talk to people all day long about this, I watch them choose to go low quality over high quality sometimes, and I see the decision as they make it. It's not just companies I talk to, its companies the 100 or so other iPhone devs I know talk to. Same story all over the place.
I AM saying given the level of limited funds people put into apps, it's not surprising they chose to spend their limited budget on increasing functionality rather than making a smaller subset of functionality work very well (aka, Quality), especially since limited functionality is yet another reason your app gets rejected, no matter how pretty it is. Given the chance even if you do everything right, you will still get a rejection, it's not surprising they spend X instead of 250% of X on their app, as its a business risk. If you don't think people spending 20-50% of what they would if there was no chance of rejection effects quality, you're asleep in a haywagon.
Who cares about the percentage of shit in the app store? It's not like you have to sift through all the apps manually. Think about all the web pages on the internet. Does the web have a better batting average than the app store? Does it matter?
The only pragmatic argument against Apple's app store policies (IMO), is that companies cannot be confident enough to invest heavily in an application that has yet to be approved by Apple. But I don't know for sure that this is a big problem. I'm watching the Android marketplace closely, and I'm not convinced that Apple should change course yet.
> Think about all the web pages on the internet. Does the web have a better batting average than the app store?
That's bullshit ... main difference is that the Internet has multiple choices for whatever you want and real competition in a Darwinistic sense.
That argument would be valid if Apple wouldn't reject apps that "duplicate" their own functionality ... like Google Voice. When Apple stops doing that, then you might have a point.
The Web also has better mechanisms for filtering out the garbage ... people rely on their search engine or on their friends recommendations (first by email, now by Facebook/Twitter), not on some central authority.
> Who cares about the percentage of shit in the app store? It's not like you have to sift through all the apps manually.
I care because people are trying to lie to me about the virtues of Apple's policies.
I also care because I want to develop for multiple platforms and it's one thing to be technically hard to have cross-platform code, and it's another to ban that practice through a license.
And most of all, I care because people haven't learned anything from the closed-world that was once called Wintel. When starting anything, people used to worry about the "Microsoft problem", which isn't a problem anymore because of the Internet ... but Apple is Microsoft 2.0 ... they know how to make customers happy within closed walls, even in the Internet age.
So yeah, it's a worrying trend ... especially since other companies like Amazon are noticing Apple's success.
It's too late for me to edit my original post, but I should have written this line:
> The only pragmatic argument against Apple's app store policies
Like this:
> The only pragmatic argument against Apple's app store policies with respect to average app quality
I'm only talking about average app quality here, and whether we can conclude anything about Apple's store policies affecting app quality. I would like to see evidence that a more open policy would yield higher quality apps.
Also: I am not arguing that the web is the same as Apple's app store except insomuch as general users needn't care about the average unit's quality. My appreciation for a single well designed app is not impacted by 100 terrible apps that I will never encounter.
> people rely on their search engine or on their friends recommendations (first by email, now by Facebook/Twitter), not on some central authority.
This applies to the app store as well as to the web. I use email and Facebook and Twitter to get recommendations for apps (whether for Android or the iPhone). I don't rely on Apple to tell me what app to use.
> Think about all the web pages on the internet. Does the web have a better batting average than the app store? Does it matter?
This. The fact that Android allows you to install over HTTP is a huge win as it lets you leverage this great distributed fault-tolerant network of computors that is commonly called the Web. Pagerank is a way, way better way to determine app quality than App Store or Market reviews.
There's nothing stopping a developer from hosting a web page for his app, which would be page-ranked. And there's nothing stopping me from making an app choice based on evidence other than the in-store reviews. Apps are linked to and discussed and reviewed in all sorts of places all over the web. It works like a charm.
I would love to see side-loading become available for the iPhone, but, knowing Apple, I don't expect it and I don't think Apple should be obliged to provide it.
The whole Adobe saga has greatly influenced Apple's thinking on the cross-platform that I think they have more faith in their belief that 3rd party companies will make economic decisions on development that keep the unique features of iOS from being used. Forcing a set of tools to be used removes this choice from a bean counter.
Do I really like this situation? No, not really. I like Objective-C, C++, and C, but I would like some more choice. The crux is that any platform improvements (from what seems to be Apple's point of view) need to be supported fully in the tool. I am encourages by the ability to embed Lua, but I would love to see other things.
Just a theoretical, I do wonder sometimes if a person were to add a language to clang would it get added to the shipped tools from Apple.
The headline refers to an 8 minute segment in a 45 minute chat from DHH.
I've only watched part of the talk so far, but it is a very persuasive piece of advocacy for Ruby. DHH is a smart guy, but he seems to have had relatively light range of language experience prior to discovering Ruby.
One of his examples is the ability to use 'unless'. Big deal, this is an ugly and non-intuitive (for me) perlism. I appreciate others may like it though. Despite this, I was still motivated to pull down my copy of 'pickaxe' and leaf through it.
Keep in mind though, he's arguing just one perspective. Personally, the Cocoa/UIKit apis on iOS 4.0 are incredible, and have reawoken my desire and motivation to 'just code'. Objective-C rocks, because you can write nice tight C code, and yet still have pretty wide-ranging abilities to pass objects around, easily make a view into a control immediately giving you all the extra stuff from responders/controls.
There may indeed be a bunch of shit in the App store, but it has everything to do with crappy programmers writing crappy software, and Apple's lax enforcement of UX standards, rather than any enforced choice of programming language. Does he really think that programmers write crappy programs because Objective-C is hard?
I think the argument he makes about trusting the marketplace is laughable. I think we can all see that consumers don't always pick the 'best' solution (no this isn't a free market argument although it could be), and relying on them to decide the winner isn't Apple's strategy. In fact I'd argue it's the opposite. Apple does things their way and regardless people swoon over their products. If Apple started listening to it's customers they'd be producing garbage like Netbooks and not innovating (iPad).
Unrelated: Has anyone actually tried using 37signals' Draft iPad app? Would rank pretty high on my "Worst $10 I've ever spent" list, if I maintained such a list.
Yeah, I know the "rules". Point is, everything at big think is a video.
Funny how I had 21 karma points before I posted that comment, which got 4 down votes and another comment got 3 upvotes, but now I have 15 karma points.
The headline is flamebait, but the content of the interview is quite insightful. I agree completely that serious competition (both in unit sales and user experience) is badly needed, and sorely lacking at the moment. Here's hoping HP is able to bust some moves with the WebOS platform; shake things up a bit.
Nope, handset vendors are screwing that platform up, with junkware you can't delete, customized interfaces (often for the worse), locked down firmware, reluctance to support Android OS updates, etc.
All I see is a message that says "This video is not authorized for playback on this device". I'm using an iPhone to try and view the page. Not sure what content the video has, but I'm pretty confident I'm no longer interested.
I think DHH shares your understanding of Apple's motives (although he stated it less precisely), but argues that -- if there is a big benefit to using Apple's tools -- someone will do that and create the better app. Why stop folks from creating a mediocre app that happens to be written in a cross-platform way? There are lots of apps that are mediocre and/or slow to incorporate new features anyway.
Are you suggesting that Firefox and Eclipse are lacking in some way because they are built for multiple platforms and would be much better if they were written for a single platform to take advantage of the latest windows or mac os features? I don't share that view. In fact, I'd go as far as to say that I think the existence of apps like Firefox and Eclipse are a strong argument against Apple's policy (at least from the perspective of end-users).
"Are you suggesting that Firefox and Eclipse are lacking in some way because they are built for multiple platforms and would be much better if they were written for a single platform..."
Firefox and Eclipse would be worlds better if they were written for a single platform. I'd go so far as to suggest that the only gain in writing cross-platform software is that it runs on more than one platform. Everything else suffers -- or at least is limited to a common denominator. "Common" being the operative word.
Sorry, I decided my comment wasn't especially useful and deleted it, but I didn't see it had a response. For the record, it was:
=========
> I mean, I read the supposed reasons for why this would happen, oh, if we allowed cross-platformed tools then only shitty applications will be made, blah, blah, blah, blah, blah.
That is completely incorrect. Jobs said that a cross platform app is worse at integrating with the system than native apps and slower to gain the benefits of OS updates (if they ever do).
I'd like to see someone demonstrate this to be untrue, but looking at Firefox and Eclipse it seems to be dead-on accurate.
I can't see the video because apparently it's blocked on the iPad but in general isn't it well known that 90% of everything sucks to any one individual? I guarantee you that there's someone out there who thinks Fart Keyboard is the most brilliant must-have app ever made. If your shit warehouse is big enough you can make everyone happy.
So is the web. We just need better indexing apps, which are either human curated or have better search parameters (for instance, filter out things with less than 2 stars, etc).
I think the problem with the CrapStore isn't that there is too much crap(Sturgeon's Law afterall, it's to be expected), rather Apple's interface to search, sort and present apps completely fucking sucks. Apple really ought to at least try to be more like Google search. What's ultimately tragic is that Apple won't let anyone else make a better or even different interface for searching for apps and have it be available as an app on the AppStore. What Google gets right is that any idiot can find what they want, nearly immediately, and they don't even need to see or know just how much total crap is out there on the web.
Seriously, what the hell is Steve thinking with so many hundreds of thousands of apps? When you want vanilla apps that are simple and popular enough that you know ahead of time which app you want, then the AppStore is great. When you trek even slightly off the beaten path, maybe exploring what's out there, or looking for something very specific and rare, and for which you would be willing to pay a lot more than $0.99, well, that ends up being a lost cause. All iPhone devs know that users simply won't spend any time sifting through apps, and this is why spamming your way to the top of any category lists is just as important as being on Google SERP #1.
Case in point: tonight I went to order a pizza, and thought to myself that it might be neat to try one of the pizza ordering apps. Seconds later I'm scrolling through more than 50 different pizza apps. Half of them I can't even tell whether they are for ordering pizza, nor whether they are local, nationwide, integrated with chains or just mom & pops. If I can't figure it out, and I'm a programmer, how well will a completely non-technical person fare? Do I have 30 minutes to tap and dig down multiple menu levels on several of them, read each one's spamtastic description, then read the user reviews which are worse than YouTube comments, then install it and try it out? Then do that again 50 more times? Does Steve think I'm a moron? If you can't even create software that can semantically represent "order a pizza local to me", how the fuck can we expect them to do something more complex?
I ended up going to dominos.com in Safari.
It's almost as if Apple doesn't give a shit about promoting exceptional software for the long haul over the next few years, no, they only care about churning a fast buck right now, with a horizon of just a few business quarters ahead. What Apple will end up doing is driving all of their users to the web, and then html5 is going to mop the floor with Apple's entire Objective-C walled garden. Sorry, as much as the web is flawed, it is always going to be infinitely more simple to use than apps.
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.