Closed atopal closed 1 year ago
One of the highest-ranking recommendations in the analysis and ecosystem audit work we've undertaken was to unify the experience of Companion/WebUI/Desktop/other GUI tools in order to provide an enabler/entry point for IPFS development. I'd love to see that as a workstream in this goal.
IPFS currently provides no primitives for content discovery (e.g. ranked search over cids of a given mime type, collaborative filtering). Whether these should be part of IPFS v1 is a separate question. But we should track the category "content discovery" as it is essential for enabling sustained user engagement, just like movie and product recommendations are essential for Netflix and Amazon.
+1 for Garbage Collection upgrades (reference counting). Currently garbage collection runs are taking over 24 hours to complete on some of our nodes. This has been a problem for us for quite awhile, but as we continue to scale even further this is becoming an incredibly urgent need for us.
The good news is that the new database pinning mechanisms should make this easier from what @aschmahmann has said.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.
Note, this is part of the 2021 IPFS project planning process - feel free to add other potential 2021 themes for the IPFS project by opening a new issue or discuss this proposed theme in the comments, especially other example workstreams that could fit under this theme for 2021. Please also review others’ proposed themes and leave feedback here!
Theme description
Define 1.0 - a stable v1 for the protocol - and ship it in 2021, with out-of-the-box table stakes functionality and clear documentation. Start work on our next set of IPFS growth and usability improvements in v2.0.
Hypothesis
Landing the remaining technical debt to reach IPFS 1.0 (around uncompleted features, poor API docs, & a pre-1.0 implementation) will ensure new adopters have a solid experience.
Vision statement
We have closed the gap between our current state and the minimum maturity that we need to unblock mass adoption. We communicate that to the world with a 1.0 launch and signal the readiness of the IPFS core implementations for a specific set of use-cases.
Why focus this year
The IPFS core implementations have made a ton of progress in the last year to provide table stakes functionality - performance and security improvements, etc. There are a few remaining gaps that, if prioritized, can accelerate organic adoption by communicating stability to the community and increasing the ability for the ecosystem to self-service. We need to be able to identify these gaps to effectively execute against them and to grow to the next stage of IPFS - the future is not available to us if we can’t move past old architectural decisions. Further, there is a rich discussion to be had around what “1.0” even entails and how far what components need to be to reach that threshold. Clarifying this can bring much sharper focus to prioritization of the development roadmap.
Example workstreams
Defining go-ipfs and js-ipfs v1.0, improve experience connecting to undialable providers, IPNS, garbage collection, transfer speed, reference docs for APIs, tutorials / how-tos, solution oriented discussions, improve data leakage and clarify security model, content filtering, Testground benchmarking and performance improvements, create first-class IPLD-oriented database object for reading/writing content addressed graphs