>You decided that if less than 1% of your users use a certain old device, it’s no longer relevant. Which is odd, because to many businesses, 1% of users can make the difference between profit or loss.
That is not the developer that is the business. They are trying to make more money. If 1% of their users don't matter or are going to upgrade why wouldn't you use the latest tech.
>You decided that you wanted to use some framework/feature/API and save developer time. Which is odd. Because consider how much time you spend trying to not harm the environment in your free time: shopping for sustainable products, bringing your reusable cup, recycling. And then think of the minutes you save with new programming stuff compared to the number of iPhones discarded because of that.
I can assure you moving with the times saves more than minutes. Legacy code bases stop working with the world around them and require crazy hacks to keep them running.
Current phones are absolute powerhouses, capable of rendering 3d graphics in real time while doing God knows what more. And what does the vast majority of the public do?
Mesagging, vídeos, social network. That's it. That's really it.
Why in Gods name do we require modern phones for this? If someone could do that almost a decade ago, why should requirements go UP? It's maddening, how in the world are we doing stuff worse rather than better with time? To make developers life easier? Is the entirety of the market subsidizing app creation? It's madness
And take sweet pictures. That alone is worth upgrades for a lot of people. Though we are pretty fast approaching a ceiling on what is actually visible to the human eye in terms of improvements. I bet we will start to see diminishing returns in camera tech in the next few years.
We already do see diminishing returns. The lenses on a phone like the iphone 14 pro show pretty bad lens flair in certain lighting situations. I've compared it side by side between a friends 14 pro and my SE2 and I just don't get these effects with my much simpler lens. I suppose the solution is some sort of a hood or more elements for that big lens on the 14 (the way a larger camera would solve these issues), but its already large enough where the phone no longer sits flat on a table even with a case.
> You decided that you wanted to use some framework/feature/API and save developer time. Which is odd. Because consider how much time you spend trying to not harm the environment in your free time: shopping for sustainable products, bringing your reusable cup, recycling. And then think of the minutes you save with new programming stuff compared to the number of iPhones discarded because of that.
"Minutes"? It doesn't take minutes of time to support old phones, it can take hours, sometimes days or weeks.
And I barely spend minutes recycling; I just pick the right bin.
Funny to see an article whose title I agree with and realize I'm in the exact same situation. Same phone, actually -- the last iPhone with a small size, headphone jack, touchID, and SIM card slot all in one device.
I've just eliminated most apps from my phone, but the web browser is the ultimate killer for this phone. Stuck on iOS 15's version of webkit, no real ad blockers, no real tweaks (as admirable a job as Hyperweb does) I'm being forced to upgrade thanks to the end of iOS updates.
I've decided to try another small phone: the Sony Xperia XZ1 Compact, which is roughly the size of the iPhone Mini with a headphone jack, fingerprint sensor, usb-c, and (most excitingly) a notification LED. Of course software support for this 2017 phone is also long gone, but I'm hoping LineageOS + Android's open software environment (giving me Firefox support for years) will keep things going for a while, at least.
I really wish there was a way to keep software support on smartphones for longer. Now that society basically requires every participant to own a smartphone with a data plan, it's as important as allowing walkability and public transit in cities so folks can live without cars, IMO.
At the very minimum companies should be obliged to unlock the eol devices and provide the firmware of their components.
Many of the components could have a second life. The main camera for example of the the 2016 iPhone is still better that most webcams. One could use these salvaged sensors to build new hardware.
They should but that also won’t solve the problem. No one is going to maintain a custom OS for ancient iPhones to a standard that makes them work with modern apps.
You can actually install Linux on these old phones, the technical restrictions are long since broken. But there is no funding to make something usable using this capability.
> You can actually install Linux on these old phones, the technical restrictions are long since broken. But there is no funding to make something usable using this capability.
I gave postmarketos a shot for 6 months or so, and sadly I have to agree that it's not ready for daily driving, even by experienced users.
This fairphone 4 on the other hand with lineage 20 looks like it will keep me going for a few more years.
There is an under appreciated world of difference between “booted Linux” and “I can use this as my only phone”. The community can manage the first one, they typically can’t do the second.
Postmarket OS is a cool project but I wouldn’t count on it ever being more than a neat way to tinker with obsolete devices.
To be clear, it could place calls and run a web browser on mobile data. The device was very much a phone.
It falls down (of course) at the larger list of secondary use cases many take for granted. For me it was mobile navigation, though it would also still hard crash noticeably often. I do expect the crashes at least to be fixed next time I look.
We already have LineageOS for phones, and it seems to work fairly well. Mfgrs providing specs/driver code/FW would make that effort much easier, and probably attract more volunteers too.
You don't have to maintain a custom OS. You just have to be allowed to run your own code, then you can just write a simple webcam app and never need to fiddle with it ever again. You'd probably be surprised at how many developers there are today that do in fact maintain custom software for older rooted iphones, and given that I'm sure a lot more devs would release and maintain even more software if every old iphone under the sun was fully open. Not just the few still on the lucky iOS versions that have a jailbreak released but isn't yet patched.
I can personally vouch for the XZ1 Compact as a great device! Mine still worked (almost) flawlessly in 2022.
... Until US phone providers started shutting down 3G. As I understand it, in order for the phone to work correctly with towers, the 3G signal needed to be verified as sort of an emergency "fallback" in case 4G/LTE wasn't working. As soon as 3G towers were replaced with 5G, the phone started having severe connectivity issues, even with only 4G/LTE enabled. I don't know if there is a way to get around this, as I also believe the hardware modem is a factor.
I'm not thrilled at this aspect of forced obsolescence. Between (lack of) firmware support, locked root capability, frequency band issues, and non-replaceable batteries, devices are not "supposed" to be used for more than 2 years.
Fortunately, it still works on T-Mobile for VOLTE (Voice Over LTE). Apparently AT&T and Verizon never whitelisted the XZ1 models for the feature, despite the fact that they work just fine. Thankfully I use Google Fi so I'm already on T-Mobile.
A friend of mine has the XZ1 Compact, and I would not recommend it. It was a fantastic phone (with a fantastic camera) when it was released, but Sony dropped support for running apps off the SD card, and the internal storage only has 32GB. (Sony kept support moving apps to the SD card longer than Google/AOSP did, but finally gave up.)
Once the internal storage is nearly filled up, the phone slows to a crawl, randomly reboots (and runs a much slower "fixup" boot process), and some apps stop working, or only partially work. System and app updates stop happening.
It's surprisingly difficult to keep storage usage down, as many apps these days don't know or care about the difference between internal and external storage, and won't let you write app data to the SD card. Recently I helped my friend reset to factory to get a clean slate, then installing only the minimum number of apps she needed, attempting to move whatever data she could to the SD card, but the internal storage filled up again after only a few days.
I'm not sure if LineageOS brings back the ability to move apps to the SD card. I would doubt it, given what kind of massive surgery to the OS that would require. If it doesn't, you're in for a lot of trouble.
I believe LineageOS still supports "Adoptable Storage" that combines your SD card with internal storage. No hassle to move apps around, but you would want a fairly fast SD card since you can't choose which apps to run off SD and which to run off internal storage
I used adoptable storage on LineageOS, and you do in fact have to choose whether apps live on the external or internal storage. Worse than that, in fact, you don't get a choice at installation time. All apps are installed to external storage by default, and the vast majority of apps that I've tried simply don't work until you go into app settings and move it to internal storage. In most cases they crash immediately at startup, but there are occasionally other failure modes like drawing the skeleton of the UI but none of the interactive parts.
Adoptable storage also has the neat failure mode that if you accidentally pop out the SD card while the phone is running, you're in for a real treat.
Also, anytime anyone asks about adoptable storage in the LOS subreddit, the devs always respond that the feature is broken, will not be fixed, and they don't recommend using it.
I don't install a huge number of apps, I plan on mostly just using Fennec + music on an SD card + a couple of messaging apps. So hopefully I won't fill up the 32GB of internal storage. My current SE only has 64GB of storage for all of that combined, and apps only take up one or to GBs tops. I'm sure the situation will be a bit different on Android, but hopefully it won't be too bad.
Sadly it sounds like Adoptable Storage isn't quite functional enough to solve the problem, but in a pinch, it might work. I'll have to investigate if it's compatible with Telegram, which is probably the most storage-hungry app I use thanks to years of media and messages.
Appreciate the warning and transparency, hopefully my situation is more compatible with the XZ1C than yours. Keep your eyes peeled for a "trying LineageOS on the XZ1C in 2023" post on HN in the next couple of weeks, if I'm successful. Otherwise I just purchased a slightly expensive MP3 player.
I was a fan of my xz1 compact despite the fact that the square corners wore holes in my jean pockets and that it spontaneously crashed one day never to boot again.
Yes, this is one of the big reasons why I've decided not to replace my smartphone when it dies. Phones are getting more expensive, omitting more of the features I value, getting more intrusive, and the software more intolerable, but nothing is getting better in terms of real benefit to me. Just the opposite.
I'm getting off this treadmill. Dumb phone, here I come!
Which dumb phones have you considered using? I'm thinking of using an android phone without apps or a browser so I could still use it for photos, messaging(signal and matrix), and music.
I'm going dumber than that. I have a couple of $20 dumbphones sitting around that I've used as burners. I couldn't find any that didn't have apps at all, but these have minimal functionality in that department. I can't install any that didn't come with the phone, and those that are there are very basic.
If I can find one that lets me tether, that would be ideal, but not a showstopper requirement.
My intention is to separate computing from the phone, so I'll also carry a real pocket computer for my other needs. The key is that it will be a real computer that I have complete control over, and that doesn't have cell connectivity.
This: "My intention is to separate computing from the phone, so I'll also carry a real pocket computer for my other needs."
I'm increasingly of the opinion that wedding comms, data storage, and compute within a single envelope, and specifically one controlled by third parties (known and otherwise) with intents adversarial to yourself ... was a cardinal error.
A largely-featureless dumbphone (Light Phone ... seems about right), either capable itself of tethering or with an additional data-only tether (making burnering all the more viable), seems best.
An Actual Compute Device of some description --- laptop, small-form-factor computer, very possibly a tablet or e-ink device (though most of these are effectively identical with smartphones, and share all their disadvantages, including short useful life) --- for Actual Compute Tasks, would round that out.
I'm also increasingly of the view that using phones for voice comms is also a nonstarter given spam and privacy violations. Good alternatives are not immediately obvious, though F/OSS voice chat / meeting tools (e.g., Jitsi) seem promising.
I rarely use a smartphone, but I do use a Samsung Galaxy S7 as my phone.. for, phone calls and txts, as an mp3 player, as a GPS when driving and hiking, to read books on when in a waiting room or something. That's about it.
I smashed up my last one and had to buy a new phone. My requirements were...
* Not too big (S7 is bigger than I want already)
* audio jack
* micro sd card slot
* Some waterproofness
* nice screen (eg. oled) that I can see in direct sunlight
I ended up buying another new-old S7 as I couldn't find any new-new smartphones that fit my requirements.
This article strikes close to home as I'm still using my 16GB iPhone 6. A lot of apps have stopped supporting iOS 12, forcing me to to reluctantly replacing them with webpage shortcuts where possible (even then it is not a particulary enjoyable experience). Seeing as how most apps follow a minimalist design language, it bothers me that I need an increasingly powerful phone for apps that are simpler than before (at least visually).
Dude I have a Huawei (amazing otherwise) and I cant even install most american apps, while they'd work perfectly...
But I have to admit the sheer force of the Google detox made me stop a lot of their products, use throwaway gmail accounts everywhere, no cross device sync and all that stuff and I feel... free and light. Ironic isn't it ?
was there a large difference between the iPhone 6 and the 6s Plus? i have a 6s Plus as my only iPhone, and it is running 15.7.2 (with an update scheduled for tonight i just saw). why is your 6 stuck on iOS 12?
It shouldn't be surprising that quality of life decreases as hardware ages.
Hardware gets faster, software gets slower, speed for the users stays about the same. If you're not making your hardware faster (upgrading your phone every few years), then the software is getting slower resulting in a worse experience.
This isn't at all limited to phones. It applies to any hardware/software.
Apple provided 5 years of full years of updates. 2016 through 2021.
I understand the writer’s issue. It seems clear some amount of support should be mandated. After all no one should be able to drop support after 1 year.
But what is the correct length to mandate? Until the radio standard is no longer usable (so when 4G gets turned off)? Just a specific number (5, 7, 10, whatever)?
I can’t think of a single consumer device that has mandated support for any length of time past the warranty, so I don’t think there is precedent. In fact the only mandatory support I can even think of is parts for cars.
> Switching back and forth between apps resets their state. That’s particularly annoying trying to decide if I should change trains at the next station and switch between the train ticket app and Google Maps.
This really drives me nuts. It seems this is due to iPhones having very little ram (even the newest 14 Pro Max has 6 GB whereas my 11 Pro Max has 4 GB). But Android phones regularly have double the ram. iPhones could get away with less ram since the CPU is very fast and the OS and apps seem to be faster too, but considering that ram is very cheap, I really wish they would just add more ram. Then again this is also true of the Macbooks which starts at 8 GB, the same as my 2018 Thinkpad.
This problem was one of the things that drove me to get a new iPad Pro recently. I assume it is a RAM issue.
And the fact that Apple doesn't sell first party cases for devices as old as my last iPad Pro, and my case was falling apart. Oh, and my first gen Apple Pencil wasn't charging and the charging UX for it sucks.
On Pixel devices the only apps that I've noticed this happening on are banking/finance related; I assume that's for security reasons and part of the app design.
How old is your Pixel, though? If you try to use a phone that's old enough, you'll experience this every now and then, especially when switching between newer, RAM-hungry apps.
Go for a non-flagship, less-expensive phone with less RAM, and I expect it happens even more often.
(To be fair, my experience has been similar: on my Pixel 4 I don't have issues like this. But I've seen it happen on older phones in the past.)
I used my Pixel 2 well into the days of Pixel 5 (then I got a 4 for cheap.) I'm on a 7 now, but my comments apply to the older Pixels that I've had. I usually keep my phones for up to 3-4 years and get previous gen unless I can get a great deal.
I had a Pixel 3 and I absolutely loved it. I only traded it in for a Pixel 7 last year because Google's trade in values were so aggressive and it was approaching a year beyond EOL. Frankly, still like the Pixel 3 far more than the Pixel 7. Pixel 3 remains my all time favorite phone. It was basically perfect except for battery life that didn't quite last all day.
I had a Pixel 3 and loved it. Not sure it's fair to say that it's a terrible device if you never owned it.
I only updated to a Pixel 5 last year because the battery was deteriorating after several years and I was given a Pixel 5 for free.
I have never experienced any app resets with the 3 or 5 (aside from banking, which is by design), and I switch between maps, browsers, camera etc. very often.
I had used an Android phone with 4GB of ram before Pixel 3 was revealed. I felt it's not enough RAM even at the time. Pixel has less bloatware so RAM usage would be a bit less, but still I didn't want to spend for brand new less RAM device. I heard complainant about background music app is killed.
I have a Moto G7 Play, a budget phone released in early 2019 with 3GB of RAM.
This happens pretty much any combination of apps, most of the time.
My favorite is when I am trying to authenticate to a stupid website that stupidly uses SMS-based 2FA.
I will log into the website and it will show me the 2FA input page. I then switch to my SMS app to read/copy the authentication code. When I switch back to the web browser, the state is gone. It tries to reload the same URL but of course that's invalid and the operation fails.
Yeah, webview doesn't seem to have support for saving the JS VM and DOM to disk. Maybe a custom implementation could do this, but it may also quite slow.
If I were you, I'd try a few different browser apps which don't use WebView until you find one that has proper save/restore of the open web pages to disk.
Moto g8 for a couple of years, now g30. Just works. Can't say I have a lot of apps, though I definitely doesn't have an app for every burger joint down the street.
iOS is much more aggressive about suspending and killing backgrounded apps than Android. Apps are expected to recover from this on their own in order to provide the illusion of seamless runtime, but the difficulty of doing so scales I think superlinearly with the complexity of a given app's state, and between that and most apps these days being more like rich web browsers in that they're obligate clients for a source-of-truth backend, most devs don't seem to bother.
The app switching model for iOS apps has been “expect to be killed at any time” from day 1. The APIs and such are built into almost everything and everywhere it is relevant, because that is the iOS model. Terminating an app that isn’t being used is always better for battery life and system performance. Doing that well has been why iDevices have always had less ram than equivalent generation android devices.
The problem is the increasing number of giant custom “cross platform” apps, that require vastly more ram, and have never put any effort into actually being good software. Given all the BS reasons apps get rejected from the App Store the fact that not handling sudden termination isn’t something that gets apps rejected is obnoxious.
Garbage collected applications require 2x-4x more memory to run efficiently. Android apps use GC. IOS apps do not use GC. Therefore apple can ship devices with less memory to get the same effective functionality. Less memory means smaller batteries or longer battery life. It’s a good trade off that gives apple more flexibility in terms of hardware platforms.
I’ll often quickly go back and forth to an app I’m crafting a reply in to make sure that iOS doesn’t evict it from memory and cause me to lose my progress while I look things up in another app. Bloody annoying.
The problem the author of TFA has is that they have been adding more RAM. And apps then make use of that increased amount of RAM. So older devices with less RAM now suffer. It’s about the derivative, not the absolute amount.
Regarding the state resetting, I believe what’s more relevant is the ratio between total RAM and the maximum RAM a single app is allowed to allocate. Or maybe iOS should do more swapping? Not sure how it works.
I think swap was just launched for the first time on Apple mobile devices with iPadOS 16. Pretty sure still none of the phones swap; you’re app is either in RAM or shut down.
It wouldn't even take a kilobyte to remember the current directions in google maps. The fact that it forgets them every time you switch apps is unbelievable. I thought they were using it to force people to log in, but does it happen if you're logged in too?
I have a 2018 iPhone XS and I suffer from the same problem. A few minutes (or less) and apps/browser tabs start getting killed, and most apps handle this by simply nuking all state. Multitasking is completely impossible. It’s infuriating.
I suspect this helps drive forward upgrade cycles. The default options for Mac (which the majority of non-technical users will buy) are also pretty low and the bare minimum anyone should be working with. It's probably fine for browsing Facebook, but in a few years' time it will not be enough for more- pushing non-technical users into a cycle of upgrading their laptops every 2-3 years when it should be more like every 5-6.
> iPhones could get away with less ram since the CPU is very fast and the OS and apps seem to be faster too
Too little RAM is taxing storage since the OS is swapping out/in pages from and to memory, and to a way lesser extent to the CPU. The second part of your sentence does not make much sense either, since perceived responsiveness of the user and actual OS performance are very distinct and separate metrics.
4GB of RAM should be easily enough to hold dozens of apps open for instant switching. I use GNU/Linux on a phone with 3GB RAM and it doesn't need app suspension at all - well, except for the web browser (unless you use things like NoScript of course).
Not a fan of regulation as a solution for most things but it would be kinda nifty if device makers were required to provide an optional jailbreak update for devices once they stop supporting them.
I decided a long time ago to buy the cheapest unlocked android phone I could get at the time. 6 phones for 2 people over 10 years. I paid 140 to 200 (100-150 US$) pretax for each. This has been mostly Motorola E or G phones. This has kept us current with apps resource needs. The total cost of 6 phone is less than the current cost of an iPhone 14. I have kept all of them and reuse them as night table Alarm clocks or second screens to settle question like "How old is that actor" while watching something.
> Bear in mind that you'll have to root your phone, mess with and compile your phone's kernel and docker suite. So, be prepared to get your hands dirty.
I convinced my entire family to move from Verizon to AT&T because their open device policy meant we could buy the phones we wanted online and save money. Two years later AT&T went to a whitelist model that meant half our phones would no longer be compatible with the network. I had to give up a phone I adored, my OnePlus 6. Probably the last phone OnePlus ever released that still reflected the desires of their customers, with a headphone jack, flat screen, alert slider, and rear-mounted fingerprint reader that was a godsend when everybody else was struggling to use face unlock without taking their masks off.
FTA: "[my old phone is] like that proverbial old pair of jeans"
Your jeans don't have 0 day exploits whereby someone halfway around the world can steal your banking credentials, private photos/emails, cryptocurrency, etc. Forced obsolescence exists, but I wouldn't put it at fault here.
If you want to blame anyone, blame Apple for locking down their hardware. I still use my old Nexus 6 (released 2014) with an up to date version of LineageOS from time to time. That's impossible with iDevices without a lot of hax or workarounds. 5-6 years is a generous amount of time for a vendor to support a software/hardware stack on a consumer device. It's more time than I've gotten from Google officially.
> Your jeans don't have 0 day exploits whereby someone halfway around the world can steal your banking credentials
...does anyone know if this is actually happening on a significant scale? There are said to be tons of unpatched Android devices in the wild, but when I hear about accounts getting hacked, it mostly seems to be from leaked website databases and/or reused credentials.
If this wasn't happening to people during the jailbreak.me era where people were installing cydia right in the apple retail store on the demo units, then you can be sure its fud that's not rooted in any hard evidence.
>[...] I still use my old Nexus 6 (released 2014) with an up to date version of LineageOS from time to time.
If you're paranoid about 0 days, you really shouldn't feel safe with an "an up to date version of LineageOS". Even though they might technically be receiving updates, the kernel and proprietary blobs certainly are not.
> Your jeans don't have 0 day exploits whereby someone halfway around the world can steal your banking credentials, private photos/emails, cryptocurrency, etc.
I dunno a lot of my jeans end up with a hole right in the middle of the crotch and it actually kinda feels similar
Theres been plenty of times where apple has not patched an exploit long after it was popular, to the point where people were making viral videos jailbreaking the iphones in the apple retail stores.
I have to really disagree with this. This isn't something like a microwave we're talking about where the tech hasn't changed in decades. This is literally something on the bleeding edge of chips and technology, where the ability to compute really does go up a ton every 5 years.
Add on to that the fact that most people use it many hours a day, this equal something like a thousand hours a year. So even a top of the line phone that you refresh every 3 years is something you pay cents an hour to use -- quite low.
If you're from a developing country or the low end of a developed country, I can see how not upgrading your phone every 3 years can be important. If you have moderate resources from a developed country, not being willing to upgrade your phone is frankly a utility mistake for most people.
If phone makers have to support old devices, there is a lot of developer time, testing, etc that is needed.
In the end, I think the flaw of the article is the same flaw as below: some people get upset that if a small streak damages something like 10 pixels on a 4K screen, it's cheaper to replace the entire thing than to fix it. Replacing the entire thing seems like "waste". Not so: repairing the screen is actually waste, because it requires lots of skilled human time. Replacing the screen is mostly cheap automatic assembly. Likewise, it "feels bad" to throw away a working phone, but actually the societal cost of supporting very very old phones would be a lot more than having an ecosystem where most people want to upgrade every couple of years -- in a arena that is actually changing fast.
You are considering only the economy, but I think people keeping older phones are also considering the environment (carbon dioxide, other pollution, mining etc).
That's the main reason I'm using a 5 year old phone.
Apple has an amazing recycling program (I know because I’ve seen Daisy in action).
If you care about all that, bringing your iPhone to Apple at the end of its lifetime is the best decision you can make.
I think phones are now perhaps approaching a plateau of "good enough" for anything resembling the current applications, but 2GB of RAM definitely ain't there. That doesn't cut it for a modern multitasking OS with loads of high-res graphics to go along with a high-res screen.
I've had an iPhone XS since it was released, it's only just barely starting to show its age, mostly with shorter battery life. Five years is a good long run for constantly-improving tech. Life is short, you simply won't have to worry about that many upgrades.
Sometimes I think the screen race is shooting the device in the foot. Anything after the retina display in the iphone was just diminishing returns. People aren't going to notice refresh rate or more pixels beyond what they can already resolve at that distance scrolling instagram, but it sure makes for great ad copy. I'm a bit of a radical where I think retina display is overkill on a laptop even, since I'm sitting here on my 1280x800 pixel laptop and I can't see any pixels from where the laptop actually sits in practice.
What did people use iphones for 10 years ago? Mobile web, email, social media, texting, watching videos, that sort of thing. What do people use iphones for today? The exact same stuff. Why are we buying more powerful crap by the year to do the exact same functionality? Its like an arms race over nothing.
Apple has been iTempting me but I've resisted simply because on the pixels I can run grapheneOS well beyond what google commits to in terms of updates.
I also like kiwi browser and it's support for chrome extensions.
Regardless, I miss the days when we had more mobile OS diversity. IOS, android, windows phone, BBos, and palms WebOS.
I thought GrapheneOS specifically drops support for devices once Google does - they even mention on their FAQ* that the Pixel 4/XL is only still getting releases as a stopgap for users until they can go buy a newer device.
Apple is providing 6 years of support for old phones. As the author notes that's more than in the past, where they offered 4 years of support. My experience has been that the first generations had a lot of difference year to year and so when I moved from the 3GS to the 5 it was a massive difference and it would probably have been hard for Apple to support phones for as long as they do today with those handsets. That doesn't mean it's easy to support those old models and if Apple did 8 years of support instead of 6 we would still get these articles (but with ... iPhone 6s?).
At the end of the day things have a design life and Apple does offer pretty good support – and if we do indeed see newer handsets receiving updates for longer the authors argument ends up kind of being negated. If people were willing to pay for software updates after a certain number of years it might be viable but ultimately the author kinds of expect everyone else to support his phone without offering much in how he'll pay for said support with something that can tangibly be used to pay rent. And so it's probably easier the author just buys a new phone and remembers to turn the old one in for recycling.
It sounds like the author wants Apple to let you unlock those device's bootloaders so that they can have an elegant depreciation/recycling lifecycle instead of becoming e-waste that can only be salvaged by a proprietary Apple-designed robot.
Seeing as Apple sometimes release patch updates to previous iOS versions (as they've done with iOS 15 just this year) suggests they take security somewhat seriously. Jailbreaking them would have some interesting security implications, especially as it relates to distributing apps via the App Store. The easiest way out of this remains to just buy a new phone and recycle the old one.
They certainly don't have to stop updating people on OFW, I just want the option to unlock the bootloader for my iPhone. Bonus points if I can do it without an iCloud account, but I guess beggars can't be choosers.
It's less about jailbreaking and more about ensuring your hardware stays usable even if Apple doesn't think it should be.
Jailbreaking could be allowed with the generalized "boot screen is red now" strategy. The biggest problem is that now you might have a bunch of SE's floating around in the secondary market, _all_ jailbroken just to be supported. But at least that means that in-support devices could still be experimented with, but with an obvious "this has been tampered" with strategy.
In 2009 I found an old Samsung flip phone I last used in 2003. Out of curiosity, I turned it on - it immediately crashed as soon as it tried to talk to a tower. We've definitely come a long way.
I felt the same way, right up until I started working on mobile apps myself.
One of the first things I figured out after making that jump was that the constraints involved in making an app run smoothly and be just as comfortable to use on something like a 1st gen SE - which is what I used myself, from 2016 through most of 2021 - can't be supported alongside the capabilities and display real estate provided by current models, without an indefinite expenditure of costly developer effort that just isn't economical in supporting a use case that's relevant to something like sixty users out of every thousand.
We've been through this before, with the PC revolution. Things settled down on that front, GPUs excepted, right around the time smartphones became a thing. The complaints are more or less exactly the same, and so are the reasons they receive little of consequence by way of response. None of which is to say you should upgrade your phone if you don't really want to, but - speaking as one who has done so himself, prior to having discovered firsthand why things are the way they are - yelling at the entire industry to change how it functions at a fundamental level has much more of King Canute about it than of any really worthwhile expenditure of effort.
> without an indefinite expenditure of costly developer effort that just isn't economical in supporting a use case...
How much would it cost? $1B US? Okay. Apple reported a net income of $99.9 Billion dollars from $350B of revenue. That seems like a good use of $1B to keep electronics waste down and improve resale value. That, number btw is 1000 developers at a cost of $1M apiece per year.
Honestly I don't think it would cost a $1B. I think the true cost is in loss of revenue from forced upgrades -- which might be $100B of Apple's revenue.
My circa 2016 Dell XPS 15 still runs pretty good with Windows 10. Not sure why MS forces me to upgrade my hardware to go to Windows 11.
If they actually care about the experience they should be relevant.
Think of an analogue to how nvidia sends development help to companies that are making games. Your "confusion of ideas" comment elsewhere is pointed the wrong way.
You are demanding of App Store reviewers, and thus implicitly of app developers who have to satisfy review to publish, an equal level of concern with, and effort to support, the experience of the half a percent or so of users still on 4.7"-class devices, as with that of the 99.5% or so on everything else. This would require significant extra work in just about every app, 2x as much in some, probably averaging around 1.5x as much in most. That is not a reasonable expectation.
I've been in that half a percent myself, and I realize those with an attachment to remaining in that cohort will not find such an argument convincing. But I'm also, in retrospect, not really sorry that the last of the five 1st gen SEs I'd been carefully maintaining - four of which I'd bought used, three of which I'd replaced screens and batteries on - landed on its corner when I dropped it a year and a half ago, wrecking the sleep/wake button integral to the mainboard and well beyond any soldering skill I can acquire, and thus effectively requiring a complete replacement that I decided was finally no longer worth it. The 12 mini turned out not to be meaningfully larger or less wieldy than the 1st gen SE had been, and it's a lot more pleasant to use. There's value in not being actively, constantly frustrated by the experience of using my phone - especially since I do that every day for work now, too.
We aren't going to agree on this, I think, and that's fine with me. But I am going to say that I no longer have the sympathy for your perspective that I would have a couple of years ago. It's a perspective I shared for a long time, and one I put more effort into than most. I'm glad I did, not least because learning to fix phones has been useful. But I'm also glad for what I've learned since then, even though it's why I don't share that perspective any more.
> This would require significant extra work in just about every app, 2x as much in some, probably averaging around 1.5x as much in most. That is not a reasonable expectation.
This is not a reasonable estimate of the work needed.
Also I was thinking more of "don't waste tons of memory, making it unable to run on devices with less", which could just be a mandatory rule for everyone's benefit.
> This is not a reasonable estimate of the work needed.
One of the things that did the most to change my mind on this subject was actually estimating that work - specifically, estimating what it'd take in a live and fairly complex app, which is where most teams would have to start.
(You haven't lived till you've tried to prototype a complicated custom time series chart control with several interactions, that can transparently render itself across a wide range of sizes and be legible and usable in all of them. You really haven't lived till you've tried to test it!)
Another was seeing for myself in Amplitude both the absolute fraction and the trend for how few users would even be in a position to notice the result.
> Also I was thinking more of "don't waste tons of memory, making it unable to run on devices with less", which could just be a mandatory rule for everyone's benefit.
I agree this is worth more than it's valued. Would such a singleminded focus be to everyone's benefit, though? Most apps might not spend much effort on clean UI restore after suspend, but actual data loss is very rare in my experience, and teams have only the capacity that they do. That makes it a tradeoff between features and other bugfixes, and this; the next request I see in Canny for showing the launch screen less often on app switch will be the first, an absence which likewise leads me to suspect that the wants of users in general aren't accurately captured in the perspective of those who are heavily invested on this point.
But where does the line between "wasting memory and resources" and "wanting to make a game that utilises the full power of a modern phone" go?
It's REALLY hard to make a game that works equally well on the latest and greatest and also that one weird Android phone someone in the Philippines bought in an outdoor market.
If you're truly using that power, and can't just turn down the graphics, that's fine. The complaint is when boring apps like the train ticket handler start running out of memory at random. A huge majority of non-game apps could fit into a small amount of resources if the devs tried.
On Android, slow old devices are used by poor people, so it is particularly harsh to not support them if your app is critical for them. I class it as an accessibility issue. Because our App was maintained over many many years, we just needed to be careful to continue to support phones we historically supported, and avoid using new features that would break obsolete devices.
That said, we did make decisions at times to drop the few users on older phones, for a variety of different reasons.
We knew how many obsolete phones were used. We knew how many in each of our client companies, so sometimes we held back server updates for specific companies that used old browsers (although we were SaaS, companies were upgraded to new versions independently). To cover our arses, we informed users for a few years that their device was obsolete, and that the App would stop working at some point in the future.
The reason for the breaking change was supposedly for TPM 2.0, to have a fully-attested chain from UEFI load to user login. This was lessened to a lower TPM version later, thus rendering the entire requirement moot.
The assumption appears to be that all development of iOS apps is ultimately funded by Apple, or that Apple could somehow make all apps on its platform magically work equally well on all devices. But I admit I'm just guessing here: "I am not able rightly to apprehend the kind of confusion of ideas that could provoke such [an analysis]."
Apple is requiring that recyclers shred perfectly fine M! laptops because they lock out the logic chips. E-Waste is cheap if it means you keep supply out of the secondary markets.
recyclers are literally having to shred M1 laptops because apple locks out the logic chips. They _deliberately_ will not do that until the government makes them. My next iphone will be usb c, I can wait until then, so they better hurry if they want sales.
One question I wish app developers would ask themselves is "does my app actually need to be an app"?
I'd guess something like 90% of apps could actually be websites instead, in which case you automatically avoid the framework and multi-platform bullshit inherent to app-making.
Other than games, or special hardware access, 99% of the apps can be done as mobile apps.
Although I would rather do native, and Web is messy, not having to deal with Android whims, Android Studio stable releases that aren't, Android Java vs Kotlin, NDK experience that makes me miss Symbian C++,.... I am surely happier having gone back to Web.
Sure, 90% of apps could be websites, but unfortunately 90% of websites are horrible Frankensteinish user experiences and 99% of websites require users to be online.
On the other hand, I use some software on my modern sized iphone that's been scarcely updated since 2016 if at all. It was built for the SE form factor, but ios ui libraries can scale ios ui elements to the display size just fine.
Developers just need to write performant code again like they don't have a modern iphone to work with. Performant code has benefits even when you have the latest iphone pro/max/whatever in your pocket, since it means the app will hardly be consuming battery life. Too many apps these days kill my battery life doing hardly anything at all, rendering some text and banner ads perhaps.
The sad part of this article is that the author seems to be bound with iOS, not even considering Android. They might be trapped in the Apple ecosystem :(
That said, I know this is the same thing with Google Suite...
I mean, it's worse on Android. I have a Pixel 4, and it stopped even receiving security updates this past October, at the ripe old age of three years old.
Fortunately I can still run all the apps I want to run, everything works, and performance is good, but I don't imagine that will still be the case if I try to keep using it another three years. And that's ignoring the fact that no new security issues will get patched, and I won't get any new OS-level features.
I've accepted this, and will likely reluctantly buy a Pixel 7a when it's released, even if that phone is even larger and more unwieldy than my Pixel 4, and has the ridiculously-ugly camera bar on the back.
> But most of the time, web developers can apply new features as enhancements.
As an iOS developer, I wish we could do the same in web development and save the author the time in posting this blog. But in reality, this is just hard to do. iOS is very poor in backwards compatibility compared to Android. In iOS we only support 3 major version down, compared to Android we still support up to Lollipop up until last year.
Adoption of newer OS versions on iOS occurs much quicker than Android. There is less benefit from supporting more than 2 or 3 ios versions back. Also, it is arguable whether an app customer that would rather have a flip phone is valuable enough to worry about retaining.
I assume that means there are not many iOS users in your area. Luckily Android is easier to provide backward compatibility with Androidx, and there are more users with older devices (maybe 2-3 yrs old) even in the North American market make it more worth the effort.
I get the author's sentiment. But speaking as an Android developer, we are forced to use newer APIs due to the following:
1. Deprecation - Google is notorious for deprecating APIs (it's a meme among Android devs) and we as developers are forced to move to using newer APIs
2. Google Play policies - From Google: "New apps must target Android 12 (API level 31) or higher; except for Wear OS apps, which must target Android 11 (API level 30) or higher."
3. Some APIs such as Jetpack Compose require a certain minimum SDK version (API 21). Therefore, if you want to use new APIs, you are forced to stop supporting old devices.
We wish we could continue supporting old devices but it's mostly out of app developers' hands.
I just wanted to correct a little bit of misunderstanding here about how target SDK works (and min SDK).
Having a target SDK e.g. at Android 12 doesn't prevent you from supporting versions of Android before 12, it prevents you from fully supporting Android devices newer* than Android 12.
The target SDK defines what is the minimum feature set that you have access to (and sometimes what you're required to implement). If you target API level 31, you can add all of the latest features (e.g. improvements around network usage to save energy that wasn't present in older SDK versions).
You, as a developer, decide on your "min SDK", which is the lowest level of Android that you're willing to accept. That is determined by how much you're willing to work around missing or buggy features in old SDK versions, something with is really helped out by using AndroidX (née Support Library), which is a shim you install that provides compatible implementations of newer features when your APK is installed on older phones (similar to polyfill on web).
* During the beta of a new target SDK, old phones won't run an app targeting it, this is to prevent people from building and shipping apps against a beta SDK.
Between "iOS" and "System Data" my original 16GB SE doesn't have enough space to do an OS update even if I uninstall every last app on it. My 3rd gen Apple Watch is also full of "other" and will need to be factory reset and re-paired again to keep going.
Apple know they're ruining old devices by not cleaning up temp files, they just don't care.
I was forced to replace my iPhone 7 because it doesn't support iOS 16. I ended getting a new iPhone SE (3rd generation), which is practically identical in form to the iPhone 7 and so much cheaper than other iPhone models. Not sure I gained much as far as hardware is concerned, but at least I minimized the upgrade fee. It seems like a big waste, because my old iPhone still works perfectly fine.
204 comments
[ 3.4 ms ] story [ 219 ms ] threadThat is not the developer that is the business. They are trying to make more money. If 1% of their users don't matter or are going to upgrade why wouldn't you use the latest tech.
>You decided that you wanted to use some framework/feature/API and save developer time. Which is odd. Because consider how much time you spend trying to not harm the environment in your free time: shopping for sustainable products, bringing your reusable cup, recycling. And then think of the minutes you save with new programming stuff compared to the number of iPhones discarded because of that.
I can assure you moving with the times saves more than minutes. Legacy code bases stop working with the world around them and require crazy hacks to keep them running.
Current phones are absolute powerhouses, capable of rendering 3d graphics in real time while doing God knows what more. And what does the vast majority of the public do?
Mesagging, vídeos, social network. That's it. That's really it.
Why in Gods name do we require modern phones for this? If someone could do that almost a decade ago, why should requirements go UP? It's maddening, how in the world are we doing stuff worse rather than better with time? To make developers life easier? Is the entirety of the market subsidizing app creation? It's madness
Some threads showing the double imaged effect which is especially pronounced with neon signs: https://old.reddit.com/r/iPhoneography/comments/yhsy8s/iphon...
https://old.reddit.com/r/applehelp/comments/zu7jmj/iphone_14...
Apparently this has been going on since at least the iphone 12 and 13:
https://old.reddit.com/r/iphone/comments/q06u1y/insane_lens_...
"Minutes"? It doesn't take minutes of time to support old phones, it can take hours, sometimes days or weeks.
And I barely spend minutes recycling; I just pick the right bin.
I've just eliminated most apps from my phone, but the web browser is the ultimate killer for this phone. Stuck on iOS 15's version of webkit, no real ad blockers, no real tweaks (as admirable a job as Hyperweb does) I'm being forced to upgrade thanks to the end of iOS updates.
I've decided to try another small phone: the Sony Xperia XZ1 Compact, which is roughly the size of the iPhone Mini with a headphone jack, fingerprint sensor, usb-c, and (most excitingly) a notification LED. Of course software support for this 2017 phone is also long gone, but I'm hoping LineageOS + Android's open software environment (giving me Firefox support for years) will keep things going for a while, at least.
I really wish there was a way to keep software support on smartphones for longer. Now that society basically requires every participant to own a smartphone with a data plan, it's as important as allowing walkability and public transit in cities so folks can live without cars, IMO.
I force upgraded to iPhone 13 a few months after it came out, once the leaks confirmed that that 14 wouldn’t have TouchID.
I feel so very fortunate that this isn't true in my area.
Many of the components could have a second life. The main camera for example of the the 2016 iPhone is still better that most webcams. One could use these salvaged sensors to build new hardware.
You can actually install Linux on these old phones, the technical restrictions are long since broken. But there is no funding to make something usable using this capability.
I gave postmarketos a shot for 6 months or so, and sadly I have to agree that it's not ready for daily driving, even by experienced users.
This fairphone 4 on the other hand with lineage 20 looks like it will keep me going for a few more years.
Postmarket OS is a cool project but I wouldn’t count on it ever being more than a neat way to tinker with obsolete devices.
It falls down (of course) at the larger list of secondary use cases many take for granted. For me it was mobile navigation, though it would also still hard crash noticeably often. I do expect the crashes at least to be fixed next time I look.
... Until US phone providers started shutting down 3G. As I understand it, in order for the phone to work correctly with towers, the 3G signal needed to be verified as sort of an emergency "fallback" in case 4G/LTE wasn't working. As soon as 3G towers were replaced with 5G, the phone started having severe connectivity issues, even with only 4G/LTE enabled. I don't know if there is a way to get around this, as I also believe the hardware modem is a factor.
I'm not thrilled at this aspect of forced obsolescence. Between (lack of) firmware support, locked root capability, frequency band issues, and non-replaceable batteries, devices are not "supposed" to be used for more than 2 years.
Once the internal storage is nearly filled up, the phone slows to a crawl, randomly reboots (and runs a much slower "fixup" boot process), and some apps stop working, or only partially work. System and app updates stop happening.
It's surprisingly difficult to keep storage usage down, as many apps these days don't know or care about the difference between internal and external storage, and won't let you write app data to the SD card. Recently I helped my friend reset to factory to get a clean slate, then installing only the minimum number of apps she needed, attempting to move whatever data she could to the SD card, but the internal storage filled up again after only a few days.
I'm not sure if LineageOS brings back the ability to move apps to the SD card. I would doubt it, given what kind of massive surgery to the OS that would require. If it doesn't, you're in for a lot of trouble.
https://source.android.com/docs/core/storage/adoptable
Adoptable storage also has the neat failure mode that if you accidentally pop out the SD card while the phone is running, you're in for a real treat.
Also, anytime anyone asks about adoptable storage in the LOS subreddit, the devs always respond that the feature is broken, will not be fixed, and they don't recommend using it.
Sadly it sounds like Adoptable Storage isn't quite functional enough to solve the problem, but in a pinch, it might work. I'll have to investigate if it's compatible with Telegram, which is probably the most storage-hungry app I use thanks to years of media and messages.
Appreciate the warning and transparency, hopefully my situation is more compatible with the XZ1C than yours. Keep your eyes peeled for a "trying LineageOS on the XZ1C in 2023" post on HN in the next couple of weeks, if I'm successful. Otherwise I just purchased a slightly expensive MP3 player.
I'm getting off this treadmill. Dumb phone, here I come!
If I can find one that lets me tether, that would be ideal, but not a showstopper requirement.
My intention is to separate computing from the phone, so I'll also carry a real pocket computer for my other needs. The key is that it will be a real computer that I have complete control over, and that doesn't have cell connectivity.
I'm increasingly of the opinion that wedding comms, data storage, and compute within a single envelope, and specifically one controlled by third parties (known and otherwise) with intents adversarial to yourself ... was a cardinal error.
A largely-featureless dumbphone (Light Phone ... seems about right), either capable itself of tethering or with an additional data-only tether (making burnering all the more viable), seems best.
An Actual Compute Device of some description --- laptop, small-form-factor computer, very possibly a tablet or e-ink device (though most of these are effectively identical with smartphones, and share all their disadvantages, including short useful life) --- for Actual Compute Tasks, would round that out.
I'm also increasingly of the view that using phones for voice comms is also a nonstarter given spam and privacy violations. Good alternatives are not immediately obvious, though F/OSS voice chat / meeting tools (e.g., Jitsi) seem promising.
I smashed up my last one and had to buy a new phone. My requirements were... * Not too big (S7 is bigger than I want already) * audio jack * micro sd card slot * Some waterproofness * nice screen (eg. oled) that I can see in direct sunlight
I ended up buying another new-old S7 as I couldn't find any new-new smartphones that fit my requirements.
But I have to admit the sheer force of the Google detox made me stop a lot of their products, use throwaway gmail accounts everywhere, no cross device sync and all that stuff and I feel... free and light. Ironic isn't it ?
https://arstechnica.com/gadgets/2015/09/a-3d-touch-above-the...
Hardware gets faster, software gets slower, speed for the users stays about the same. If you're not making your hardware faster (upgrading your phone every few years), then the software is getting slower resulting in a worse experience.
This isn't at all limited to phones. It applies to any hardware/software.
https://en.wikipedia.org/wiki/Andy_and_Bill%27s_law
I understand the writer’s issue. It seems clear some amount of support should be mandated. After all no one should be able to drop support after 1 year.
But what is the correct length to mandate? Until the radio standard is no longer usable (so when 4G gets turned off)? Just a specific number (5, 7, 10, whatever)?
I can’t think of a single consumer device that has mandated support for any length of time past the warranty, so I don’t think there is precedent. In fact the only mandatory support I can even think of is parts for cars.
So how do you choose the timeframe?
This really drives me nuts. It seems this is due to iPhones having very little ram (even the newest 14 Pro Max has 6 GB whereas my 11 Pro Max has 4 GB). But Android phones regularly have double the ram. iPhones could get away with less ram since the CPU is very fast and the OS and apps seem to be faster too, but considering that ram is very cheap, I really wish they would just add more ram. Then again this is also true of the Macbooks which starts at 8 GB, the same as my 2018 Thinkpad.
And the fact that Apple doesn't sell first party cases for devices as old as my last iPad Pro, and my case was falling apart. Oh, and my first gen Apple Pencil wasn't charging and the charging UX for it sucks.
Go for a non-flagship, less-expensive phone with less RAM, and I expect it happens even more often.
(To be fair, my experience has been similar: on my Pixel 4 I don't have issues like this. But I've seen it happen on older phones in the past.)
Also, any other Android office will not get this. I have a Samsung lying around which basically was useless 2 years after
I only updated to a Pixel 5 last year because the battery was deteriorating after several years and I was given a Pixel 5 for free.
I have never experienced any app resets with the 3 or 5 (aside from banking, which is by design), and I switch between maps, browsers, camera etc. very often.
This happens pretty much any combination of apps, most of the time.
My favorite is when I am trying to authenticate to a stupid website that stupidly uses SMS-based 2FA.
I will log into the website and it will show me the 2FA input page. I then switch to my SMS app to read/copy the authentication code. When I switch back to the web browser, the state is gone. It tries to reload the same URL but of course that's invalid and the operation fails.
If I were you, I'd try a few different browser apps which don't use WebView until you find one that has proper save/restore of the open web pages to disk.
Moto g8 for a couple of years, now g30. Just works. Can't say I have a lot of apps, though I definitely doesn't have an app for every burger joint down the street.
DDG and FF as browsers.
The problem is the increasing number of giant custom “cross platform” apps, that require vastly more ram, and have never put any effort into actually being good software. Given all the BS reasons apps get rejected from the App Store the fact that not handling sudden termination isn’t something that gets apps rejected is obnoxious.
And by devs, let’s be clear it’s product owners. As a dev this isn’t hard to do. The problem is making sure it’s made a priority.
But why does Apple allow all these applications in the app store that aren't properly coded for when they get tombstoned (or whatever the term is).
Even modern applications like Yelp 'suffer' from this. And I have the latest iPhone with the most RAM.
Aren’t a lot of apps just running JavaScript (ahem, React “Native”)?
In my country, latest Mac Mini costs ₹ 60K. Of course that comes with 8GB RAM. Add 8GB more and cost balloons to ₹ 80K. A 33% increase in price!
The problem the author of TFA has is that they have been adding more RAM. And apps then make use of that increased amount of RAM. So older devices with less RAM now suffer. It’s about the derivative, not the absolute amount.
Regarding the state resetting, I believe what’s more relevant is the ratio between total RAM and the maximum RAM a single app is allowed to allocate. Or maybe iOS should do more swapping? Not sure how it works.
Too little RAM is taxing storage since the OS is swapping out/in pages from and to memory, and to a way lesser extent to the CPU. The second part of your sentence does not make much sense either, since perceived responsiveness of the user and actual OS performance are very distinct and separate metrics.
You weren’t kidding
Your jeans don't have 0 day exploits whereby someone halfway around the world can steal your banking credentials, private photos/emails, cryptocurrency, etc. Forced obsolescence exists, but I wouldn't put it at fault here.
If you want to blame anyone, blame Apple for locking down their hardware. I still use my old Nexus 6 (released 2014) with an up to date version of LineageOS from time to time. That's impossible with iDevices without a lot of hax or workarounds. 5-6 years is a generous amount of time for a vendor to support a software/hardware stack on a consumer device. It's more time than I've gotten from Google officially.
...does anyone know if this is actually happening on a significant scale? There are said to be tons of unpatched Android devices in the wild, but when I hear about accounts getting hacked, it mostly seems to be from leaked website databases and/or reused credentials.
>[...] I still use my old Nexus 6 (released 2014) with an up to date version of LineageOS from time to time.
If you're paranoid about 0 days, you really shouldn't feel safe with an "an up to date version of LineageOS". Even though they might technically be receiving updates, the kernel and proprietary blobs certainly are not.
I dunno a lot of my jeans end up with a hole right in the middle of the crotch and it actually kinda feels similar
Add on to that the fact that most people use it many hours a day, this equal something like a thousand hours a year. So even a top of the line phone that you refresh every 3 years is something you pay cents an hour to use -- quite low.
If you're from a developing country or the low end of a developed country, I can see how not upgrading your phone every 3 years can be important. If you have moderate resources from a developed country, not being willing to upgrade your phone is frankly a utility mistake for most people.
If phone makers have to support old devices, there is a lot of developer time, testing, etc that is needed.
In the end, I think the flaw of the article is the same flaw as below: some people get upset that if a small streak damages something like 10 pixels on a 4K screen, it's cheaper to replace the entire thing than to fix it. Replacing the entire thing seems like "waste". Not so: repairing the screen is actually waste, because it requires lots of skilled human time. Replacing the screen is mostly cheap automatic assembly. Likewise, it "feels bad" to throw away a working phone, but actually the societal cost of supporting very very old phones would be a lot more than having an ecosystem where most people want to upgrade every couple of years -- in a arena that is actually changing fast.
That's the main reason I'm using a 5 year old phone.
I've had an iPhone XS since it was released, it's only just barely starting to show its age, mostly with shorter battery life. Five years is a good long run for constantly-improving tech. Life is short, you simply won't have to worry about that many upgrades.
That's cool and all but going up should be a choice. If someone doesn't want new features, they shouldn't have to buy new hardware.
I also like kiwi browser and it's support for chrome extensions.
Regardless, I miss the days when we had more mobile OS diversity. IOS, android, windows phone, BBos, and palms WebOS.
* https://grapheneos.org/faq
that matters with the Pixel 6 and 7 series that have such a long security support cycle, but a rather short feature support cycle.
At the end of the day things have a design life and Apple does offer pretty good support – and if we do indeed see newer handsets receiving updates for longer the authors argument ends up kind of being negated. If people were willing to pay for software updates after a certain number of years it might be viable but ultimately the author kinds of expect everyone else to support his phone without offering much in how he'll pay for said support with something that can tangibly be used to pay rent. And so it's probably easier the author just buys a new phone and remembers to turn the old one in for recycling.
That would be good enough for me too, I think.
It's less about jailbreaking and more about ensuring your hardware stays usable even if Apple doesn't think it should be.
One of the first things I figured out after making that jump was that the constraints involved in making an app run smoothly and be just as comfortable to use on something like a 1st gen SE - which is what I used myself, from 2016 through most of 2021 - can't be supported alongside the capabilities and display real estate provided by current models, without an indefinite expenditure of costly developer effort that just isn't economical in supporting a use case that's relevant to something like sixty users out of every thousand.
We've been through this before, with the PC revolution. Things settled down on that front, GPUs excepted, right around the time smartphones became a thing. The complaints are more or less exactly the same, and so are the reasons they receive little of consequence by way of response. None of which is to say you should upgrade your phone if you don't really want to, but - speaking as one who has done so himself, prior to having discovered firsthand why things are the way they are - yelling at the entire industry to change how it functions at a fundamental level has much more of King Canute about it than of any really worthwhile expenditure of effort.
How much would it cost? $1B US? Okay. Apple reported a net income of $99.9 Billion dollars from $350B of revenue. That seems like a good use of $1B to keep electronics waste down and improve resale value. That, number btw is 1000 developers at a cost of $1M apiece per year.
Honestly I don't think it would cost a $1B. I think the true cost is in loss of revenue from forced upgrades -- which might be $100B of Apple's revenue.
My circa 2016 Dell XPS 15 still runs pretty good with Windows 10. Not sure why MS forces me to upgrade my hardware to go to Windows 11.
Think of an analogue to how nvidia sends development help to companies that are making games. Your "confusion of ideas" comment elsewhere is pointed the wrong way.
You are demanding of App Store reviewers, and thus implicitly of app developers who have to satisfy review to publish, an equal level of concern with, and effort to support, the experience of the half a percent or so of users still on 4.7"-class devices, as with that of the 99.5% or so on everything else. This would require significant extra work in just about every app, 2x as much in some, probably averaging around 1.5x as much in most. That is not a reasonable expectation.
I've been in that half a percent myself, and I realize those with an attachment to remaining in that cohort will not find such an argument convincing. But I'm also, in retrospect, not really sorry that the last of the five 1st gen SEs I'd been carefully maintaining - four of which I'd bought used, three of which I'd replaced screens and batteries on - landed on its corner when I dropped it a year and a half ago, wrecking the sleep/wake button integral to the mainboard and well beyond any soldering skill I can acquire, and thus effectively requiring a complete replacement that I decided was finally no longer worth it. The 12 mini turned out not to be meaningfully larger or less wieldy than the 1st gen SE had been, and it's a lot more pleasant to use. There's value in not being actively, constantly frustrated by the experience of using my phone - especially since I do that every day for work now, too.
We aren't going to agree on this, I think, and that's fine with me. But I am going to say that I no longer have the sympathy for your perspective that I would have a couple of years ago. It's a perspective I shared for a long time, and one I put more effort into than most. I'm glad I did, not least because learning to fix phones has been useful. But I'm also glad for what I've learned since then, even though it's why I don't share that perspective any more.
This is not a reasonable estimate of the work needed.
Also I was thinking more of "don't waste tons of memory, making it unable to run on devices with less", which could just be a mandatory rule for everyone's benefit.
One of the things that did the most to change my mind on this subject was actually estimating that work - specifically, estimating what it'd take in a live and fairly complex app, which is where most teams would have to start.
(You haven't lived till you've tried to prototype a complicated custom time series chart control with several interactions, that can transparently render itself across a wide range of sizes and be legible and usable in all of them. You really haven't lived till you've tried to test it!)
Another was seeing for myself in Amplitude both the absolute fraction and the trend for how few users would even be in a position to notice the result.
> Also I was thinking more of "don't waste tons of memory, making it unable to run on devices with less", which could just be a mandatory rule for everyone's benefit.
I agree this is worth more than it's valued. Would such a singleminded focus be to everyone's benefit, though? Most apps might not spend much effort on clean UI restore after suspend, but actual data loss is very rare in my experience, and teams have only the capacity that they do. That makes it a tradeoff between features and other bugfixes, and this; the next request I see in Canny for showing the launch screen less often on app switch will be the first, an absence which likewise leads me to suspect that the wants of users in general aren't accurately captured in the perspective of those who are heavily invested on this point.
It's REALLY hard to make a game that works equally well on the latest and greatest and also that one weird Android phone someone in the Philippines bought in an outdoor market.
That said, we did make decisions at times to drop the few users on older phones, for a variety of different reasons.
We knew how many obsolete phones were used. We knew how many in each of our client companies, so sometimes we held back server updates for specific companies that used old browsers (although we were SaaS, companies were upgraded to new versions independently). To cover our arses, we informed users for a few years that their device was obsolete, and that the App would stop working at some point in the future.
For a game developer that barely raised $1m for the first title?
I'd guess something like 90% of apps could actually be websites instead, in which case you automatically avoid the framework and multi-platform bullshit inherent to app-making.
Although I would rather do native, and Web is messy, not having to deal with Android whims, Android Studio stable releases that aren't, Android Java vs Kotlin, NDK experience that makes me miss Symbian C++,.... I am surely happier having gone back to Web.
Here, try it on your phone, https://whatwebcando.today/
Developers just need to write performant code again like they don't have a modern iphone to work with. Performant code has benefits even when you have the latest iphone pro/max/whatever in your pocket, since it means the app will hardly be consuming battery life. Too many apps these days kill my battery life doing hardly anything at all, rendering some text and banner ads perhaps.
Fortunately I can still run all the apps I want to run, everything works, and performance is good, but I don't imagine that will still be the case if I try to keep using it another three years. And that's ignoring the fact that no new security issues will get patched, and I won't get any new OS-level features.
I've accepted this, and will likely reluctantly buy a Pixel 7a when it's released, even if that phone is even larger and more unwieldy than my Pixel 4, and has the ridiculously-ugly camera bar on the back.
As an iOS developer, I wish we could do the same in web development and save the author the time in posting this blog. But in reality, this is just hard to do. iOS is very poor in backwards compatibility compared to Android. In iOS we only support 3 major version down, compared to Android we still support up to Lollipop up until last year.
1. Deprecation - Google is notorious for deprecating APIs (it's a meme among Android devs) and we as developers are forced to move to using newer APIs
2. Google Play policies - From Google: "New apps must target Android 12 (API level 31) or higher; except for Wear OS apps, which must target Android 11 (API level 30) or higher."
3. Some APIs such as Jetpack Compose require a certain minimum SDK version (API 21). Therefore, if you want to use new APIs, you are forced to stop supporting old devices.
We wish we could continue supporting old devices but it's mostly out of app developers' hands.
Having a target SDK e.g. at Android 12 doesn't prevent you from supporting versions of Android before 12, it prevents you from fully supporting Android devices newer* than Android 12.
The target SDK defines what is the minimum feature set that you have access to (and sometimes what you're required to implement). If you target API level 31, you can add all of the latest features (e.g. improvements around network usage to save energy that wasn't present in older SDK versions).
You, as a developer, decide on your "min SDK", which is the lowest level of Android that you're willing to accept. That is determined by how much you're willing to work around missing or buggy features in old SDK versions, something with is really helped out by using AndroidX (née Support Library), which is a shim you install that provides compatible implementations of newer features when your APK is installed on older phones (similar to polyfill on web).
* During the beta of a new target SDK, old phones won't run an app targeting it, this is to prevent people from building and shipping apps against a beta SDK.
Apple know they're ruining old devices by not cleaning up temp files, they just don't care.