I don’t want to debate this too much. I’ll say a couple of things and then hear what you have to say, if you want to respond, but I don’t think this should be a debate between users. It’s just my opinion and I hope Roon and HK hear it.
There are media products like Plex which try to do P2P and move to cloud relay if they can’t. There are video conferencing products like FaceTime and Zoom which do the same. There are video gaming platforms, such as Xbox and PlayStation which also use cloud relays when necessary.
These platforms vary in terms of the amount of data they relay and the latency requirements, but they all make it work, and they do it transparently. A FaceTime user doesn’t know if their video call is going through a relay or not. Neither do users of the other products and scenarios. None of those experiences require third party hardware or software nor do they require the expertise to set up a VPN-type solution.
We can discuss how you might build something like this. You’ve suggested that a variety of approaches wouldn’t work. They would. Cloud platforms from Amazon, Microsoft, Google and others allow for geoscale and distribution as well as elasticity. An approach like a Node-based relay would scale very well - it’s a reasonably simple problem to maintain a directory of connections and to connect the dots between a client and a home-based server. They’ve already got the directory portion of the problem solved because they are maintaining a mapping between users and home server IPs. Encryption can’t reasonably be claimed to be a blocking factor since there is an enormous amount of prior art on which to base an end-to-end encryption strategy.
If you, personally, want to opt out of an end-to-end encryption approach, you should have the ability to do so. You should be able to turn that feature off and either port map manually or use a VPN-type solution. I don’t want to suggest that people with privacy concerns should be forced to use a relay. They shouldn’t.
The best approach to reasoning about cost is not to throw a large number out and say “…adding up to $10,000+ in hosting bills.” The aggregate cost is not as interesting as the cost per user. Non Lifetime users pay at least $12.49USD/month". If you add a feature like a cloud relay, you’d want to think about it in terms of the impact to per-user revenue (that accrues to aggregate, but you’d start with per-user). You could start by coming up with a cost range specifically for a person that uses a cloud relay. My guess is a couple of USD worst case per month for a highly active ARC user. Many users don’t use ARC. Of the ones that do, many don’t need a relay. Those folks subsidize the folks that do need and use a relay. By the time you’re done, it’s a relatively small amount per user.
Does Roon want to spend more money each month? Of course not! Where we may differ is around whether or not the best business strategy requires them to do so. For me, ARC is a partially complete product that doesn’t work particularly well and, for many users, requires a do-it-yourself add-on solution. I work with, not for, a high-end A/V retailer where the consultants differ on whether or not to recommend Roon. Some don’t because they don’t want to take on the support burden, which they need to do given the nature of their clientele. They can’t sell a Nucleus and say “if you buy this, you can use Roon in your home and ARC when you’re away.” They can only say, “you’ll be able to use Roon in your home but you may need another computer if you want to use it while you’re away.” And if they do that, they end up in the support role for both devices - the Nucleus is an appliance that for most people will just work. The ARC device won’t be anything like that.
I said more than I expected - and we are perhaps just going to have to disagree
I’ll say, sincerely, that I appreciate anything else you want to say even if you strongly disagree but I’m not going to post further on it here. This is feedback for Roon, not content I entend for debate with other users.