On the Topic of Updating on the App Store

It appears that Apple’s “App Improvement System” is taking effect as of recently. Many indie game developers, app developers, and sticker creators are being plagued with emails from Apple’s system, telling them to either update their product or it will be automatically removed.

It appears that Apple’s “App Improvement System” is taking effect as of recently. Many indie game developers, app developers, and sticker creators are being plagued with emails from Apple’s system, telling them to either update their product or it will be automatically removed.

I feel sick. Apple just sent me an email saying they're removing my free game Motivoto because its more than 2 years old.

It's part of their App improvement system.

This is not cool. Console games from 2000 are still available for sale.

This is an unfair barrier to indie devs.

View on Twitter

I’m not sure what prompted Apple to do this so abruptly (maybe new hardware or upcoming SDK requirements?), but this spells trouble for those that are unable to update their products. I also suspect that Hyperspace Desktop will receive the same fate at some point; however, this should be more or less fixable, since we’re planning to bin the Desktop client and replace it with Luna in the future, which is Compose for Desktop based.

I love being on the bleeding edge of software* and don’t care about backwards compatibility; however, I recognize that others don’t have the bandwidth to update their products to meet that demand. I also recognize that other developers may simply not want to update their apps because nothing is wrong with the current version:

.@apple is removing a few of my old games b/c they have “not been updated in a significant amount of time”

Games can exist as completed objects! These free projects aren’t suitable for updates or a live service model, they’re finished artworks from years ago.

View on Twitter

It’s unfair that Apple has put these developers in this position, especially when they don’t have the bandwidth to update. At the very least, they could have (and should) put up a compatibility warning for customers in the future.

Apple seems to be constantly waging a war with developers and the “meta developers” (namely, the developers responsible for making the tools that the indie developers use) on the App Store, and it’s confusing to see it unfold this way. I faced this problem when submitting Hyperspace Desktop a year or two ago:

Recently, Apple has been rejecting Electron apps on the Mac App Store due to usage of private APIs in Chromium. As such, this issue is out of our control. [Unfortunately], we are unable to [distribute] Hyperspace on the Mac App Store.

While it felt like Apple was targeting me directly, the real problem lied within the Electron framework because of Google’s usage of private APIs. Though this prompted us to develop the Starlight client that has been in the works for a long time, it certainly made it difficult for other developers using Electron.

So, how do we go about solving this problem? While Apple can clearly just be more backwards-compatible and allow apps to exist for years, I think there may be other solutions that can aid in this:

  • First, if an app hasn’t been updated in 3-5 years, Apple should automatically add a field on the App Store’s page to inform the user. This field should set the people’s expectations when downloading the app, while also allowing the developer to keep the latest version as-is.
  • Likewise, Apple should also reach out to developers to ask them to update and offer help when necessary. Their current approach of “update or else” isn’t inviting and should be remedied.
  • Finally, “meta developers” should work more closely with platform vendors and software developers to create a smooth upgrade process. Unity is notorious for not making this work, and that needs to be fixed.

I recognize that these changes may be systemic and take a long time to implement, but I believe that these steps would certainly alleviate this problem without needing to focus on backwards compatibility and making it easier for developers.

*The bleeding edge that is stable, of course.