What the chart shows is that, for a 50-inch screen, the benefits of 720p vs. 480p start to become apparent at viewing distances closer than 14.6 feet and become fully apparent at 9.8 feet
So, if we are to accept the conclusions of this article, we shouldn't really be able to tell the difference between 480p and 720p until we get to roughly 10-12 feet. That's ridiculous, I could tell a 720p from a 480p image from twice that distance. If you can't, double-check that 20/20 of yours, may be time for a new prescription.
Also, I heard many of your arguments years ago when HD was first rearing its head in the market. "There's no content, no one will buy it", "no one will buy it due to lack of content, so no one will make content", "current resolutions are completely sufficient, and no one will see a difference anyway". All wrong. Give it a year or two. Even if 4k blu ray doesn't take off particularly well, expect to see more and more streaming/downloadable 4k content. And, a quick perusal of 4k video on torrent sites show that 4k is already being pushed by the same people who have pushed every other major advance in home video for the last few decades: the porn industry. I couldn't find any 4k movies to download, but if you want to watch people screw in 4k, the future is now.
I'll go ahead and get off your lawn now.
It's true it's not the fastest way to check framing, exposure, depth of field, focus, etc. Although it can also force people to put more thought into those things, since the stakes are higher.
The question is, can this be done on the OS level, or does it have to happen on the driver level? If it can be done at the OS level, easy peasy, just modify the code to establish tower connections to include this check. If it has to happen on a driver level, it gets trickier. Most phones use proprietary binary drivers for their cell radios, so they couldn't be readily modified. However, it may be possible to load an intermediate driver, which in turn loads the proprietary driver. If it could be determined which driver calls involved connecting to a new tower, you could just pass through everything else, and only pass through calls to the tower connect function if they passed your database lookup. Trickier, but doable. Because really, you want to avoid connecting to these things at all. Nice though it is to see you're being attacked, it's better to stop the attack before it starts.