Fear And Loathing In the App Store 5 - Apple Doesn't Want Amateur Hour
Written by Lucy Black
Wednesday, 11 June 2014
Of course apps should be as professional as possible, but the latest App Store Review Guidelines put the matter bluntly and tell it like it is. it makes for interesting reading.
Honesty is good - and we all know that there is a lot of very low quality stuff in most of the app stores we have to work with.
Increasing the quality of apps benefits users and programmers because it cuts down the crud and make it easier for the user to find your app - which is obviously going to be among the good stuff.
Even so, who doesn't wake up in the middle of the night worrying about if their app is going to get into the lucrative App Store. And will it stay there if it gets in?
If you are going to get your app into the store you probably welcome guidance and the Apple App Store Guidelines have just been refreshed.
The first part warns about how not to be controversial:
"We view Apps different than books or songs, which we do not curate. If you want to criticize a religion, write a book. If you want to describe sex, write a book or a song, or create a medical App."
I can see what they are getting at but something seems not quite right. Can't a book and an app have the same sort of expression? And what about the strange advice that if you want to describe sex write a medical app.
I have to admit to being confused, even though in practice I get the message that I have to confirm to the norms, avoid smut and generally try not to upset anyone. Apple just wants "nice" apps and it's all for the sake of the kids:
"We have lots of kids downloading lots of Apps. Parental controls work great to protect kids, but you have to do your part too. So know that we're keeping an eye out for the kids."
If you are wondering what this means a bit later on it goes on to say:
"We will reject Apps for any content or behavior that we believe is over the line. What line, you ask? Well, as a Supreme Court Justice once said, "I'll know it when I see it". And we think that you will also know it when you cross it."
Well I suppose that is another way to say "nice" apps.
Now we come to some technical issues that are much easier to understand and are far less troublesome.
Or are they?
"We have over a million Apps in the App Store. If your App doesn't do something useful, unique or provide some form of lasting entertainment, it may not be accepted."
Yes who couldn't agree with this. Who needs all those pesky repeats. But wait does this mean all apps have to be unique? What if I create an app that does something better than what already exists? Is it enough to be better to avoid the "unique" test condition? This all seems to imply that the first app into the store that does a particular job will be the first and the last of its type.
Of course, we know Apple doesn't do a good job of enforcing this rule because there are lots of work-alike, and even look-alike, apps. This is what consumer choice is all about.
The next point is also superficially perfectly reasonable, and I know that there will be many a programmer cheering when they first read it. But you need to consider what it is saying quite carefully:
"If your App looks like it was cobbled together in a few days, or you're trying to get your first practice App into the store to impress your friends, please brace yourself for rejection. We have lots of serious developers who don't want their quality Apps to be surrounded by amateur hour."
Yes, you can sympathize with the intention but as with many good intentions the devil is in the detail.
What do they mean "looks like it was cobbled together"? Boilerplate code or poor code? Who is the judge of this poor code? What if they reject your app because you don't use good indenting or because you don't name your variables well.
Or does it mean "style"? Is it that my app only has to look "cobbled together" from the outside. Perhaps if you use a slight, skeuomorphic, design this is clearly a sign that you have cobbled it together and not that you have studied the theory of referential transparency.
I do agree that there is a "I know it when I see it" aspect to this, but there is also the possibility that I don't see what you do.
Finally, you simply have to take issue with "amateur hour". This is a disparaging comment not worth taking issue with. Amateurs do it for love of the subject and are sometimes the best programmers you can meet. Again I can see what the are trying to say but ...
If you think the amateurs who produce the crap should be punished and excluded, fine. You can believe that the dividing line is placed well down towards the poor coding end of the spectrum, but that is going to let a lot of poor quality apps into the store. Move it up to where the quality is high enough and there are going to be a lot of borderline cases. In this case you can appeal.
True enough but
"If your App is rejected, we have a Review Board that you can appeal to.
If you run to the press and trash us, it never helps."
Well I guess that finishes any chance I ever had of getting an app into the app store.
How did it happen that we allowed a self appointed judge and jury to wield so much power?
The edit distance is a measure of how close two strings are and it is used in a lot of important applications including spell checkers and genome analysis. Currently the best known algorithm takes O(n [ ... ]