Monday, April 25, 2022

App Store Removing Old Apps That Still Work

José Adorno (Hacker News, MacRumors):

Apple has been sending some developers an email titled ”App Improvement Notice,” warning that the company will remove from the App Store apps that haven’t been ”updated in a significant amount of time.”

As first reported by The Verge, developers have been complaining over social media about this new policy, as this could be harmful for indie and game developers. One of them, Twitter user Protopop Games, shared a screenshot of the email sent by Apple[…]

Their Motivoto app was last updated about two years ago, so it’s not that old.

Protopop Games:

I’m sitting here on a Friday night, working myself to to bone after my day job, trying my best to scrape a living from my indie games, trying to keep up with Apple, Google, Unity, Xcode, MacOS changes that happen so fast my head spins while performing worse on older devices.

Kosta Eleftheriou:

Meanwhile, some of Apple’s own apps haven’t been updated for much longer than that.

Rules for thee, but not for me!

Kosta Eleftheriou:

Apple also removed a version of my FlickType Keyboard that catered specifically to the visually impaired community, because I hadn’t updated it in 2 years.

Meanwhile, games like Pocket God have not been updated by the developers for 7 years now[…]

Steve Troughton-Smith:

The constant removal of older games from the App Store is just another bridge burned with game developers, who are far less invested in or tied to Apple’s platforms than app devs.

Harry McCracken:

The notion that all software will always be improved by changes has never been true. Apple is happy to sell music and movies that haven’t changed in decades!

Mark Hughes:

Note, currently all my old apps like Perilar, DungeonDice, etc. are off the store. They all still work. Apple wants me to pay $100 extortion, recompile a bunch of old code that maybe takes minutes, maybe hours or days of catching up to “modern” APIs, before I can resubmit.

And once they start requiring Monterey instead of Big Sur, I have to buy new hardware to even do that, my iMac just misses the deadline for support (but they still give me a notification a couple times a month to “upgrade” to Monterey, so smart & classy).


I have no problem with Apple’s 30% cut[…] But every other part of the App Store policy is so noxious, all that’s left are shovelware predatory gacha games from China, “social” (masturbatory pictures of yourself) network garbage, and AAA studio teaser games, but not the real games. And now they’re just gonna make it impossible to get anything from the good era.

Dave Sapien:

This has happened to me also (indie game dev) a few years ago. The number is about 20 or so games that have been removed by Apple because they hadn’t been updated in two years. The worked perfectly fine on all the new hardware/software and even work today.

On top of that, I know that there is another 30 or so apps I was involved in with clients that have also been removed.

These weren’t the biggest apps/games in the world, but they were all high quality finished products that had nothing wrong with them. Its just the cost of re-publishing each one out-weighed the return, so I didn’t have much of a choice sadly. I do have plans to re-publish some of them, however they have to take a back seat for current work.

All that to say, I have a large part of my portfolio of work that is no longer available to the public, which just sucks.

Nick Lockwood:

I’ve had several replies from people who say their apps were removed despite not using any tracking of any kinds, so I guess that isn’t it.

The biggest single issue with Apple’s behavior towards developers is the lack of communication. Would it really inconvenience them to disclose the reasons for these decisions, instead of making proclamations from an ivory tower and leaving us all to speculate about the rationale?

Frank Reiff:

Apple just wants everything to be built on their latest SDKs. If that means that millions of developers need to spend a few hours re-building working apps.. it’s a price Apple is willing to pay.

At the end of the day, the development organization simply doesn’t want to support anything but the latest SDK. Less work. Fewer bugs. Less variability. Good for them, somewhat bad for users, a huge pain for devs.. but that’s the hierarchy of needs: Apple, users, devs.

Thomas Fuchs:

Games for 40-year old platforms are easily playable today.

Games released 8 years ago on iOS? Lost forever.


Update (2022-04-26): Craig Grannell:

Someone reminded me of this piece I wrote back in 2017. The games list is sobering. Of the 12 I highlighted, Muffin Knight was fixed, Devil’s Attorney and ElectroMaster were updated (much later), and Forget-Me-Not ended up on GameClub (itself seemingly now dormant). BUT…

Of those four games (out of 12), only two of them have been updated within the previous two years. So out of the initial dozen, only a third survived 2017’s Apple apps and games purge, and half of those are now presumably set for the chopping block.

Matt Sephton:

You’re missing the easy workaround for apps that do still work: resubmit the existing binary!

Update (2022-04-28): John Gruber:

We can watch really old movies today — movies that aren’t just years or decades old, but generations old. We can read works of literature that are centuries old. But we can’t play iPhone games that are three years old unless the developers constantly devote time and attention to making sure they keep up with latest SDKs every 2-3 years? Pixar doesn’t have re-render Toy Story every couple of years.

It’s a hard problem and I can see the upsides of Apple automating the clearing of truly abandoned apps from the App Store, but it seems like there ought to be a way for developers of not-updated-for-a-while apps and games to just log into Apple’s developer portal and hit a button to vouch that they still work and don’t need an update. Apple could then only cull the apps from developers who didn’t respond.

