libp2p / website

Webpage of the libp2p project. A multi protocol approach for a interoperable network stack that follows the 'self description' in favor of assumptions
https://libp2p.io
36 stars 32 forks source link

Document browser connectivity story and roadmap #154

Open BigLep opened 2 years ago

BigLep commented 2 years ago

The browser connectivity site has been deployed but there are still many things to be done:


Done Criteria

A URL can be shared that answers:

  1. How a browser node can connect to other nodes (other browser nodes, other non-browser nodes), accounting for the differences amongst browsers and libp2p implementations.
  2. Sample code making these connections.
  3. How to follow along on contribute to the development tracks

If someone isn't aware of the intricacies of this topic or has outdated information, they should be able to start at this resource and quickly learn the options, the options' pros/cons, what's available today, what's coming, how to follow, and how to help.

While not end-user facing, we also need to do the following before marking this as done (or these items should move to a separate item that we also track - we need to make sure we don't drop them just because we get the content done):

The list here was moved to the top.

Why Important

The browser connectivity story has improved over the last couple of years, but there isn't a one-size-fits-all silver-bullet. We need to help developers understand the landscape so they don't oversimplify or erroneously write-off libp2p.

Not only do we want developers informed, but this is an exciting time when it comes to browser connectivity, and we'd love to capture some of that interest to help develop and test the improvements that are coming.

User/Customer

Developers using libp2p so they can understand if/where/how libp2p can help them with their browser applications.

Notes

  1. Some of this information is in https://github.com/libp2p/specs/blob/master/connections/hole-punching.md#vision. Things it doesn't include currently:
    • Status of each transport in each libp2p implementation
    • Browser vendor specifics (e.g., Chromium having WebTranport support)
    • Sample code for getting started
  2. This issue was created in the libp2p/docs repo, but that doesn't mean it needs to be solved here. If this information is authored somewhere else, we should at least have a link from the docs website to it.
BigLep commented 2 years ago

@marten-seemann : I created this issue because I wanted to link to it from some other places. No rush, but can you please update with where we're at? I think it's important for us to answer why this is separate than lip2p.io or docs.io, what the mainteance/support story will be, etc.

Lets also link any other open issues (e.g., design shop) or docs (e.g., Notion) to this as well.

BigLep commented 2 years ago

@marten-seemann : we also need to clarify how this relates to https://github.com/arewedistributedyet/arewedistributedyet / https://arewedistributedyet.com . There seems like a lot of overlap here and maybe these should get consolidated. I don't want to keep having a trail of sites that become unmaintained every couple years...

p-shahi commented 2 years ago

Marten creating connectivity.libp2p.io

BigLep commented 1 year ago

@p-shahi : what are your thoughts on timeline for wrapping this up? I know @DannyS03 is blocked on various reviews for other areas. In the meantime is this something he can help execute on? I know we're seeing low visitors and high bounce (per https://www.notion.so/pl-strflt/2023-01-06-IP-Stewards-SitRep-d455db436b0c4aacbdccc2c265f91e67#cd71c07408a34bc5abaab5cc8ec23847 ) and wanted to see what we can to get this to a closeable state.