Evolving roles of pubs
Building on %vOVOwGp....
While it sounds paradoxical, I think we can reduce our reliance on pubs by making greater use of them. That way we can build on the pub system (it exists, its operators co-ordinate with a social network, it is decentralized and robust) while reducing the barriers and confusion associated with it.
With ssb-tunnel [%5xW6PhA..., %RuSHX9F...], pubs could facilitate proxied p2p connections and/or direct p2p connections. Then we could show Connected Peers alongside or instead of Connected Pubs. Direct peer connections, even proxied ones, would reduce load on pubs, making them more responsive to peers. It would also allow data to propogate that would not pass through an intermediary as easily, such as large blobs or feeds not replicated by pubs.
With peer-invites [%Vw+sEoM..., %5A8O/JM...], users can create invite codes without needing to run a pub or get an invite code from a pub. Instead of "Join Pub", we could show "Invite Friend" and "Use Invite".
I think "Join Pub" is a misnomer and a source of confusion because it connotes entering into a group or something, but that is not really what happens. One joins the network, not the pub. People wonder why they are connected to pubs that they didn't "join", I think because they ascribe more meaning to "joining a pub" than it has. [related: %NMqKEIZ..., %9yTYgmN..., %kVUlzx7...].
With ssb-tunnel and ssb-peer-invites, I think we will be able to de-emphasize the use of pubs where they don't make sense, while letting them serve the network in valuable new ways.