Nick Heer:

iOS also has a setting where the system will automatically remove infrequently used apps from your device and re-download them on demand. If these apps are removed, it means a whole bunch of rarely-used but functional apps could effectively disappear if you have not launched them for a while.

Update (2022-04-29): Matt Deatherage (Hacker News):

Every version of iOS contains boatloads of these multiple-version workarounds. They’re not hard to find, either.


On and on it goes across hundreds if not thousands of APIs multiplied by each new iOS version.


We think it’s entirely fair for Apple to say, at some point, “We’re not going to support apps that link against an iOS SDK made for phones the OS no longer supports.”

Apple has not said this, at least not that we can find, and that’s probably part of why the move to drop “outdated” apps from the App Store seems capricious and short-sighted. We strongly suspect that if you could look at data for all the apps scheduled for removal, you’d find that they all linked against something older than the iOS 12 SDK, or maybe even older than the iOS 11 one.


I think what this argument misses is the complete monopoly Apple has over distribution. This is not about backwards compatibility and tech debt, this is about distribution.

Yes, you can keep an old device around to use old apps or play old games. But to do that you must have preinstalled the old app, and that device can never be broken or reset, lest you lose the app.

The analogy to VHS is not a bad one, but when VHS players (and DVDs, and BluRays) stopped being current, all the old players and tapes didn’t stop working. That is the power that Apple has right now - to remove old apps from existence even for devices and operating systems that support them completely.

Guilherme Rambo:

I had to update a sticker pack I launched back in 2016, which doesn’t even have any executable code 🙃

Update (2022-05-07): See also: Apple’s Explanation for Removing Old Apps.

16 Comments RSS · Twitter

Removing old games that still work is anti-competitive ammo against Apple Arcade.

Old Unix Geek

This allows Apple to break backwards compatibility faster. It reduces costs by moving work onto everyone else: third party developers get to rewrite stuff that works, but Apple no longer has to maintain their old stuff. By the time programmers have figured out to work around their bugs, their workarounds won't work because the API has been deprecated.

Of course that means companies might want to rely on a third party layer which abstracts away all those shifting sands. Something like Flash... perhaps React? It's ironic that that's what Steve Jobs feared because he thought things like Flash prevented the hardware from being used to its fullest extent, and therefore killed Apple's hardware differentiation.

It also means that any new rule can be enforced on old apps within 2 years. So Apple's rules can be even more capricious than before.

It seems to me to be something that will encourage scams and throw-away apps. What it will kill are small apps written by enthusiasts for specialist niches. It may also disable a lot of "iOS-ready" hardware. So basically something that encourages more consumer items and benefits large corporations that can afford to have people waste time, running in place.

Apple's new motto: "Build your business on shifting sands". It is becoming the Red Queen in Alice in Wonderland: "My dear, here we must run as fast as we can, just to stay in place. And if you wish to go anywhere you must run twice as fast as that."

At the end of the day, the development organization simply doesn’t want to support anything but the latest SDK. Less work. Fewer bugs. Less variability. Good for them, somewhat bad for users, a huge pain for devs.. but that’s the hierarchy of needs: Apple, users, devs.

I wondered why they'd use such a lazy metric (determine cutoff by build age? How about active sales insteads?).

I think Frank's answer solves that [not so convoluted] mystery perfectly.

Strangely, however, the Windows App Store [sic ;^D] did "you haven't updated in a while. Goodbye!" a few years ago without nearly so good a reason. In that case, I just had to look alive and reply to the automatically generated email that the app had been removed and they put my app back.

My app had sales, strangely enough. Not Maserati money, but good pizza & beer/side hustle money. And I didn't make any updates; same version is in there now. So, on some level, though Frank probably wins Occam's Razor in a rational world, ultimately who knows?

Meanwhile, the App Store is filled to the brim with scams that are never removed.

I dunno. I ought to be more bothered by this, but strangely I'm just not. Old apps were never a first-class citizen during the 64-bit transition either, and I've long since stopped stuffing my iDevices with apps and games on a whim. The glory (and fun) days are simply over, and TBH I still can't recognise any period after about iOS 6 that I'd consider particularly memorable or great. The serendipity of just installing shit because you can has also long been called into question because of the sheer quantities of sewage in the store.

Let's face it, iOS isn't the platform for archivists or enthusiasts. It's a revenue generation stream for a willing class of snake-oil salesman. If you want to preserve and enjoy old software, do it in an emulator.

Old Unix Geek


From a developer's viewpoint, it's a little different. It takes a long time to master these platforms. One gets to enjoy various aspects of them because some of the tech is pretty good and unique in some ways (objective-C, Swift, and LIDAR for instance). But then the only jobs are making products that generate revenue "for a willing class of snake-oil salesmen", as you so eloquently put it. That wasn't really what one thought one signed up for. Going Indie is not really an option: at this point, it's just signing up for more headaches.

