What I think folks are missing is what the fee gets you and why it matters. Very few people seem to know that CloudKit exists. A few data points:
Cloud Kit comes with:
- 200 TB of Content Delivery Network (with most companies charging 7-15 cents/gigabyte)
- 1 PB of Object Storage (see the price of S3)
- 10 TB of NoSQL database
- Application Logs
- Application Telemetry
- App versioning
- Continuity and cross app sync
The reason the App Fee as a precent model and built such a viable ecosystem is because Apple absorbed so much of the up front infrastructure cost and risk. You can build an app without a single back end service of your own. If your game went viral and you had a million downloads with the rev share model, you didn't incur any additional cost, Apple had you covered. You don't have to worry about scaling to support however many updates of your hundred meg to mulit-gig app a week. Apple takes care of it all. It levels the playing field for small and big apps to not have to worry about how to get their app out.
Apple has very real costs of distribution and management of the apps. The reason the in-app purchase stuff matters, is something like Fortnite for example, that was a large file with a large base, every single update cost Apple money, not Epic. It's not Epic's servers that support millions of concurrent downloads. It's not Spotifys servers that deal with it. It's Apples CDN, which has grown so large to support app updates that no one else can even do it, sans maybe Akamai. Think of the size of fortnite, how many updates there are, how many installed users and how many TB a day that works out to be. Apple loses money on Fortnite being in the app store if they can't get some in-app revenue.
The core tech fee is switching from a rev share model to a consumption based model, which is how anyone staking out on their own would pay anyways. All these free apps that side load or change to this new business model have to get used to it. The internet is not free. The distribution costs are big and real. Apple solved for it for everyone whether you are a trillion dollar game company or someone getting started for the first time. The scale component matters. Look at Minecraft and how many issues they had with downloads, payment lockouts, support, etc. Apple has created a system where the next big game can go as big as it wants to without the developers having to worry about any of that, they just sit back and collect the checks.
TL;DR: So the store analogy isn't accurate above, it's about the distribution. Apple has the entire trucking network and logistics network that gets you from a product you make to the shelves and you don't worry about the rest. If you don't want to use to Apple taking a %, you have to pay for each item you get on shelves. The alternative is if you make a widget that gets popular, you have to figure out how to get it to all 25,000 stores yourself. Which likely means you are paying someone for distribution, if not Apple, but you aren't practically going to build a trucking network yourself.
Also, please take a look at what else Apple gives devs for the cut. People don't realize how much of our apps we use are built on frameworks Apple gives out. RealityKit, HealthKit, HomeKit, UIKit, CoreML, etc. A lot of the features we use were not built by the devs, but built on top of stuff Apple gave them.
App fees = Rev Share... Win win for everyone. Equal footprint for everyone, big or small.