This post is going to be a short and sweet rant. Just thought I'd warn you ahead of time.
I've had plenty of apps rejected for various reasons. It happens, sometimes it even makes sense. Today's rejection though was one of the most frustrating I've ever had. I have a suite of apps for tracking GPS. It's basically the same app with different skin, description, and keywords tailored to different sports. This could be done with a single app, but people aren't looking for a multi-purpose tracking app. They are searching for a run tracking app, or a bike tracking app, etc. It makes sense to build what people are searching for.
I recently made the decision to add a free version to give people a chance to test out the apps. They don't include all of the features of the paid version as you might expect. When you click on a feature that isn't included it tells you that is only available in the paid version with a link to the app store. This has worked well for me on Android, and it has worked well on the first iPhone app I did this for.
I submitted 1 of the free apps a few weeks ago. I wanted to make sure it didn't cannibalize sales of the paid version so I didn't submit them all at the same time. I expected an improvement, but you never know. It was approved about a week later, and it started doing ok. Paid app sales went up as expected, so I went ahead and submitted 2 of the others.
This time the apps were rejected because they were too much like a trial app, with the rejection stemming from the fact that some of my settings (that activate the premium features) give an up-sell popup instead of activating the features.
Not only is this how almost all of my competing apps work, this app is identical except for artwork to my other app approved last week. LAST WEEK. Usually their standard line is that apps in the store don't matter to your case as their rules change over time. Changing rules isn't the problem. The problem is that the reviews are very subjective. Given a different reviewer on a different day the same app can get approved or rejected. This leads to huge amounts of frustration.
I'm ok with Apple wanting to make the quality of their app store better. Frankly speaking, the review process has made the quality of apps for iPhone better than for Android. Unfortunately, they still let in tons of apps that are junk, and they reject things for incredibly stupid reasons. Not allowing trials is stupid. Allowing trials, but rejecting them for telling the person a paid feature exists along with a link to said paid app, that's really dumb. Having the same app get approved and rejected depending on the reviewer, that's a system failure.
People will still develop for Apple as long as they keep making money. I'll still develop for Apple. That being said, they continue to push me farther and farther away. My next app will at the very least have Android on an equal footing, and some of my latest feature updates have been Android first. This is a problem for Apple. Not because I'm special and they'll miss me. They won't. But if all of the indies like me get fed up, then it will be a problem for Apple.
If you've read this far and are interested in the mobile app market you may want to check out my book on how I make money on the mobile app stores called Building an App Business.