Comment by hermitcrab
2 months ago
I have been developing software for Macs and PCs as an Indie for 20 years now. I sympathize with the author of the post. You get the feeling that Apple thinks you should be grateful that they allow you to develop apps for their platform.
The author didn't mention Apple's contempt for backward compatibility. Apple like to regularly nuke their entire developer system from orbit. Try running an app developed 10 years ago on the latest version of macOS. It probably won't run.
Microsoft are much better at backward compatibility and they don't force you to join a developer program. But you get totally reamed every time you have to update your authenticode digital certificate for Windows. Just the digital certificate will cost you more than $99 per year. It is a total racket.
> Apple's contempt for backward compatibility
This is absolutely correct. Instead of maintaining any sort of ABI and API stability, Apple offloads a constant burden of maintenance updates across thousands of developers, just to keep existing apps from breaking every year with a new iOS version. This takes time which could be spent in more productive ways such as fixing bugs, adding features, or developing new apps. It seems like the wrong trade-off, since stability would offer huge, multiplicative benefits across the whole ecosystem. Apple does seem to want apps to die to mitigate the glut of shovelware in the app store, but there has to be a better way (human curation still seems like the only reliable approach for app surfacing and discovery.)
Most iOS apps are games, but in contrast to developing for other game platforms, iOS developers have to continuously update each game yearly simply to keep it working. (Not to mention Apple was happy to kill off 32-bit games on both iOS and macOS, and many games were never converted to 64-bit.) Compare to other handheld game platforms such as the Nintendo DS/DSi/3DS where games mostly kept working across major and minor hardware revisions along with dozens of firmware revisions from 2004-2020, or the Switch where games have generally worked from across Switch 1 and 2 from 2017 onward.
Maybe it’s worse for games, but I’ve been maintaining non-game apps on both iOS and Android for many years and keeping the iOS halves functional has generally been pretty chill. Updates aren’t required all that often and it’s rare that APIs break entirely on me, especially if targeting older SDKs. Usually the worst post-WWDC fallout is needing to recompile the app in question with minimal changes.
By comparison, Android is much worse. The Play Store kicks you off for not submitting updates much more quickly and the whole ecosystem is in a permanent state of simultaneous flux and obsolescence. Whatever deity help you if you let an Android project collect dust for a year or two… you’re gonna be fighting battles on multiple fronts getting everything up to date. Gradle conflicts, APIs getting deprecated without fully baked replacements, divergence in behavior between OS versions… it’s a real hoot.
>Usually the worst post-WWDC fallout is needing to recompile the app in question with minimal changes.
But that still means that any app that is not actively maintains dies very quickly. I've got software I wrote for Windows 7 that still runs fine on Windows 11.
1 reply →
> This is absolutely correct. Instead of maintaining any sort of ABI and API stability, Apple offloads a constant burden of maintenance updates across thousands of developers, just to keep existing apps from breaking every year with a new iOS version. This takes time which could be spent in more productive ways such as fixing bugs, adding features, or developing new apps. It seems like the wrong trade-off, since stability would offer huge, multiplicative benefits across the whole ecosystem. Apple does seem to want apps to die to mitigate the glut of shovelware in the app store, but there has to be a better way (human curation still seems like the only reliable approach for app surfacing and discovery.)
I keep trying to explain this to people but it's hard enough to describe the issue, even harder to get people to care, and an impossible battle to change Apple. I don't actually think they're doing this to kill old apps. I think it's a very cynical and calculated plan to require developers to actively maintain their applications, *thereby requiring the use of subscriptions as the only viable business model for developers.* That is Apple's primary revenue stream by far, and they're making far more money now that we have to subscribe to workout apps instead of buying them once and using them for years.
Apple has been dropping older subsystems and backwards compatibility layers long before app subscriptions were the default way people got paid for software. The 68k -> PPC transition happened in the mid 90's and 68k support was dropped entirely somewhere around OS 8 and the start of the iMac era. The Carbon framework might have been the most long running one, going from about 2000 to 2012 for deprecation and basically ending once the 64 bit transition happened around 2018. The PPC -> Intel transition, including the original Rosetta emulator was ~2005-2011. The app store itself only debuted in 2011.
I do agree that Apple does this in part to force developers to either stay active and maintain their apps or stop shipping for the platform, but I personally posit that the move of more and more apps to subscription models is simply due to how many more apps are connected and user expectations for update timeliness (and the devaluing of updates both by increased popularity of "free as in beer" open source apps and also the distribution of no-cost OS updates by Apple. People expect more for free and expect it as soon as someone notices a problem. I think the idea of not only waiting a year or more to have new features or some bugs fixed and then on top of that having to shell out more money for that is just not something people are as wiling to do. So subscription models become necessary to fund the continuous work that goes into keeping up with all the new trends. Apple's dropping of old libraries and frameworks is part of that churn, but it's only one part in a sea of other pressures driving the subscription model.
1 reply →
>thereby requiring the use of subscriptions as the only viable business model for developers. That is Apple's primary revenue stream by far, and they're making far more money now that we have to subscribe to workout apps instead of buying them once and using them for years.
Apple earns almost twice as much revenue from selling iPhones ($210B per year) than it does from "Services" ($109B), and "Services" includes far more than just App store commissions.
https://sixcolors.com/post/2025/11/apples-fiscal-2025-in-cha...
https://bullfincher.io/companies/apple/revenue-by-segment
However, I do see the incentive for Apple to push subscriptions due to the enormous scalability and thus resilient margins.
1 reply →
> thereby requiring the use of subscriptions as the only viable business model for developers
This is ugly because I hate subscriptions, but I believe that the constant maintenance burden makes subscriptions more appealing for developers.
But why would you want to subscribe to a game on iOS that you could just buy once and run forever on another platform?
well it also made macOS the nicer platform with modern, well maintained apps for the past 2 decades.
Unfortunately well-written native macOS desktop software (Apple's own apps are sometimes exceptions, if we ignore monstrosities like the Music app) seems to be dying (new "desktop" software often being a wrapper for a clunky web app), while half of my Steam library that used to run on macOS no longer does. (And removing Rosetta2 might kill the other half.)
2 replies →
> iOS developers have to continuously update each game yearly simply to keep it working
This is usually not the case
Ios actually is far better than macos for old apps. I have a few ancient maybe 8-10 year old ios apps on my iphone that have not received updates and still work fine. Can’t say the same for macos because they decided to drop 32bit support.
Contempt. use any apple device 2 updates back or more. you're screwed.
You would accept this in no other place in life, except that apple gives it for free, and puts a 'security' sticker on the box.
It's a racket. Planned obsolescence 2.0 - Users forced to update, update removes features, breaks working apps, breaks paid for ip ( literally removed from phones), apple blames the devs. bullshit.
It is a shame that you can't choose to get security updates only without app-breaking feature changes. So you have to update (because security, actively exploited vulnerabilities, etc.) but then your apps (mostly paid apps in my case since I dislike subscriptions and obnoxious f2p monetization schemes) break.
It mostly works?
1 reply →
[dead]
It's much more expensive on Windows side of things. DigiCert and Sectigo are now in the $700--$1000 range per year for regular OV code signing certificate.
Microsoft has it's own Azure Artifact Signing which is comparable to Apple yearly cost (give or take), but since a month ago installers signed with it often display SmartScreen warnings [1]. Even though Microsoft controls both pieces!
Store option is not free for organizations (although it's a one-time setup fee), but the worse thing is it forces you to its simplified licensing/trial model, typically not compatible with B2B software where paid upgrades, yearly support contracts, controlled updates, extended trials are used.
[1] https://github.com/Azure/artifact-signing-action/issues/128#...
Would be interested to hear a bit more about selling commercial software through the MS App Store. My Easy Data Transform software has a free trial (7 days, do not have to be consecutive) and is a one-time fee of $99 to buy. How would that work?
Hah, since 3 days ago it's now free registrations even for companies. [1] I strongly suspect that problems with SmartScreen are a not so subtle way to push us to the Store. Good thing is you don't have to use their ecommerce and pay anything per license. But I don't know whether we can just put trial there and keep existing trial and licensing logic on our own? For me the problem would also be automatic updates, as I don't want all users of v5 to be automatically upgraded to v6. Perhaps separate listings for major versions are the way to go, at least in my case. Since it's now a free registration I just might try it, sometimes it's faster to do it than to go through documentation to find out whether it's possible or not.
[1] https://blogs.windows.com/windowsdeveloper/2026/05/07/publis...
1 reply →
fwiw you can ship through Microsoft Store for free and not have to pay for signing.
Last time I looked the MS Store was just a sad catalogue of shovelware. Has it improved?
Depends how long ago that was. When it first came out you could only upload UWP apps and hardly anyone used it, in recent years they've relaxed it a lot (you can just publish EXEs and MSIs now, fees reduced/abolished) and I see a lot more open-source projects using it now.
1 reply →
Yes but it's free and easy to link customers there. They don't have to interact with the store outside of your product's listing.
2 replies →
Honestly, I kind of support this lack of backward compatibility. So many apps I use from big companies are still Intel based and leaving tons of performance on the table. This will finally force them to change when Rosetta is deprecated.
Open source apps are all native.
The alternative to this was continuing to optimize Rosetta while simultaneously processors improve, soon enough the performance gap wouldn't matter in the slightest. By the end of the decade you'd probably be comfortably running that software on a MacBook Neo w/ A20 Pro.
Rosetta and its underlying tech enable 10,000s of games and applications to run so it's a tremendous loss overall, it doesn't sound like much will be left if this means x86 OSX games:
> "we will keep a subset of Rosetta functionality aimed at supporting older unmaintained gaming titles, that rely on Intel-based frameworks"
https://developer.apple.com/documentation/apple-silicon/abou...
Mac used to have a lot of great shareware from indie devs. Some of them have shut down and their apps will eventually stop working. Kinda annoying when I can play the windows port of a game on windows but not the original Mac version
The fact it is easier for me to play the windows port on wine over the old mac port sometimes is absurd.
1 reply →