It sucks big time.
It sucks big time.
1. Download seemingly cool app on iOS (free with potential payments)
2. Go through a 30min quizz
3. Required to subscribe for $150/year to start using the app
It’s not free, it’s false advertising
Most of these apps use dark UX patterns to trick new users into scammy free trials which convert to $100+/yr subscriptions after 1-3 days. These apps also make it difficult to close out of the subscription window, or make it seem like you have to subscribe when you don't.
It's entirely contradictory to everything Apple once stood for in justifying their gatekeeper App Store experience.
Apple could easily ban these types of scammy UX patterns, but they won't because it benefits them. That's my point.
I’m fairly certain this is because it’s the only way of offering a trial that Apple allows?
But maybe that was by design as they decided to call their music shop by the same name as their ipod management software. That is the essence of Apple's UX. Shiny destruction of your property. It remains so.
The UX everyone wanted was copying files onto and off the device presented as storage on any computer it was plugged in to.
Porn is allowed: https://apnews.com/article/x-twitter-musk-porn-adult-content...
And interest in porn is growing: https://www.independent.co.uk/tech/twitter-crypto-pornograph...
Recurring revenue has always been highly valued. What changed is that the Internet and modern automated payment networks have made it so much easier to implement recurring revenue models. Now everything can be a subscription and now companies that don't have subscriptions are at a massive valuation and fund raising disadvantage. The more companies figure out how to add recurring revenue, the more companies have to figure out how to add recurring revenue.
This is why your car company, appliance company, etc. is trying to get you to subscribe to something.
>Now everything can be a subscription and now companies that don't have subscriptions are at a massive valuation and fund raising disadvantage
It won't alter this course, but given recent news I sure hope Biden can do one last kick to this stupid model. The biggest reason subscriptions do this is because so many forget to unsubscribe. An issue as old as fiat currency. discouraging recurring subscriptions could be the US's version of GDPR in terms of how utterly devastating it will be to companies.
What would this mean, exactly?
You can sell people a demo→full-version permanent unlock as a one-time purchase, same as you can sell DLC in a game.
And you can also have subscription tiers, where you get more features out of the higher tiers of subscriptions.
And you can, in theory, freely mix these — e.g. charging someone a subscription for the base version, and then charging them a one-time fee to unlock a specific feature.
If you want, you could even charge for app features as consumables (just like F2P games do) — where you pay to have a block of credits that you use up, or you pay for one month and then have to buy it again when it runs out.
What's the missing revenue model here?
There's nothing actually stopping you from doing this — it requires two things:
1. either a third-party licensing server (and thus some SSO auth system — but just require Apple's own SSO for it and it'll still be a clean-ish workflow) to share/sync the transaction status from one app to the other; or a local Group Container plus logic in each app to write the transaction statuses fetched for the given app into the group container for the other app to read
2. never charging for the app as a whole, but instead breaking your app's pricing down into a set of IAP-purchased feature entitlements (whether charged for individually, or as a bundle, the important part is that each entitlement has its own price.) Then, making the new version just a superset of the features of the old version — and so, when you're buying the old version, you're buying features A+B+C; and then when you're buying the new version (with the app being able to see whether or not you've bought the old version), new customers are buying A+B+C+D+E, while existing customers are buying D+E.
---
Note that there's an even easier way to do this (and I think this is the way Apple would prefer you do this): don't release V2 as a separate app from V1.
Instead, have V1 auto-update to a v2.0.0 release — which converts the V1 app into a launcher with an "edition" (major version) selector. Either compile in both the V1 and V2 codebase into this app, or better yet (for download/on-disk size), package separate V1 and V2 "engines" as executable DLC packages, submitted to Apple for review along with the app, downloaded on-demand when the app needs to run them.
With this approach, the app would either start up the first time still within V1, and allow/offer people the option of "seamlessly upgrading" the app to V2; or the app would start up with an "edition launcher" UI that allows people a choice. (And either way, you could offer the ability at any time to freely switch between V2 and V1, re-launching the app with the other engine enabled. Like dual-booting Operating Systems, but at the app level.)
Here, you could charge for the V2 "upgrade" ahead-of-time, before allowing the user to switch over to the V2 engine; or you could allow the user to switch between V1-fully-licensed and V2-demo modes (or even between V1-demo and V2-demo modes), where purchasing for each edition is separately available within that edition's UX.
The expectation here is that all the user's existing feature entitlements would keep working as long as they continue to use the V1 engine — as you said, the V1 engine was a one-time purchase, and so even with this edition-launcher abstraction introduced in v2.0.0 of the app, V1 itself should still keep working for them forever.
The benefit of doing this multi-editioned-shared-app approach, together with IAP feature entitlements, is that V2 can inherit some of the V1 entitlements, and then simply charge for the V2-novel entitlements. So V2 gets discounted for V1 purchasers inherently, by the fact that by buying V1, they've already bought half of the components of the V2 purchase-bundle.
When did it become possible to download additional executable bundles on iOS?
Re: multi-edition shared apps — I'm not sure if this has been done with the App Store in particular, but it's just a combination of things App Store apps can do (basically, moving code out into dylibs, and then marking those dylibs as On-Demand Resources.) I know that this is a common approach to supporting netplay (and especially replay of historical netplay) in competitive-eSport multiplayer game titles on Steam et al, where players need to be on the same exact version of the game engine + netcode to sync (and so those engine libs are downloaded on-demand before the match begins); and where you need an exact ABI version of the game engine to replay a netplay recording (and so that engine lib is downloaded on-demand when you go to replay the recording.)
ETA: looking more into this, I'm finding conflicting reports on whether executable-code On-Demand Resources are currently allowed on the iOS App Store: it looks like the Apple docs say no, and yet some apps (from not-bigcorp devs!) are doing it anyway and getting away with it (and have for many review cycles.) Very confusing. Maybe those devs are part of an alpha-test rollout for executable-ODR?
That would be a choice, not a requirement. It's literally a flag. You can do whatever tf you want with it. It would be trivial to have "V1 full app unlock" feature be the same as "V2 full app unlock" feature.
This was before the change to allow Delta on the App Store, too.
When you run an App Store that involves human review the big problem you have is apps that mask their behavior during review and then end up breaking the rules later. My understanding is that the "don't download code" policy is intended to prevent this, at least in spirit. I think, at least at the highest level of the company, the intent is to keep to somewhere near this at least for submissions made in good faith and not prone to opening them up to a slippery slope. There are distinctions here, though, and policy enforcement is also complicated.
My (and iSH's) position is that "code" should be interpreted very broadly, including native code (which the platform blocks from loading anyways) but also things like embedded webviews updated server-side or those "code-push"/"run JavaScript in an interpreter in your app" things. And going even beyond that, I feel that to provide a full experience for the review team when you ship a feature flag you really ought to list all the behaviors that the app can possibly have, and let the review team test that if they want.
From this perspective you will note that code isn't even really the interesting part here, it's the behavior changing that matters. So this leads naturally what we have described as "scripting apps", which download code but do not change their behavior. Their entire point is to download code. Like, App Store is an app store, regardless of whether you download TikTok or Google Maps from it. iSH is a a Linux environment. Nothing you will do in the app will change that. And notably we have zero ability to change that ourselves, short of submitting a new app. It's not like we can just add Windows emulation as a downloadable JavaScript package without going through review. From our discussions with leadership, I think they agree with us on it, but are not willing to commit to it publicly, because then people will take creative bad-faith interpretations of it to argue what a feature of the app versus something a user does in the app is, or something like that. Or they just want to hold all the cards and reserve the right to take this away. Either way I strongly disagree with them doing this, but for now iSH remains on the store.
You will note that the changes we make (see our blog post about repositories: https://ish.app/blog/default-repository-update) continue to support that position. Again, I cannot say for sure whether this is the interpretation Apple uses, or if they even have a consistent position. It's just an attempt on our side to show good faith. As a final note our experience has been that the higher you go the more consistent and reasonable review becomes, but the front-line reviewers often take stupid, unreasonable positions like you'd see in a Hacker News comment (it says code therefore your app for coding is bad). But again, this is just our experience; we have no idea if Phill will hit his head tomorrow and decide to pull iSH tomorrow because he thinks Linux is the child of the devil.
> I feel that to provide a full experience for the review team when you ship a feature flag you really ought to list all the behaviors that the app can possibly have, and let the review team test that if they want.
After Epic added direct purchase gated behind a feature flag to Fortnite, I'm genuinely surprised Apple didn't start requiring full control over and documentation of all downloadable configuration files as part of App Review.
A sadly universal experience. Especially when the not-so-secret is that that frontline is often contracted or outsourced. They do not understand (by design) the subtleties of submission of creative content. They are simply cheap help to do the bare minimum to remove liability, and if a few false negatives happen during that time, oh well. thousands of other apps in the sea.
So like everything else, if you havev the money, clout, or simply sheer persistence (which shouldn't be necessary) then you can force yourself to someone who can actually help. But few will get there, even with persistance.
The first version you sell to a user at full price and offer a discount for upgrading (something like 40% off). It lets the customer pick when they feel the value prop is worth the cost and lets you offer a loyalty incentive to the user.
Right now the choice is "keep paying for it to keep working" or "fully price for every upgrade".
Since then, people have backed off.
If you're going to this much work to help users workaround Apple nonsense, you really care about helping them save money, and the support + refund costs of people accidentally buying the bundle with the old version they don't need is > just building out your own server-side system, versus a combinatorial explosion of bundles in the App Store that creates a confusing minefield for users.
It does not look like a problem for them.
Do you have an example of a company that saturated the market with free upgrades and went down because of it?
Panic even had an upgrade for MAS users when they released their new version of the now defunct Coda outside the MAS (for sandboxing reasons).