News for hackers. Stuff that matters.
Re:Outdated vs. Complete: In defense of apps that don’t need... by crazygringo on Monday September 26, 2022 @04:27PM (#32987910)
Hate away, but in this case I'm on Apple's side here. The author may be the exception where no updates are actually needed, but that does seem to be the exception. In my experience, most iOS apps I've tried downloading that were last updated 2-3 years ago simply don't work.

Apple requires an update in the past 3 years or else a minimum threshold of downloads. Presumably the latter is required so there are simply enough newer reviews to indicate whether it's broken (lots of 1-star) or not. These seem like pretty reasonable indicators that it's still working.

> My old code simply did not work anymore with the latest versions of Xcode. So I had to spend four hours on Saturday upgrading all my platform libraries simply so that I could compile the damn app.

Honestly that's just good hygiene. Because if they waited another 2 years, it might have taken 4 days to get the thing working. New versions of libraries come with all sorts of improvements, whether it's for accessibility or security or a hundred other things.

It doesn't seem unreasonable to me that if you're maintaining software in a public app store, you should be able to compile it semi-regularly with new versions of packages.

Re:Outdated vs. Complete: In defense of apps that don’t need... by bambax on Monday September 26, 2022 @04:40PM (#32988061)
Backward compatibility is Apple's job, not developers.

(This debate is as old as computers, but I'm strongly in Raymond Chen's camp.)

Re:Outdated vs. Complete: In defense of apps that don’t need... by musicale on Monday September 26, 2022 @04:53PM (#32988206)
I agree. Unfortunately they've abdicated their responsibility and dumped the maintenance/compatibility burden upon developers.

It seems like a multiplicative trade-off: Apple saves a small number of hours but offloads a support burden onto thousands of developers.

I think you have to be careful about this. Apple benefits from lower costs and having more time to improve the platform; but developer time/focus/creativity is also being taxed by a constant support burden.

Re:Outdated vs. Complete: In defense of apps that don’t need... by andrewxdiamond on Monday September 26, 2022 @05:13PM (#32988499)
> It seems like a multiplicative trade-off: Apple saves a small number of hours but offloads a support burden onto thousands of developers.

Backwards compatibility is not a trivial effort, and can severely constrain the future evolution of a product. Keep in mind you’re asking for a completely backwards compatible embedded device OS. Being willing to make breaking changes is part of why Apple’s software is the quality that it is.

If you want a counter example, Windows is notorious for strange undocumented behaviors and special case handling. These are consequences of Microsofts choice to fully embrace backwards compatibility. This leads to a complicated platform that is continually more and more expensive to maintain, polish, and secure.

That expensive polishing cost is what tips the scales here for Apple. Backward compatibility can get in the way to get the level of polish that they call acceptable.

Re:Outdated vs. Complete: In defense of apps that don’t need... by alerighi on Monday September 26, 2022 @05:44PM (#32988936)
Android to me is better regarding of backward compatibility. Of course everything is easier since it has a much more flexible architecture, being based on bytecode and a JVM (contrary to iOS where applications are actual native binaries). The problem is that iOS is not all that well designed in that regards.

> If you want a counter example, Windows is notorious for strange undocumented behaviors and special case handling. These are consequences of Microsofts choice to fully embrace backwards compatibility. This leads to a complicated platform that is continually more and more expensive to maintain, polish, and secure.

Yes, and macOS (and iOS) a POSIX operating systems that maintains backward compatibility with something from the 80s. In that regards Windows is much more modern.

Re:Outdated vs. Complete: In defense of apps that don’t need... by andrewxdiamond on Monday September 26, 2022 @10:31PM (#32991008)
Well. MacOs also recently dropped the M1 architecture shift with no warning. Rosetta is more of a crutch than true backwards compatibility
Re:Outdated vs. Complete: In defense of apps that don’t need... by newtritious on Monday September 26, 2022 @05:53PM (#32989059)
This is just wrong. Some older APIs are simply insecure or inefficient for example, and of course there are things that apps must now ask permission for where they didn’t in the past.

Apple can’t make these things compatible, nor should they try.

Re:Outdated vs. Complete: In defense of apps that don’t need... by naniwaduni on Monday September 26, 2022 @04:48PM (#32988144)
Worse, developers need forward compatibility. Predicting the future is widely considered harder than inspecting the past.
Re:Outdated vs. Complete: In defense of apps that don’t need... by musicale on Monday September 26, 2022 @05:05PM (#32988398)
In theory if you follow Apple's guidelines then you should maximize your app longevity; in practice Apple is going to break you eventually, and quite possibly in the next OS release.
Re:Outdated vs. Complete: In defense of apps that don’t need... by jxramos on Monday September 26, 2022 @07:12PM (#32989838)
I learned of this working at Apple that they don’t really strive for backwards compatibility. I think I upgraded some internal tool and discovered this MO. This was in such a contrast to Microsoft where I heard crazy stories of incredibly old software still being able to run. What exactly is the overhead to achieving such astonishing backwards compatibility as Microsoft has?
Re:Outdated vs. Complete: In defense of apps that don’t need... by arcticbull on Monday September 26, 2022 @04:57PM (#32988280)
Hard disagree. Letting your platform stagnate by ossifying bugs and poor API choices is not what I want to see from any platform provider, and I for one am happy Apple is aggressively pruning the old to make room for the new and not allowing themselves to be beholden to past mistakes.

I'm sorry this developer spent a couple hours hitting "build" until their app started working. If they'd done it earlier it would have been far less painful. Their sacrifice improves the community.

I say this as an iOS engineer since like 2012 and a macOS developer since ... 2004?

Carbon [1] should never be allowed to happen again. If you really want an old system, you should be allowed to virtualize it, but the world must move forward.

[1] https://en.wikipedia.org/wiki/Carbon_(API)

Re:Outdated vs. Complete: In defense of apps that don’t need... by guhidalg on Monday September 26, 2022 @05:05PM (#32988387)
I don't understand this comment, do YOU actually ship breaking changes to your users and expect them to continue using your code or programs? Just because Apple does it doesn't mean it's actually a good idea.
Re:Outdated vs. Complete: In defense of apps that don’t need... by arcticbull on Monday September 26, 2022 @05:06PM (#32988421)
I, like anyone with a project sporting a major semver number >1 definitely ship breaking changes to my API customers.
Re:Outdated vs. Complete: In defense of apps that don’t need... by guhidalg on Monday September 26, 2022 @05:18PM (#32988570)
Can you not? I understand sometimes you absolutely need to change a signature or deprecate a feature, but that should absolutely be the exception and not the norm.

Going back to the original post, I find it ridiculous that Apple regularly ships breaking changes (to their APIs) and developers just put up with it. In my minds, it's like being in an abusive relationship where you think if you try a little harder and stay up to date with the latest API version maybe Apple will treat you better (they won't). Apple can get away with it because they own the whole iOS/macOS tower top-to-bottom, but if you want to build trust with your users breaking changes should be the absolute last choice.

Re:Outdated vs. Complete: In defense of apps that don’t need... by scarface74 on Monday September 26, 2022 @04:59PM (#32988316)
I know this isn’t an issue for the author. But for Apple to keep backward compatibility for ever, they would still be using die space for 32 bit support and have duplicate versions of every shared library both in memory and on disk.

Last time I checked, because MS worships at the alter of backwards compatibility, there are nine ways to represent a string in Windows in C and you constantly have to convert between them depending on which API you’re calling.

Every piece of code in your operating system is another vector for security vulnerabilities and something else to maintain and in Apple’s case port to a new processor. How slow has Microsoft been entering new markets because of the albatross of legacy code?

Re:Outdated vs. Complete: In defense of apps that don’t need... by desindol on Monday September 26, 2022 @05:32PM (#32988798)
Nope, cull it all. I don't need zombie apps in store because one guy in Australia really likes it and I really don't need 10 years backward compatibility in OSes. This whole debate let ie6 go on for over 21 years... 21 years because businesses couldn't be asked to update their apps. Sorry if you need old shit emulate it.
Re:Outdated vs. Complete: In defense of apps that don’t need... by trap_goes_hot on Monday September 26, 2022 @06:34PM (#32989500)
I'm advocating for me, and users like me, not for the interests of a greedy corporation. I just want the things that I paid for to continue working. I don't want to re-buy things just so Apple can line their own pockets. I don't want to chase developers to provide updates, or if they have gone out of business, be stuck. I use technology as a tool to get stuff done. I don't need Apple to come and disable my investment in software.

https://lkml.org/lkml/2012/3/8/495

Re:Outdated vs. Complete: In defense of apps that don’t need... by desindol on Monday September 26, 2022 @08:02PM (#32990215)
If you bought the apps they will still be available to download… You can use them at least for another 2 years with a ios16 device and probably later on. You just can’t buy them anymore if you really need spacebar heating it’s on you.
Re:Outdated vs. Complete: In defense of apps that don’t need... by trap_goes_hot on Monday September 26, 2022 @08:15PM (#32990298)
As per Apple's support, you can't.

https://discussions.apple.com/thread/252735331

Re:Outdated vs. Complete: In defense of apps that don’t need... by desindol on Monday September 26, 2022 @08:33PM (#32990409)
That’s not apple support that’s the answer of your neighbor that made himself a little police badge…this is the support article… https://developer.apple.com/support/app-store-improvements/
Re:Outdated vs. Complete: In defense of apps that don’t need... by NavinF on Monday September 26, 2022 @06:24PM (#32989392)
I'd be on board if Apple allowed alternative app stores or internet downloads. Right now you either get curated or nothing.
Re:Outdated vs. Complete: In defense of apps that don’t need... by tonmoy on Monday September 26, 2022 @04:48PM (#32988146)
Unreasonable backward compatibility is how we end up with windows vista
Re:Outdated vs. Complete: In defense of apps that don’t need... by musicale on Monday September 26, 2022 @04:56PM (#32988262)
Windows Vista was painful, but consider that:

1) Compatibility wise it wasn't worse than macOS Catalina or iOS 11, which both killed off 32-bit apps; actually a typical iOS release is probably worse than Vista in terms of backward compatibility

2) Vista's security improvements (such as sandboxing device drivers, requiring app permissions, etc.) were beneficial and persist to today – and were arguably the predecessor to modern app permissions systems in macOS and iOS (and Windows 10/11)

2a) Microsoft eventually largely addressed compatibility by providing an XP compatibility mode (really an XP VM); they could have/should have managed this better

3) Vista got the UI for app permissions wrong, and users hated it; I think Apple did it better but Apple is generally better at UI and also had the chance to learn from Microsoft's mistakes.

At the end of the day, Vista's woes were largely from not paying enough attention to backward compatibility, combined with poor UI design. It was a rough transition, but Microsoft seems to have learned somewhat from the experience (although Windows 8 also had some UI issues.)

Re:Outdated vs. Complete: In defense of apps that don’t need... by scarface74 on Monday September 26, 2022 @05:03PM (#32988359)
The tradeoff with killing 32 bit apps was that Apple could remove support for 32 bit code in ARM processors. Apple knew they were moving to 64 bit ARM processors.

But should Apple have kept support for PPC support forever? 68K? Why not keep a 65C02 emulator around so I can run Oregon Trail from the 80s?

Re:Outdated vs. Complete: In defense of apps that don’t need... by musicale on Monday September 26, 2022 @05:08PM (#32988440)
> Why not keep a 65C02 emulator around so I can run Oregon Trail from the 80s?

Sounds good to me! Pretty sure Apple 2 system software and an emulator would only be a few megabytes, and it would be awesome as something you could install for free like GarageBand etc.. Apple might also be able to acquire the rights to a bunch of classic Apple 2 apps and games...

Maybe we can convince Apple to do it for their 50th birthday. Or maybe a Mac emulator for the 40th anniversary of the Macintosh in 2024. ;-)

Re:Outdated vs. Complete: In defense of apps that don’t need... by int_19h on Monday September 26, 2022 @10:59PM (#32991140)
Windows 7 had a better backwards compatibility story than Vista, and it's arguably the best version of Windows to date, ever. So whatever the problem was with Vista, it sure wasn't back-compat.
Re:Outdated vs. Complete: In defense of apps that don’t need... by matchagaucho on Monday September 26, 2022 @04:41PM (#32988073)
Agreed. Apple is not asking for more features, but a recompile of the app against the latest iOS and SDKs.

That's generally a good practice as buffer overflows and all kinds of entropy accumulates on an OS.

Re:Outdated vs. Complete: In defense of apps that don’t need... by SilasX on Tuesday September 27, 2022 @10:34AM (#32995741)
Apple was adding buffer overflows to their OS in 2014?
Re:Outdated vs. Complete: In defense of apps that don’t need... by masklinn on Monday September 26, 2022 @04:32PM (#32987978)
> In my experience, most iOS apps I've tried downloading that were last updated 2-3 years ago simply don't work.

Not sure what category of software that was but e.g. for games it’s usually not an issue. I used to have a bunch of games and game-adjacent software from the first AppStore year, we’re talking the time when you’d pay a buck for a virtual rain stick which’s use the accelerometer.

They kept working until the 64b switch killed them. Rebuilding them would undoubtedly have been difficult for the author even if they’d not moved away from them, but because those’d use only minimal is features (raw-ish inputs, and setting up opengl) there’s basically nothing to break which would not be flagrant.

Re:Outdated vs. Complete: In defense of apps that don’t need... by musicale on Monday September 26, 2022 @04:36PM (#32988013)
I also had many games killed off by the 64-bit switch (on both iOS and macOS), but even after that a number of games that still worked were removed from the app store.
Re:Outdated vs. Complete: In defense of apps that don’t need... by TedDoesntTalk on Monday September 26, 2022 @04:57PM (#32988279)
Games are definitely “complete” after a while., sometimes on first release. If they continue to work on the OS, the only reason Apple is dropping them is because they want the developer to give them another $99. The busywork this creates is a headache for everyone except Apple.
Re:Outdated vs. Complete: In defense of apps that don’t need... by masklinn on Tuesday September 27, 2022 @03:36AM (#32992492)
> Games are definitely “complete” after a while.

More importantly for better than or worse it’s just not how game lifecycles and financing go.

Re:Outdated vs. Complete: In defense of apps that don’t need... by arcticbull on Monday September 26, 2022 @05:04PM (#32988372)
$99 from a few developers is meaningless to both Apple and the developer of a game. It's like 40 minutes of wages for an average engineer. Apple doesn't want to have to support old bugs and poor API choices in perpetuity.
Re:Outdated vs. Complete: In defense of apps that don’t need... by TedDoesntTalk on Monday September 26, 2022 @05:23PM (#32988645)
What makes you think it's only a few and not large scale? And why would forcing a developer to update their feature-complete game result in stopping support of "old bugs and poor API choices"? There is no requirement to update the API level. Read the article.
Re:Outdated vs. Complete: In defense of apps that don’t need... by arcticbull on Monday September 26, 2022 @06:11PM (#32989258)
Simply rebuilding and resubmitting the app with a new version of Xcode will yield a significantly different binary artifact today than a few years ago.

It isn't necessarily about API level, it could be (from time to time) about going from arm32 to arm64, to adding better-optimized builds for new microarchitectures, getting bitcode that's recompiled by Apple to support app thinning. Apple may deprecate or remove APIs from time to time that should also be addressed.

That there wasn't necessarily, specifically, a change this time doesn't mean that this program isn't about supporting that over time. It's much easier to make such changes if developers are in the habit of periodically making updates vs. being told to make a breaking update out of the blue.

Re:Outdated vs. Complete: In defense of apps that don’t need... by scarface74 on Monday September 26, 2022 @05:05PM (#32988390)
You really think the $99 a year from developers would incentivize anything?

And before you quote the number of “registered developers”, all of those aren’t paying developers.

Re:Outdated vs. Complete: In defense of apps that don’t need... by TedDoesntTalk on Monday September 26, 2022 @05:22PM (#32988615)
1,000,000 paying developers is $99 million in revenue -- every year. This is easily an incentive for Apple.
Re:Outdated vs. Complete: In defense of apps that don’t need... by scarface74 on Monday September 26, 2022 @05:25PM (#32988677)
In your grandparent comment, you said it costs everyone but Apple. Apple has manual reviewers. It would be much cheaper if all those apps didn’t have to go through the app review process. You think Apple changes their APIs willy nilly just to collect $99 a year?
Re:Outdated vs. Complete: In defense of apps that don’t need... by alpaca128 on Monday September 26, 2022 @05:04PM (#32988379)
> In my experience, most iOS apps I've tried downloading that were last updated 2-3 years ago simply don't work.

The linked article already answered this:

    For instance, the App Store could factor in:
      - App Store ratings and reviews
      - Active developer membership
      - Historical behavior of the developer (ie. updating other apps)
      - Number of crashes
      - Number of active sessions, especially for the latest devices and platform versions
    These are all metrics that the Apple already automatically tracks
Re:Outdated vs. Complete: In defense of apps that don’t need... by scarface74 on Monday September 26, 2022 @05:23PM (#32988641)
Apple just like most sane platforms have a deprecation policy.

First they deprecate APIs and then remove support entirely. She said herself that she had to make changes to update her code to the latest SDK.

Re:Outdated vs. Complete: In defense of apps that don’t need... by nemothekid on Monday September 26, 2022 @04:36PM (#32988020)
>Apple tells me I could have avoided all this pain if my app was being downloaded above a “minimum download threshold”. The policy is completely silent on what this download number needs to be to avoid getting flagged as outdated–is it hundreds or thousands or hundreds of thousands of downloads a month?

I think this is a fair policy as well. From Apple's POV how can they ensure many apps in the app store still work on the latest phones? If the developer has been updating the app, they can be relatively sure. If the developer hasn't, but the app continues to be downloaded with success they can also be sure the app works. But for an app the developer has (seemingly) abandoned and and nobody downloads? It's most likely broken. You could argue that that Apple should test the app before sending such a message but I think it's probably likely that (1) the majority of apps that are abandoned are broken and (2) the developers don't actually respond. It's easier to tell all the devs to get up to speed and those that actually care will submit the app for review (even if all you have to do is change a version number).

What actually sucks is if you have to rewrite parts of your app because even though the iPhone 22 Pro Max Plus w/ Turbo & Knuckles supports the same SDKs as the iPhone 4, Apple won't let you resubmit your app as is.

Re:Outdated vs. Complete: In defense of apps that don’t need... by yamtaddle on Monday September 26, 2022 @05:47PM (#32988979)
It also makes sense because it might not be a good idea to apply the same criteria everywhere. In an app category with 10,000,000 downloads per month, an app pulling 500 downloads a month might be a drop-worthy also-ran that's mostly just directing a few people away from better options & cluttering results. In a category with 1,000 downloads a month, the app with 500 dl/m is likely the best and most-popular app in that category and dropping it would be tantamount to dropping the whole category.
Re:Outdated vs. Complete: In defense of apps that don’t need... by kkfx on Monday September 26, 2022 @04:46PM (#32988123)
Mh, changing the "ecosystem" so much means the ecosystem is not stable, witch means is a crappy mass of bugs/a working prototype not a commercial product.

Oh, I like of course innovation but if we talk about mobile stuff, so something tied by choice to hw, their real update rates behind security related patches, should be very calm.

Anything must evolve to be alive, but also anything must NOT be stressed to change just some crap to prove that something have changed. That's not evolution.

Beside that, I fail to see any tangible improvement in ALL modern software to a point that I almost quit using mobile crapware of any vendor and kind, for real. I can't avoid it completely, unfortunately, but that's is.

Re:Outdated vs. Complete: In defense of apps that don’t need... by newtritious on Monday September 26, 2022 @05:58PM (#32989106)
Quite a few changes over the past few years have been reducing access to data that can be used for fingerprinting, and requiring apps to ask permission for access to user data.

This is squarely the fault of developers abusing the users trust.

Re:Outdated vs. Complete: In defense of apps that don’t need... by lapcat on Monday September 26, 2022 @06:07PM (#32989211)
> Presumably the latter is required so there are simply enough newer reviews to indicate whether it's broken (lots of 1-star) or not. These seem like pretty reasonable indicators that it's still working.

You think App Store ratings and reviews are accurate?

They're incredibly easy to fake and buy. Scam artists are doing it all the time.

Re:Outdated vs. Complete: In defense of apps that don’t need... by fny on Monday September 26, 2022 @04:46PM (#32988128)
You know what doesn't have this problem? Web apps. I have a site up from 2001 that still functions perfectly.
Re:Outdated vs. Complete: In defense of apps that don’t need... by stonemetal12 on Monday September 26, 2022 @05:13PM (#32988505)
I doubt it. Web browsers of today can't pass the old acid tests because the spec changed.
Re:Outdated vs. Complete: In defense of apps that don’t need... by nerdix on Tuesday September 27, 2022 @01:57PM (#32998799)
Unless you did one of the gazillion things that was permissible in 2001 but is now considered insecure and was patched out of all the major browsers. Not saying that making browsers more secure is a bad thing but it's definitely not true that every 20 year old web app will work flawlessly on a modern web browser in 2022.