Good thread @cel. Not sure which of these 3 threads I should reply to, but I'm choosing this one.
I think ssb-tunnel will open a lot of interesting use cases. There are a couple of use cases for pubs that we could consider decoupling and offering separately.
- (A) Pub as a public-internet IP address connection to an SSB peer
- (B) Pub as an online mirror of data for some feeds
- (C) Pub as an onboarding mechanism to discover more feeds
ssb-tunnel over the existing pubs infrastructure is a low hanging fruit, and helps to achieve use case (A). I would also like to get started building ssb rooms which is essentially like a pub, but used only for ssb-tunnel, it never replicates content online. I like the idea that rooms could also serve for use case (C). You could join (and here the meaning of the word 'join' is accurate) a room and discover new people. Rooms could also be around a specific topic. What LAN sync does for discovering peers in a common location, rooms could do for discovering peers with a common interest around the globe. I believe a lot of rooms could be open-invite, because we could build it so that replication happens only if there is mutual interest and opt-in among the 2 peers. This would help against the rando effect: you would see a rando but you wouldn't get their data (e.g. their comments) unless you opt-in and they opt-in too.
Use case (B) is where pubs really shine, so far I can't see another better way of providing an always-online mirror of data that is powerful because it removes the requirement to be online simultaneously. Rooms would require peers to be simultaneously online if they want to replicate data.