DHH: Appstore is a warehouse of shit
bigthink.com
bigthink.com
- 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.
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.
- 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.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.
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.
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.
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.
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.
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.
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.
If you spend 200k of your company's money then Apple rejects you and refuses to publish your app, then you lose your job in most companies.
I have this conversation with large large companies over and over.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
> 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.
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.
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?
If you submit a link to a video or pdf, please warn us by appending [video] or [pdf] to the title.
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.
How does 21 - 4 + 3 = 15?
2) I very often open many links without thinking about which domain it's on.
3) A post's karma will never show below -4, even though the real karma could be way lower.
Here's a tip though - you can't cash it in for prizes, don't worry about it.
For the record, I don't care about karma points, I care about whether or not the system works correctly.
I think you forgot about android.
http://www.zdnet.com/blog/burnette/android-sales-surge-surpa...
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.