Description
Note, this is part of the 2020 Theme Proposals Process - feel free to create additional/alternate proposals, or discuss this one in the comments!
Theme description
As the adoption of IPFS and the related projects begins to increase, there is a need to show practical use cases that can be built on IPFS Stack(projects including IPFS, Libp2p, IPLD, Multiformats, IPFS Cluster & Filecoin).
Now there are 2 main sub-themes:
Increasing awareness about What IPFS Actually is?
As discussed in #47, there is a common misconception in the masses that IPFS provides a distributed, redundant, permanent storage of arbitrary data among (presumably) peer nodes, out of the box. Most recently there was a hackernoon post floating around that criticized IPFS's usability by a case study of AXEL mobile app. The points made in the post were partially right, but contained a ton of misinformation, as pointed out in the reddit thread. So, there is need to deal with awareness about what IPFS actually is, which has been worked on in Q4 2019, but there is still a lot to cover, especially when it comes to average Joe(avg. internet user).
Building Tutorials/Examples for IPFS Stack
There is a lack of reference examples and tutorials for IPFS, Libp2p & IPLD(IPFS Cluster is doing good, but there is always room for improvement). A lot of people seem to be stuck in libp2p and IPFS discussion forums with queries for examples/tutorials for specific transports, or some Libp2p & IPLD in specific setup/environments. We don't aim to cover all the use-cases but we can cover at least the obvious use-cases.
Core needs & gaps
Creating content for practical use-cases of IPFS, Libp2p, IPLD. This can be done under protoschool, or can be added to repos that are concerned with the use-case.
Why focus this year
- JS-IPFS has good feature parity with Go-IPFS, providing a good extent of capabilities of IPFS enabled on the browser. Need to show what IPFS, Libp2p can do in this environment.
- Libp2p is being used by more and more projects(ETH2.0 etc.), so it's getting more traction than ever. Lack of examples/tuts results in lots of missed opportunities in terms of more things being built on Libp2p, and more potential Libp2p contributors.
- The same goes for IPLD. Lack of examples/tuts results in lots of missed opportunities in terms of more things being built on IPLD, and more potential IPLD contributors.
Milestones & rough roadmap
-
Identify the obvious use-cases. Maybe create RFCs for suggesting tutorials/examples that community needs. People can add RFC about a tut that they want and then the community can vote which tut to build. We started one here.
-
Assigning these RFCs to interested folks.
-
Getting the tutorials/examples approved by the relevant folks.
-
Making the tuts/examples public and improving on them from the community feedback.
Desired / expected impact
Measuring Success
- Getting more "code coverage" in terms of examples/tuts. This means that each repository has a set of possible "practical" use-cases.
Future benefits
- This process can reduce the number of queries for common use-cases.
- More people building on IPFS Stack, as they now have a better understanding of IPFS Stack.