Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build router/traversal explainer by leveraging well-known terms #685

Closed
lidel opened this issue Mar 9, 2021 · 6 comments
Closed

Build router/traversal explainer by leveraging well-known terms #685

lidel opened this issue Mar 9, 2021 · 6 comments
Assignees
Labels
dif/medium Prior experience is likely helpful kind/enhancement A net-new feature or an improvement to an existing feature P2 Medium: Good to have, but can wait until someone steps up status/ready Ready to be worked topic/docs Documentation

Comments

@lidel
Copy link
Member

lidel commented Mar 9, 2021

Extracted from #678 (comment)
It looks like network traversal is becoming a bigger and bigger thing within the web-3 space.

I believe using generic names to introduce new concepts usually improves onboarding and reduces fatigue due to cognitive overhead.

Peer and content routing in browser context is a fairly nuanced issue, but if we use well-known terms like STUN, ICE, TURN in the context of transports available in web browsers and/or go-ipfs running behind some types of NAT, that could help devs building on our stack to build proper mental model faster.

I am a bit thin on tangible details, but I'll use "nat traversal / browser transports / webrtc" problem space to give an example of what I mean:

  • Introduce generic, well-known terms first
    • Short explanation (one sentence max) and link to wikipedia/MDN will be enough – it either anchors following information to something developer knows, or makes a more junior dev aware that there is existing problem space to which our stack provides a solution.
    • STUN, ICE, TURN, SDP or even more generic hole-punching, NAT-traversal etc.
  • Then, introduce name of our solution or version of well-known concept. For example:
    • "AutoNAT" provides STUN-like service for assisting hole-punching
    • webrtc-star provides centralized service for exchanging SDP.

cc @vasco-santos @jacobheun @BigLep @johnnymatthews

@lidel lidel added the need/triage Needs initial labeling and prioritization label Mar 9, 2021
@ipfs ipfs deleted a comment from welcome bot Mar 9, 2021
@johnnymatthews johnnymatthews added dif/medium Prior experience is likely helpful kind/enhancement A net-new feature or an improvement to an existing feature P2 Medium: Good to have, but can wait until someone steps up status/ready Ready to be worked topic/docs Documentation and removed need/triage Needs initial labeling and prioritization labels Mar 16, 2021
@salmad3 salmad3 self-assigned this Sep 27, 2022
@ElPaisano
Copy link
Contributor

@DannyS03 scope questions:

  • So is the task "create content explaining router/traversal concepts and write it so that well-known terms are used"?
  • Are you proposing creating a new page for this in ipfs-docs? If so, what subsection? If not, what existing page are you proposing to update here?

@salmad3
Copy link
Contributor

salmad3 commented Jan 23, 2023

@ElPaisano right the idea was to create a new page as a general explainer for the process here of routing & traversal, under Concepts.

@ElPaisano
Copy link
Contributor

ElPaisano commented Jan 23, 2023

@ElPaisano right the idea was to create a new page as a general explainer for the process here of routing & traversal, under Concepts.

@DannyS03 gotcha. This relates to the ongoing reorg / updates. A few thoughts here:

One of the goals of the reorg is to prune down the content in Concepts, for example #1433. So, I'd lean towards trying to slot this into existing material, if possible.

What I don't know: how much copy needs to be written here, so might be too much content for a paragraph or two.

Proposal: instead of creating a new page, could you could just add a blurb (maybe a paragraph or two) into the existing https://docs.ipfs.tech/concepts/libp2p/? Then link out to the much more detailed, thorough content for the subject in the libP2P docs (maybe https://docs.libp2p.io/concepts/nat/overview/ or something like that) "for further reading"?

Also, we recently updated https://docs.ipfs.tech/how-to/nat-configuration/#background - I'm not sure if any of this material would apply to what Lidel was requesting here

@salmad3
Copy link
Contributor

salmad3 commented Jan 24, 2023

thanks @ElPaisano, let's do that - as in, utilize the libp2p page and improve the references to the libp2p docs (as we also have more docs to refer to now which actually cover a good portion of the scope here).

@ElPaisano
Copy link
Contributor

ElPaisano commented Jan 24, 2023

@DannyS03 👍 cheers

Seems like we can close this issue and combine it into #1431 (which you're already working on anyways). What do you think? Close this one out, copy the relevant info over to 1431, and create a PR?

@salmad3
Copy link
Contributor

salmad3 commented Jan 24, 2023

That sounds good @ElPaisano

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dif/medium Prior experience is likely helpful kind/enhancement A net-new feature or an improvement to an existing feature P2 Medium: Good to have, but can wait until someone steps up status/ready Ready to be worked topic/docs Documentation
Projects
None yet
Development

No branches or pull requests

4 participants