it is a linux computer where you have absolutely no control over network. You must root to get a basic firewall, only because people used the firewall previously to block ads.
heck you can't even disable referrer headers on the browser (hint, that's how google get their share on ad clicks).
In comparison for example webOS and Maemo did the analogous thing by using mainline usbnet driver from kernel and configuring routing with standard route command etc. This is possible because they did not flinch from exposing the full power of the underlying system for those who want it.
> Also how often does your laptop have an Internet connection that you can't just join as well from the android device?
Corporate networks would be a common example. Or wired-only networks (yes, such things do exist still).
You can write an app to do something the designers of the system didn't anticipate. That's a mark of a versatile system.
> In comparison for example webOS and Maemo did the analogous thing by using mainline usbnet driver from kernel and configuring routing with standard route command etc. This is possible because they did not flinch from exposing the full power of the underlying system for those who want it.
I believe that, with root, you can install/load/configure kernel modules (mainline or otherwise) on Android as well. Here's a stackoverflow article talking about creating loadable kernel modules: http://stackoverflow.com/questions/6282669/how-do-you-create...
You can see the underlying theme in virtually every interaction you have with Google these days, especially since ad blocking started becoming widespread. Every service they offer is structured so as to extract the maximum amount of personal information from the users of the service. Every design decision follows this underlying goal, even when doing so isn't necessary or even ideal. Everything they do is quid-pro-quo.
A tip: You can use GitHub Releases for the compiled APK instead of having it in source control.