At this point I consider Apple's commitment to long term support to be a key element of my loyalty to them.
https://www.ifixit.com/News/9472/ios-update-slows-iphone
Our goal is to deliver the best experience for customers, which includes overall performance and prolonging the life of their devices. Lithium-ion batteries become less capable of supplying peak current demands when in cold conditions, have a low battery charge or as they age over time, which can result in the device unexpectedly shutting down to protect its electronic components.
Last year we released a feature for iPhone 6, iPhone 6s and iPhone SE to smooth out the instantaneous peaks only when needed to prevent the device from unexpectedly shutting down during these conditions. We’ve now extended that feature to iPhone 7 with iOS 11.2, and plan to add support for other products in the future.
Alas, Apple also supports some highly anticompetitive business practices (App Store exclusivity/tax, EMS/iMessage) which I do not want to support.
The two or whatever year cycle certainly shouldn't be forced by design.
I'm personally comfortable with it because I'm sold on newer and better features and my current phone is starting to get dog eared by then.
Probably the "right" thing to do would be to have a new "durable" tier for those who value lifespan and do not feel tempted by increases in hardware capabilities.
I also buy mid range. I can imagine being sour if I'm buying the high end over $1000 devices and see the same cycle
There's no reason outside of software updates why a 3-year-old phone can't continue to be used—mine is now 5 years old and works fine, and I only upgraded from my now 7-year-old phone because my brother had one that he thought he'd bricked that I resurrected. Neither phone is fast, but they're perfectly serviceable.
What I don't understand is why these updates aren't a solved problem. Desktop hardware manufacturers sell equipment that continue to be supported for 10+ years by Windows, and they manage to stay in business just fine. Why is it that a 3-year support window is considered normal in the mobile world?
Google sunsetting my Chromebox and Chromebook models has ensured I will never buy hardware from them again.
By not updating Chrome past a certain expiration date they make them worthless doorstops that suddenly can’t even stream from sites like HBO Max because the version number isn’t high enough.
I just checked and all resources I've seen puts the typical lifespan around this. I don't know what the distribution looks like though.
I bet the distribution curves change if you bucket the pricing points.