by Sebastian Dittmann
After Apple’s rejection of our new feature that we wanted to sell via InApp Purchase something dawned on me:
We will never be able to sell our work on new features if they’re based on technology - software or hardware - that Apple has just released without creating a new application specifically for that reason. Neither will any other iOS developer without breaking Section 11.8 of the App Review Guidelines.
That’s a huge difference to creating and selling software outside of the iOS ecosystem. If you’re part of Apple’s ecosystem you can’t charge for updates. Neither through having users paying for them directly nor via creating a store inside of your application and charging for new features that make use of new features on iOS.
Implementing a new technology that was released by Apple (like CoreMIDI, GameCenter etc…) isn’t as easy as flicking a switch. To do it nicely multiple developers will usually have to work for at least a week or more (obviously depending on the technology).
Example: it took us a week or so to implement CoreMIDI into SoundPrism. It took us another month to reach the quality that we were ok with charging for it.
As a developer that’s pretty bad but it also isn’t great for users/customers.
It either forces smaller teams of developers to release new apps instead of making their existing ones better. Or it forces them to improve their applications but they have to do it without getting paid for it.
From Apple’s perspective this is awesome. They release a new feature which (usually) rocks and their developers can choose between:
- Creating a new application to make use of that feature and charge for it.
- Spending quite a lot of time (usually a week or more) to implement it in their existing apps and giving it away for free.
Now why would any developer choose option 2? That depends on what their competition is doing. If their competition is implementing that feature then they’re forced to do it as well. If their competition is not implementing that feature then it’s probably a good idea to be the first one who has it.
Option 1 isn’t optimal for developers as well because it means they cannot stick with few applications and make them better and better.
One could argue that quality prevails and that even free updates to an application result in higher sales - which is true - but releasing a new application or actually charging for a feature results in higher revenue. In fact, sometimes free updates don’t change revenue at all if they don’t drive enough attention to your application.
The implications of this are that whenever Apple releases a new technology developers will either:
- implement it for free. Result: Apple and users of older apps win because developers create better applications without users or Apple having to pay anything. Developers lose.
- create new applications containing the new features and abandoning older apps. Result: Apple wins. Developers and users of older apps lose because nobody wants to buy a new application if they got used to the old one. Also the App store gets ‘spammed’ with new apps which is great for Apple’s statistics but bad for users trying to discover good apps.
Either way Apple always wins:
- By having tens (hundreds?) of thousands of developers getting to work literally for free after releasing a new feature.
- And by indirectly forcing users to buy new apps - which will will be more expensive for them than if developers could have offered the feature as an upgrade.
Please excuse me now, we still have to submit two new applications today.