Namely, it’s that sometimes performance and optimization matter. Given the size of the Indian / developing world market, I wonder if there’s an opportunity to provide a good experience (apps or OS) on more meager hardware.
I certainly don’t remember the first gen iPhone being painful or slow. Why can’t we make an experience today that runs on low end, but still vastly more powerful hardware than the original iPhone?
I presume the author used the Bharat 2 Q402. I dug out some specs:
- Android 6.0
- 4" 24-bit 480x800 TFT LCD (capacitative of course)
- Quad-core 1.3GHz Spreadtrum SC9832 (Cortex-A7)
- Dual-core Mali-400 MP2 (512MHz)
- 512MB RAM
- 4GB of storage
- 2MP rear camera (1600x1200 photo, 640x480 (!) 30fps video)
- 300k (haha) front camera
That's kind of all over the shop, but 4 cores at 1.3GHz, ARM notwithstanding, is fundamentally decent from a bare-metal standpoint.
512MB RAM is also not entirely terrible - I could limp (albeit badly) with ~70 tabs in Firefox (back in the memory leak days) on a machine with 512MB RAM many years ago.
So really this is entirely the Android ecosystem's fault. When I say "ecosystem" I'm obviously looking sideways at app developers, but the OS core could probably be designed a little better too.
But neither are. I strongly think this is due to precedent: nobody is penalized for making apps that perform well on non-flagship devices. Indeed, app development on Android seems to strongly mirror (to the point of there really being no dividing line) iOS development - and in the Apple camp lots of websites are only tested on Macbooks nowadays, so it seems that designers/architects are increasingly getting away with not doing the grunt work to test.
Maybe this is because of simple bubble-sheltered designer snobbishness ("that kind of work is below me"). Maybe there's a bit of "and a lid for your coffee cup will be $3" (where the coffee cup lid, representing adequate testing, was previously included for free) in the mix as well.
If only phones were a bit more standardized (think x86 ISA), we could bring the demoscene over to them. Rip Linux out, show what the hardware can _really_ do, generate some popular demand, and actually set a standard for OS vendors to meet.
Because right now the only standard is "next year's phones will have more X, so build in a way that will need so much of that the current device is really straining".
We can, but there's relatively little money in it. Which is why it doesn't get done very well.