Progressive Enhancement or Graceful Degradation. Two methods, one aim: care for each user on each device. There was a time when every other article about the Web’s best practices featured either.
And now, as it’s debated because somehow it’s old school to still think about it because it’s based on moral grounds [1], Charlie found it useful to remind why it’s still needed.
Even if, like the original author, you discount the moral argument for PE, then you are still left with the practical arguments. The main one of which is: the web is a hostile environment to your code. You do not control the users browser, OS, corporate policy or network speed/latency. You do not control their settings. You do not decide if their phone is old and shitty, or sparkly and new. Unlike all other coders in history, Frontend Developers (FEDs) have to code for a mind-bogglingly huge combination of OS, client app and hardware.
I do own an old phone. I bought it second-hand something like 5 years ago and just checked: it was launched in 2019. Now, as everything is so “oh wow we need a web app to display this plain form or this plain content page, and we need it NOW”, it freezes often.
Yes, I have blockers, so things should be smoother, considering how much third-part data/DOM/JavaScript stuff I don’t load. But no.
And when Firefox does freeze, every once in a while it even slows down the entire phone, so much that when I get back to my home screen it redraws each and every icon and system widget. I suspect that the OS has given up at this point and waits for memory to be freed.
Sometimes the “Mi UI” graphical system stops. It stops. I get a nice popup saying so. Then it pretends to restart but I can’t tap on anything, can’t start anything. I need to restart the phone, like in the olden Blue Screen Of Death days of Windows.
So yeah. Progressive Enhancement is still –painfully– a thing.