Every now and then I think about how terrible it must be to live in a houshold without an amateur network engineer making sure everything works and looking into issues. (In my household, that would be, uh, me.) Networks are so extraordinarily complicated and have so many potential points of failure that it really is sometimes amazing that they work at all; and because they’re so complicated, almost any support person you could try to call (for your router, your ISP, or even your computer if unlike me you buy computers from reputable manufacturers rather than eBay or cobbling things together from parts) will have difficulty solving your problem or even isolating where it is and who you in fact should have called.
But realistically, that’s most people—so what do most people do? Give up until someone else fixes it? Call their ISP or someone else and get the runaround until eventually the ISP fixes something or they’re told to buy a new modem/router/computer? In any other field, we would (rightfully) consider this level of (lack of) support totally unacceptable, but in technology it’s become so much the norm that, as far as I can tell, people just put up with it. And that’s terrible.
Sometimes I wonder if someone fixing this problem (presumably through vertical integration, as much as I abhor that) could make an absolute killing; but Apple is in by far the best position to do something like that, and they seem to be moving in the opposite direction.
I’m curious how this works with roaming. My hotel wifi is a little spotty here, and I notice that my phone pops up “roaming is not enabled” quite frequently, even when it’s not totally disconnected from wifi. Apparently if roaming had been enabled it would even fall back and use that without telling me? Disastrous!
From Apple’s doc (https://support.apple.com/en-us/HT205296): “Wi-Fi Assist will not automatically switch to cellular if you’re data roaming.”
Every person at every point of interaction with a device connected to the Internet has technology with a certain level of complexity of usage, and a certain skill required to engage with that level of complexity (I am talking about the user interface, not the internal complexity). The Internet works for most people most of the time, therefore it follows directly that at every point of usage, the skill level does match the complexity of the UI. I can configure a small business router and have a high level of comfort with my home router because those are my points of interaction. If you’re not a technical person you points of interaction are simple GUIs in your device. People at ISP’s configure complex routing devices. Everyone knows how their thing works and how to resolve problems at their level, and it all mostly works.
‘Turn it off and on again’ is a beautiful thing. It means that the complexity level of an appliance, and the skill level required to use that appliance is as low as it possible can be - to make it work, turn the switch off and on, pull the power cable out, wait some mythical number of seconds and plug it back in.
Stuff must be exposed at the correct level to the correct user. The problem I see written about in this article is that there was a simple problem: which resource should be used to deliver requests of a certain type. By trying to solve this problem algorithmically, you increase greatly the internal hidden complexity and remove the user from being part of what should be a low-complexity but user accessible decision: the user should be able to turn it off, turn it on, for each app let the user switch it to wifi or 3G or both.