I completely agree. Which is why tunneling should be built-in to having a domain name. It should be easier than a phone number. You buy a domain from a domain seller and pay them $5/mo to provide tunneling. All the user needs to understand is:
* I install the app
* App requests access to your domain so it can set up appname.yourdomain.com
* I grant permission and we're live.