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.
A better strategy would be to allow app publishers to log in and indicate in some way that the app is still "good" and active. Now I have to make a "fake update" to a perfectly fine app because of this.
Of course the best strategy would be to just don't do this at all. I find it offensive that a single company can decide on a whim to erase my perfectly fine software from history, because it's "ancient" in their opinion (two years old).
This is more about making sure the app compiles with the latest SDK and whatever requirements that entails.
I still have a few crap apps on my phone that look zoomed in because the author never bothered to update them for HiDPI devices - that was half a decade ago.
I agree with interpol. There are always new info.plist privacy settings and the like that apps need to support. As I recall there were also some relatively recent TLS and https security requirements. Then there are things like dark mode support and... nevermind.
I'd turn the question around. Why wouldn't an Apple customer who buys a product expect it to be up to date, well-maintained, and reflect current best practices in security and privacy?
Saying that it's not convenient for the developer isn't a great answer to that question.
They do maintain compatibility, it's just obviously running in compatibility mode because of hardware changes.
If your app doesn't account for a notched display, or a retina screen, or multi-tasking or whatever, then there's nothing Apple can do aside from run it as it used to run on older hardware, without supporting the new features.
It feels like we are back in time before writing existed. I wonder if in 10,000 years from now archeologists will find any real cultural artifact from our time.
Eh, it’ll be hard to replay any iOS games in the future but most of them have screen recordings on YouTube which has been pretty good at keeping old stuff.
People joke that things on the internet last forever but I have witnessed so many things come and go and totally disappear that I doubt exist anywhere anymore. Its just a complete fallacy.
Not just youtube but soooo much content has come and gone. Its a total shame and travesty that so much wonderful content has been lost for so many different reasons.
Not unless society survives continuously because our artifacts are quite delicate. It's ironic that the clay tablets we found are probably the only things that will survive another few thousand years.
Eh, that's just survivorship bias at work. Of all the clay tablets that did survive, many many more were lost forever.
It isn't infeasible that some servers in a well-sited data center could survive. It'd take a lot of careful work to extract the data, but the potential wealth of information from a dump of, say, Wikipedia or any news archive would be massive compared to what previous lost societies left us.
Of course, it's equally possible all that survives is the logs of 4chan or Instagram or something equally embarrassing. What works future society think of us then?
You're right that many clay tablets were lost, so if we rely on an even more fragile medium than clay tablets even more will be lost – possibly even all of it.
Long-term digital storage is a somewhat tricky problem since all of our storage media lose their information over time if left lying about (usually on the order of decades) and require quite careful conditions for preservation. This is true in some sense for a lot of historical artefacts ranging from clay tablets to dinosaur bones to vellum, but getting useful information from half a clay tablet is still quite easy, whereas getting useful information from a broken digital media is a very hard – or even impossible – problem even today. In several thousand years your digital medium will need to be in a very good condition or its useless.
Turning a dump of wikipedia (the kind you get on dumps.wikimedia.org) into a running instance of wikipedia that you can browse is actually insanely hard. I put considerable effort into it a few years back and gave up. Don't know what the state of this is right now. So unless the servers that survive are the ones running wikipedia in production now, archaeologists will be out of luck.
But those won't survive, the simple reason being that the people running them now are making continuous changes to them now and there is no guarantee that those changes preserve whatever information future archaeologists will find of value (which we can't really know now).
And this is true for much simpler mediums than software as well. Take film for example. For film printed on celluloid, all you need is for a good copy of each reel of each film to survive and you've got pretty much a guarantee that this piece of culture will be preserved somehow. Nowadays films are digital thingamajigs rather than celluloid artefacts and the institutions tasked with looking after that digital cultural heritage go about it with an editorializing rather than archival mindset. (e.g. taxpayer-funded BBC removed an old episode of Fawlty Towers, itself a taxpayer-funded BBC production, from their streaming platform for being racist after the George Floyd incident [1]).
Besides: With virtualization and the various forms of infrastructure abstraction in combination with encryption-based security models, even a hypothetical scenario where all human life ceases to exist but all servers somehow survive on the bare metal layer would probably fail to preserve our digitual cultural artefacts.
Hard disks owned by private individuals with a "digital hoarder" mindset would probably make for a more useful archaeological find than servers.
> (e.g. taxpayer-funded BBC removed an old episode of Fawlty Towers, itself a taxpayer-funded BBC production, from their streaming platform for being racist after the George Floyd incident [1])
Just read up on that and am shaking my head in disbelief about the fragility of, well, everything really. Technology, emotions, interpretations, a general sense of having to pre-emptively react to anything and everything. Even at the time of creation, Basil Fawlty was a caricature of a deeply despicable man and other characters equally so. Best leave it to John Cleese himself to sum it up:
> Cleese spoke against the removal of the episode due to the Major's use of racial slurs: "The Major was an old fossil left over from decades before. We were not supporting his views, we were making fun of them. If they can't see that, if people are too stupid to see that, what can one say?"
This very much reminds one of the contemporary crusades against The Adventures of Huckleberry Finn. One of the characters, a run-away slave by the name of [pejorative] Jim, is actively railed against by much of society for being an imbecile, uneducated, and so on.
Yet throughout the story Huck runs into all sorts of people who are mostly acting like great people on the outside, yet invariably turn out to be horrible people on the inside (even including Huck himself). The one exception is Jim who actually ends up being a selfless and good person, inside out, from the start to the end.
The whole story is a reminder that what people pretend to be, and what they are - often have a rather strong disconnect. That many schools have successfully banned the book from the classroom because of the pejorative used, is perhaps one of the clearest reflections of the state of contemporary education. It'd be like if Germany had chosen to ban Schindler's List because the lead character is a Nazi.
Indeed. If you censor the past, you’re doomed to repeat it. I absolutely support mandating giving proper context, to aid understanding. That’s what school curriculums could be about. If you change the teaching of past events (or worse, the source material itself) according to contemporary tastes, consequently all of the past becomes largely meaningless and a tool to be wielded to further populist agendas.
> "Turning a dump of wikipedia (the kind you get on dumps.wikimedia.org) into a running instance of wikipedia that you can browse is actually insanely hard."
It takes 87 GB and a single click to create a local Wikipedia with pictures included. That software also has support for downloading data from a vast array of other sources as well.
You want to leave future archeologist something to do: "we could link these low-res jpegs to some high res webP even some SVG. It was a delicate task since we recovered it from an old Seagate Baracuda 2TB drive.
We even had to break some ancient pre quantum cryptography! We believe that we now have the whole collection of stylized ape pictures. Traded for their high ritual value among the Cult of Eneftee"
I'd imagine they would think we were human. Imagine we could access data from past times. Would you rather see decentralized unfiltered raw content from vast numbers of humans (who we will magically impart contemporary literacy rates to, so that such would even be possible), or the collected works from the House of Wisdom [1]?
How closely does Apple monitor for changes? Could you simply update the copyright text each year and push an "update" to remain on the store. I can't imagine they have people looking at each app for new levels or features.
Best case, check out your code, bump the version number, touch up your copyright date, hit "Run", do your testing¹, hit upload, have a sandwich, check it out in TestFlight, approve a release, maybe check a few boxes that say you aren't shipping super secret encryption technology to shunned nations.²
But usually after a few years Xcode will bitch at you about a lot of stuff, so maybe you raise the minimum OS version requirement, click "Fix it" on a lot of API respellings, find a couple that it can't automatically fix so you have to google that a bit. Then test and upload.
Maybe get in a fight with Xcode over your signing keys.
Sometimes something you were using gets deprecated and you have to use the newer replacement. That takes some coding.
It can get ugly if the 'owner' in the app store is not you or is an entity you no longer control. Then you have to get them involved to do the chain of trust signing.
If you produced it under contract, you may not be legally allowed to update it without a new contract.
␃
¹ do your testing is easy to say, but that could take an arbitrarily long time depending on how thorough you are. I expect this to be the dominant cost for most game updates.
² I pulled out one of my aging apps and just did all this to check, 10 minutes from "checkout" to "installed in TestFlight". The dreaded App Store review was 3 minutes. This isn't really a fair data point though, Xcode didn't suggest any source code changes so it was just bumping numbers and rebuilding.
There are many dependancies that require some kind of reimplementation, it's a pain.
I have made things easier (in the long run) with my last game. I wrote it all in c++ with all dependancies under my control. I was thinking >20 years ahead for that one.
Realised that was a bit snarky of a comment, I'm using a a modified version of Cocos2dx .v4.
It took way longer to create than if I was using Unity, but its a great solution for a small and performant end product. I was able to get Kanso down below 100MB and will run on a total potato. Something I highly doubt I could do in Unity without some serious effort.
Consistently not being able to run code that was just fine 2 years ago. Consistently having "quality assurance checks" that somehow always entail paying more rent to Apple.
Mostly time and hassle I would imagine. Apples requirements also shifted in the meantime so you might also be forced to provide more info/pictures/etc. which again comes down to time and hassle.
Yeah, spread that over 20 games/apps. It can really mount up, I can think of other indie game dev's that only publish on iOS that their games are now forever lost.
You mean the one that could barely run on 1Ghz phones with 1GB of RAM that the company behind it said they could have gotten it to run on a 128MB RAM first gen iPhone with a 400Mhz processor if Apple had allowed them?
I'd like to see how a web app of similar complexity would run on the same hardware. For all that people remember Flash being slow, remember the era of hardware it was running on.
By the time the iPhone was introduced, PC hardware was well into the GHz era with multiple GBs of RAM. The phone was much more constrained and didn’t have disk swapping.
In that case why were the minimum requirements for Flash for Android when it did come out in 2010 and 1GB of RAM and a 1Ghz processor and then it barely ran, ate up battery life, and was soon discontinued?
The first iPhone that came out with those spec’s was in 2011.
So doesn’t that kind of tell you the answer to how Adobe was full of it when they complained that they could have ported Flash to the 1st gen iPhone if it weren’t for Apple blocking them? The fact that they couldn’t get it working well on phone hardware four years newer, over twice as fast, with 4 times as much memory with larger batteries?
Cross platform frameworks like the initial poster alluded to always suck compared to native purpose built frameworks.
We see that today with Electron - a battery killing, memory inefficient, platform.
Flash on the Wii, as I recall, worked well mostly for flash games that were designed with the Wii in mind, and for very simple interstitials. Anything more complex did not work well.
I think Adobe could have done something similar on the iPhone. I don't know that it would have been what people wanted, and I think it would have exposed some of the iPhone's hardware limitations to users.
Mostly though, I think Flash was a heck of a lot better than what we have today with overly-complicated webapps and Electron, as you referenced. That's the point I was trying to make—we've ended up with something even less efficient than Flash ever was!
If games were designed to target a specific platform, doesn’t that lose some of the benefit of a cross platform runtime?
Of course the iPhone hardware had limitations at the time. The iPhone OS was very optimized around its known limitations and it aggressively killed apps from running that drained battery life or used too much memory (and it still does).
Native iOS apps are very efficient. Now the thought of running apps in a Java virtual machine on a phone in 2008 like Android did wasn’t a great idea. The best thing that Apple did was help rid the world of Flash.
Every time macOS/Xcode/iOS updates, some of the iOS APIs are deprecated in favor of "the new better way of doing things". You have to keep up, or else your old apps stop compiling at some point.
At the very minimum, it’s the developer fee, then it’s time and manpower to do all the certificate and notarization dances du jour that Apple keeps changing every year, because it’s more humiliating that way.
And then you go through review and they may reject your app because you get an inept reviewer who has a bad day.
Total remakes from basically scratch.
I've settled on rolling with c++ with no(minimal) external dependancies as the best solution...still using Unity for some projects, its just so fast to get stuff done!
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.