Closed atopal closed 1 year ago
Why no mention of GUI tools (Desktop, Web UI, Companion) in this theme? These are absolutely critical in smoothing the early-stage experience of IPFS, no matter one's eventual aim in using the protocol. What's more, properly built and designed, GUI tools can be an invaluable complement to developer workflows at ALL stages of their relationship with IPFS, not just onboarding and novice-level interaction.
@jessicaschilling We broke the developer experience focused theme down into developer onboarding and developer tooling, and GUI tools seemed to fit more under developer tooling, but it can/should be a part of onboarding too.
I'm obviously a bit biased, but this objective is absolutely critical to make IPFS useful in the eyes of everyday developers. Fixing the UX of things like the CLI or HTTP API would have a trickle down affect on everything else devs use. Plus, this theme would essentially force us to have more of a presence across developer communities.
Count us in for this. We're specifically going to be targeting various front end frameworks. We also have lots of pains to share. We gave up on devs installing ipfs nodes correctly, and install and configure an ipfs node as part of their CLI. At the same time, I think we're one of the only CLI tools that actually uses IPFS natively, rather than doing an HTTP POST to an app endpoint.
I missed the deadline for a proposal, but one immediate large impact would be a Single Page App (SPA) routing mode in the go-ipfs gateway itself. Is this too small for a "theme"? I guess it would be "make it possible for the gateway to run a wide range of front end apps out of the box".
I've written up some background on this here: https://talk.fission.codes/t/spa-mode-for-go-ipfs-http-gateway/999
By supporting SPA routing, it makes it actually possible to host these style of apps on IPFS without having to add an nginx proxy in front.
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
Create frictionless experience for large or impactful developer segments to use the InterPlanetary Stack by being present in their communities and giving them a simple but robust experience.
Hypothesis
Our onboarding flow from new user to full IPFS-powered dapp has holes that can frustrate potential IPFS users. If we had a smoother onboarding funnel for new and existing users, more and more high-quality projects would continue to be built on IPFS.
Vision statement
The onboarding funnel from first interest in IPFS to production deployment of an IPFS based solution is understood and the project is successful in engaging developers in optimal places and ways. IPFS is present in impactful developer communities, and there are tons of ways to enter the top of the funnel in frictionless ways convenient to developers. From there, it’s obvious how to start using and learn more about IPFS, and people find the experience of using IPFS delightful, only dropping out of the funnel because IPFS is not a good fit for them. Growth is accelerated due to the presence of IPFS in different communities and the relative ease of taking advantage of it.
Why focus this year
Focusing on this area will allow our efforts to scale, spending less energy in top-of-funnel lead volume and hand-holding through the funnel. Without focus here, even with a great product strategy and having convincing use cases, our acquisition efforts might be highly inefficient, capping growth.
Example workstreams
Community resources to support the onboarding funnel (hands-on tutorials, etc.), sane protocol defaults, CLI UX overhaul, community feedback / market research to determine where to play, development of tools and services supporting IPFS development in different communities / frameworks (e.g., devtools, platforms, SDKs, wrapper libraries in different languages), devgrants program for community creation of tools