> > The UI has changed overtime, sometime substantially,
> How so? I see an app in the store. I install it. An icon shows up on my screen. I tap it to open it.
From iOS 6->7 there was a huge UI change where they went from a skeuomorphic design to a much flatter design. Every year since then they tweaked the design of iOS. Sometimes it might be as easy as building your app against the newer SDK to get the updated look but even that isn't always "easy". That requires the newer Xcode version, oh wait, your signing cert is expired so you need to generate a new one of those, oh wait, this API has been deprecated and you need to switch to the new one that you put off doing, and the list goes on. Then there are the new features that you are expected to support, not by Apple but by your users. Widgets are a great example of this for iOS 14. But again, every version of iOS (or Android for that matter) requires minor tweaks. Sometimes you can get away with ignoring those for 1-2 versions but you are just setting yourself up for some painful tech debt down the road.
> > there is now an entirely new language (Swift) you can write your apps in as well as a new design language based on that new language (SwiftUI).
> Did that deprecate compatibility with apps written in the older language?
I wouldn't put a firm date on Obj-C/Java being depreciated but Swift/Kotlin are clearly what Apple and Google respectively are betting the farm on. For iOS specifically, Swift continues to get the attention and it won't be long before we have some new framework that is Swift-only. Already the documentation is pretty heavily bent towards Swift and some frameworks don't make it easy to find the Obj-C docs/examples (and sometimes it just doesn't exist or you have to look at older versions of the SDK). Swift is clearly the future for iOS development and while you can still use Obj-C I'd be very wary of using it on anything new.
> > APIs change version to version of iOS and customers expect things that are now possible on newer iOS versions even if your app was written on an older version
> Like what? The context was a text editor app and todo apps. What has changed here?
I'd say it's a combination of design and what's possible. Design and design trends change over time and if you ignore that then you will lose market share to another app that feels/is better to use. As for what is possible, the phones themselves have gained both hardware and software features that, if not leveraged, will also cause you to lose users. Screen size is a good one but take Dark Mode as a example. Some apps had themes and/or "Dark Mode" before it was introduced in iOS but not supporting it now can, once again, lead to you losing users who don't want to be blinded when they open their notes app (or Todo app). When it comes to "what's possible", Drafts, for example, has a whole concept of "Actions" that you can find in their Drafts Directory or make yourself. Things like "Save this note to Dropbox" or "Open Twitter with this note's content as the tweet" and the list goes on. I wrote a Draft Action for myself that grabs the current timestamp of what I'm watching on Plex and inserts it along with the name of the media into my note, I use this to make a note of scenes I like and might want to save for later or share with friends. Are actions strictly required for a notes app? No, I guess not but it was one of the top reasons I picked Drafts for my notes app (along with many other things).
> > Also, a lot of app developers work directly with their app’s communities to focus on what their users want.
> That's pretty cool. What about basic features without needing a subscription?
Some apps do that. Apollo lets you use the base app for free but for nice/power-user features you have to pay for a subscription. The developer of that app updates it regularly, fixes bugs, and is active on his app's subreddit. Apollo is a Reddit client so not only does he have to deal with normal app development issues but with changes Reddit might make to their platform/api. Similarly, Twitter apps have had a number of challenges to address in the last 5+ years when it comes to integrating with the Twitter API.
> > Have you not dealt with the annoyance of an app that hasn’t been updated for a newer OS? Or one that isn’t even providing “table stakes” to other apps in it’s category?
> Yup. It's almost always an app that's written in some trendy language, using some cloud feature, or some paid-for app. I use lots of free software on my laptop without that problem.
I mean... I have plenty of iOS games that have died because they were never updated. I paid for them once and now they don't run at all on my phone, they are buggy, or don't support my screen size. Mobile development is difficult and needs to be ongoing which leads us to subscriptions seeing how there isn't a better method out there that I'm aware of. I like the idea of fallback subscriptions (like what JetBrains does with their IDEs) but that's just not possible in the App Store or Play Store as they work today. Not to mention that idea falls apart when "services" are involved like with Carrot Weather/Weather Nerd or even something like Overcast that uses backend servers to sync your podcast feed.
> Notably, text editors from 30 years ago still work fantastically. Email clients from 30 years ago still mostly work great (unless using certain popular anti-consumer cloud email providers). Games from 20 years ago are a hit or a miss. A lot of times they work just fine with an emulator.
> And I've already paid for all of those. Once.
> Why should the iPhone be any different?
I guess it comes down to what you want out of a text editor. Maybe calling it a text editor isn't even really fair based on what I expect out of mine but take a look at something like BBEdit. It's been around for practically the entire lifetime of the Mac yet it continues to put out updates. Some of what's in those updates are just compatibility/bug fixes but speed and new features are also a big part of it too. Think of git, BBEdit has git support but 30 years ago that wasn't even a thing. Nowadays it is table stakes for most code editors. BBEdit charges for the new major versions of it's app and to me, if you are releasing on a regular schedule, that's pretty much the same as a subscription. Subscriptions allow a company to plan better and for users to get software at a much cheaper initial price while being able to leave at any point if they aren't happy with the software. I think this is overall a good thing.
If you are happy with 30 year old apps then more power to you but that's not been my experience on the desktop nor mobile. I bought Prompt (an SSH client from Panic) when it first came out and then a few years later bought Prompt 2 (Prompt 1 was written pre-iOS 7 and looked very dated by the time I updated). Now Prompt 2 looks dated and has 1 foot in the grave and the other on a banana peal and I'm looking at apps like Termius as a replacement. I don't love going from 1-time to subscription but both Prompt apps made it very clear that if you pay 1 time then don't expect any updates, you get what you get and that's that. Termius may cost me more in the long run but if it is continuously updated and adds features then I'll be happy. For example, it's supports Mosh now but there might be some new protocol in the future that people switch to.
Bottom line, tech marches on and apps that don't adapt will be left for ones that do. Subscriptions help solve part of that problem by incentivizing developers to keep their apps updated or people will leave for ones that do.