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.
I think we should expect basic software security updates and third party app compatibility to continue until the last device’s hardware fails. This idea that a device that millions of people still use is “old and icky and we just don’t wanna support it anymore” is user-hostile and should not be tolerated.
I've still got a working Android Dev Phone 1 here. Updated fully to Android 1.6. Got a massive 256MB of internal storage (basically none usable, mind you, all taken up by the OS) and a zippy 500MHz processor with a single core to share between the OS and apps.
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.
My first observation is that the differences between a Dev Phone 1 and a phone 5 years later, is not the same as the differences between a phone of today and 5 years ago. The industry has matured, changes are much smaller.
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.
I wouldn’t take it too seriously. It’s just a HN opinion that always gets upvoted because it’s the right intersection of anti-Big Tech, pro-environment and not wanting to change your own workflow (https://xkcd.com/1172/).
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.
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.