I had an app that was removed from the Mac App store. I was quite surprised about that, because it was a 32 bit Carbon app and I thought they had removed it a long time ago! (I do have a modern app but that is not being sold thru the Mac App store.)

Using an old SDK triggers compatibility layers in iOS, so I guess they want to remove one of these layers specifically.

I have an app that’s even older and didn’t get an email. So I really think they are looking for usage of a specific API, perhaps something gaming related like OpenGL?

Old Unix Geek

Looks like the EU is going to do some of their own app removal

This will be interesting... EU Versus Tech Titan, round 2.

Be right back, I just have to go add a touchbar that nobody asked for to one of my apps to keep it alive...

@Old Unix Geek

No disagreement there. Of course Apple mistreats developers, and ultimately, developers are users too. The problem is, the incentives are all wrong, so they increasingly optimise for "bottom-of-the-barrel" growth tactics, which Apple are ultimately willing to facilitate because it helps their bottom line, even when apps are "Free". Although I have certainly taken issue with some devs for being complicit in this situation, and then complaining about it in the face of less scrupulous competitors, Apple gets a very large share of the blame for driving the App Store into the gutter like this. It's tragic, but perhaps because I no longer have any expectation of quality, I just find it hard to get passionate about it anymore. Just checked: 14 apps installed, beyond the stock apps, on my primary device. That's pretty shocking, actually — I used to have at least a hundred. End of days.

> This allows Apple to break backwards compatibility faster.

Right, but Apple already does static analysis on submitted binaries anyway. Why not analyze for API usage, and only notify developers who have in fact been using APIs that are already deprecated. (Or, if you want to be a jerk, APIs that haven't even been deprecated yet but are internally on the chopping block.)

Anyway, yeah, I think that's what this is. Apple has long been rather aggressive about deprecating old APIs, which is a double-edged sword.

> Of course that means companies might want to rely on a third party layer which abstracts away all those shifting sands. Something like Flash... perhaps React? It's ironic that that's what Steve Jobs feared because he thought things like Flash prevented the hardware from being used to its fullest extent, and therefore killed Apple's hardware differentiation.

The reality was this was going to happen no matter what. Upper management hates the idea of having multiple platform-specific apps. Games run on engines like Unity or Unreal, and apps use React Native, Xamarin Forms / MAUI, Flutter.

(Nonetheless, Flash was too monolithic and too poorly adapted for mobile, and it didn't seem like Adobe was particularly able and/or interested in changing that.)

Old Unix Geek

Apple does static analysis.

Indeed they do, and warning about API changes would be a more developer friendly solution. Logically, if you care about developers, that's what you'd do. The fact they aren't, suggests this may be more a business decision: we can change contracts on people more easily this way.

The reality was this was going to happen no matter what.

The fact Apple invested in Swift suggests that when they started they hoped to ward that off. Objective-C is just as good, if not better, for making a runtime for another language as anything else is. So my point is that there is an inherent contradiction in Apple's own behavior here... so either one hand doesn't know what the other is doing, or the strategy changed.

I'm wondering whether Apps have become such a significant source of revenue that the people managing this "business" have taken the fore. They no longer care to attract developers. (There always more where they came from). Instead this is about harvesting maximum revenue, and exploiting a monopoly (re: congress' investigation which concluded they had monopolistic power). I.e. a phase change occurred some time ago, and we're in a different regime from the original one introduced by Steve Jobs.

> The fact Apple invested in Swift suggests that when they started they hoped to ward that off.

In terms of "Objective-C is not only aging, but also very unlike many other languages", sure, but not in terms of "very few companies are interested in making a desktop app plus a web app plus two mobile apps". Instead, they replace the desktop app with an Electron-based web app, if they bother at all, and they replace two mobile apps with just one. Apple and Google and Microsoft can make their respective tooling as attractive as possible to ward that off, but engineers, UX designers, etc. will always fight an uphill battle of "yes, but if we make native apps, they'll be better (in ways hard to explain in an elevator pitch)".

> So my point is that there is an inherent contradiction in Apple's own behavior here

Yes. I wouldn't read too much strategy into this.

Old Unix Geek

This guy, referenced by Gruber, is an idiot who thinks himself clever...

Notice that you need to buy a new copy of your Pixar video in 8K format. That's because it took work to upgrade your Pixar video. However, if you want to run the app on the new iPhone, the developer gets exactly nothing for the work to make it work on that new iPhone.

So Apple essentially makes the developer pay to support its incompatibilities.

As a consumer, you got to keep your VHS which still works on your VHS player. It still works with the same electricity network you had when you bought it, and it doesn't contain a battery that keeps no charge. You don't have to replace it every couple of years because of a new and "better" electricity standard. However your old iPhone doesn't work that well on the "new and improved" cellphone network.

MDJ's point(?) would make more sense if we were talking about software that's ten years old, not… two.

Even if Apple provided better tooling to keep your code modern, a lot of people just don't have the budget to keep modernizing their apps every two years. It's needless busywork. And, as has been pointed out, some of Apple's own apps aren't even updated that frequently.

Leave a Comment