Why does not firefox care more about the android version?
Firefox for Android does not support Material UI, has a low minimum API level, and generally seems lacking in features. Why is that?
Edit 1: also the downloading function is super unstable, I lost several files due to firefox starting the download then stopping and removing the download for no reason.
Supporting old api versions means the app is supported by more phones. International android versions can be quite old. While supporting old api versions may seem bad, it doesn't mean that Firefox cannot take advantage of new api features too. The code can simply check if the new features are available and use them.
Why do you care what the supported api version is?
I think people can be running pretty old versions of Android everywhere, assuming they don't change their phones every two years when support for their current device ends. They might still want to use an up-to-date web browser.
There's just no reason we shouldn't expect 99% of new apps to run on older phones, and to hell with the entire industry for normalizing it.
The topmost answers there are basically explaining why it's sometimes convenient for developers to drop support for old versions. I don't see any of them making a case for the zany idea that "supporting old versions is bad."
Also when you start on an old version of Android it's much easier to incrementally add support for the newer features with API version checks. But if you start a brand new app with a target of Android 14, it's gonna be feel like you're just throwing compatibility hacks all over the place to support older versions. Similar end result, but the perspective of the second one makes it look much dirtier than it really is.
Firefox was around when Android 5 came out, so it makes sense that they'd keep up with new features without rewriting the old stuff, so no need for them to raise the minimum SDK, only the target SDK.
A lot of apps also rely on frameworks like React Native, Cordova, Ionic, Xamarin and whatnot that also only target some ranges, so a good chunk of apps could run fine on older versions if the framework hadn't dropped support for it.
But from a code perspective, you could build for minSdk=1 and targetSdk=34 and run well on both without sacrificing anything for the modern versions.