Also, we're getting into the differences between upgrades (what OP said) and updates (the thing necessary to keep up with security) here. I'm having a really hard time coming up with an OS feature introduced in a full OS upgrade within the last 10 years that I actually want. I would have been perfectly content with only getting security updates since.
And sure, a cryptographic coprocessor will make accessing encrypted data a lot more snappy. But decrypting that data in software instead will work just as well, albeit slower. Which really doesn't matter for 90%+ of phone users.
- Live Photos. I won't consider any device that doesn't have something analogous, now. They're magical. Non-kid-havers may feel otherwise, but making every photo I snap of my kids a "Live Photo" is one of the most important improvements any technology thingy has provided in my entire life. (I think these are under the 10-year line? Very close, if not)
- Transparent OCR and text selection in images. The first time I used an image for a couple full minutes, copying text out of it, before realizing only when I went to share it with someone that it wasn't a PDF but a PNG, was when I knew this had to be a table-stakes your-OS-is-incomplete-without-it feature for me. Sure it could just be a feature of some program I've got installed, but having it in any native image view is way better than having to open some specific program to use it, a thing I could long have done, but never did. Making it first-class, fast, and transparent to the user, makes all the difference. I rely on it all the time now.
A couple off the top of my head.
> I'm having a really hard time coming up with an OS feature introduced in a full OS upgrade within the last 10 years that I actually want.
which both of those easily clear for me. I bet I could come up with a few more if I read over some OS release notes from the last few years—"oh yeah, that! I use it so much I'd kinda forgotten it was a thing" sort of stuff.
And really, that's how it should be. Both of those things are not things the operating system does or should do.
Do you have to open Google Lens to do it? I could already do something like that, just didn't. It's totally different when it Just Works.
Headphones automatically connecting to any of my devices that play audio, even switching between them.
How much additional complexity do we tolerate in order to target hardware with diverging feature sets?
How much should we hold new software back in order to target older hardware that can’t do the same things without chewing through battery?
Frankly I think it’s fucking amazing what Apple has done here, especially when you compare against the Windows ecosystem (at least as of the last time I used it ages ago). The rate of adoption of OS upgrades is such that app developers can actually reasonably target new OS APIs without having to wait a decade for a critical mass of users.
Pushing people to get new devices is pushing people to pay for the updates.
Other way would be an iPhone would have to cost idk somewhere in range of $10000 a piece to support it fully until last device hardware fails.
What you're proposing is a massive waste of effort and talent--attempting to accomplish something bordering on impossible with a benefit of practically nil.
In fact I'd go so far as to say "negative benefit". It's going to encourage solutions targeting the lowest common denominator and hold back improvements for others. And even on the individual level--_hardware_ security has improved leaps and bounds in the last couple decades. Even with all the software updates in the world, nobody should be using that thing anymore.
Though I mean, it might finally encourage me to get rid of it. We'd be in a situation where it would be cheaper for one of the big companies to hire someone to have me and my family have an "accident" than it would be to actually maintain that hardware.
People who’ve actually had to maintain software that supports old hardware understand that it is a business decision. Is the cost of supporting older hardware (harder to maintain software, unable to use newer APIs, need to maintain multiple, rarely used code paths) greater than the benefit (revenue, network effect of keeping users)?
At Meta with billions of users the network effect and revenue means that they’ll never stop supporting Android 5 and up. But for a small app with a couple million users and a few thousand users on the oldest OS, it won’t make sense.
People actively throwing their toys out their pram choose not to understand this trade off. They think this can be solved with regulation like it’s a magic wand that makes economic trade offs disappear.
Second, I'm having trouble putting my finger on an actual limitation. I have a 5 year old camera, on my 5 year old phone, I'm not asking for the drivers to be updated for evermore, just a stable api, so takepicture() works. If you want to add takepicturemacro() then fine.
But you don't even need that. My C compiler can target many different instruction sets.
Third. Modern phone OSs are walled gardens. I don't really have to option of doing all this myself. If the phone companies and OSs aren't going to give me full control of my hardware, they should have a duty to support things for longer.
When not available from original source, repair shops.
[EDIT] FWIW I'm in the so-called "Oregon Trail" mini-generation, so have definitely lived in and remember a world far more low-tech and connected than the current one, was a very late smartphone adopter, and have only reluctantly and recently come to admit that my phone is basically the only really useful computer I own for my personal life, and the "real" computers are mostly just toys for me that, at best, can replace only part of my phone's useful-in-my-ordinary-life functionality, in its absence. A high-quality internet-connected sensor and I/O suite in a pocket-sized package is just too damn useful, I've found.
I could lose my phone tomorrow and it would be a bit of an inconvenience but (by intention) nothing approaching "half my life" is tied to my phone.
I was doing at-home deposits using a flatbed scanner and the bank's website (maybe a java applet?) before the iPhone was released. It wasn't too hard, assuming one had a flatbed scanner.