A basic HTML document with CSS styling will adapt beautifully to any screen and requires very little CPU or memory. Write once, view on every device with a browser. Publishing content is also part of the original vision of the web, and luckily HTML forms are also accessible to any device.
Yes, you want to write apps, and perhaps that requires more from a device, and maybe you don't want to cater to poor Indians. But lots of sites are sending down 3 megabytes of JS to display an article and run 48 ad trackers. That's a crappy experience even on my smartphone and decent WiFi.
I'd also wager that there are many, many "apps" you could write which could be 100% server-side rendering and simple markup, and which would be super useful in the developing world. Think Craiglist and Ebay - the kind of applications that help people share their location and agree on prices of goods.
The "use anywhere" promise of the web is easier to keep if you lean on the web's fundamentals instead of writing a browser to run in the browser and shipping it to every user.
I of course know it's not about the developers only but the practices of the markets, delivering hundreds of ad trackers on a single page etc. But it's still for me on some level hard to accept the fact that a single web page delivering a few kilobytes of some news needs more than 1 GB of RAM.
Of course you can: run a virtual machine, give it e.g. 500 MB, don't allow the guest OS to have the swap file, install there your favorite browsers and try (and weep).
It will be hard and unpleasant for you, but that's exactly what the users with less money are faced with. To ease your initial pain (or make the installation of the browsers or the OS even possible?), you can first install the OS and the browsers with more virtual RAM on the guest and only then reduce it.
And of course, you'd have to clear the browser cache every time before you try your pages. Also ideally, limit the network speed and increase the request latency!
Also to get the "realistic" CPU speed, run that all on some less powered CPU, like: https://www.amazon.com/Intel-Compute-Computer-Processor-BOXS... with Atom processor.
The question is more the will and not the technical aspect. And explaining all that to the managers, if you are in a company which doesn't have awareness of the potential users around the world.
To give you an idea: I can read still HN site on the underpowered devices, but there are enough sites today which just don't load or crash (i.e. I can't read the linked articles). It's that bad.
that virtual machine does not compare at all to the actual performance on a phone where the app runs besides other apps and native services, deals with different latencies for device access, internet speed etc.
yes, i can test my app that way, and it will probably good to do so to catch the most blatant performance issues. but then i could just test on my own phone for the same effect. in no way though i am going to be able to test across a multitude of devices, all of which have different performance characteristics.
If I may guess, your phone has 2 GB RAM minimum and at least 4 core CPU and therefore is much stronger than what I talk about? Like I’ve said, using Apple iPad 2 (which probably are easy to find and have 500 MB RAM) is a good start. You can’t dismiss those as being not polished enough. They are just specced less powerful than the current first world phones.
My VM suggestion is that the tests can be done on every notebook. If your page fails on that setup it’s obviously not suited for the less powered devices.
A bit of Google-fu shows that a lot of these phones run something called KaiOS, and it looks like native apps are actually build using HTML/CSS/JS anyway - https://developer.kaiostech.com/