Hey all!
Wanted to share a writeup that captures a great session held last week on Discord between a couple folks regarding our strategy with documentation & onboarding materials.
@Kaidao @joelhans @efstajas @brandonhaslegs @andrewd and I sat down to talk about our next steps with docs.radicle.xyz — the project-wide “docs” site that up until now, has been out-of-date and failing to capture what Radicle actually is.
Over the last month, @joelhans has done a great job of cleaning up the site and getting them at least up to date with our product work (see closed PRs for his work done).
our new and improved docs site!
Looking Forward
Now that we have things in an adequate state, we can start looking forward and tackling some of the larger questions we have regarding the future of docs.radicle.xyz and our documentation strategy in general. This is what we started discussing in our chat last week.
To structure our session, I wrote up a couple guiding questions. We worked together to try to answer some of them:
-
What do we think is the difference between documentation & onboarding materials?
- Generally, we can classify our two types of documentation as end-user/user-facing and developer/protocol. We can further classify user documentation into two types:
- Product-specific (how to use a product/feature, how to troubleshoot, tutorials/guides)
- General (user onboarding, value prop, marketing)
- Generally, we can classify our two types of documentation as end-user/user-facing and developer/protocol. We can further classify user documentation into two types:
-
What would we say are our biggest problems when it comes to documentation & onboarding materials?
- End-user/user-facing:
- Maintenance — User-facing documentation goes out of date fast, especially when they include rich text like images & videos. Also, nobody is explicitly responsible for maintaining the docs, which keeps it from being top of mind.
- Fragmentation — Because there are different solutions/products for the same user problems, there is a confusing user experience. We need something more unified to ensure a user can do X, without navigating to five different sites
- Developer/protocol:
- Accessibility — Since Core Teams organize independently, they all use different tools for documentation. Docs are scattered between READMEs, HackMDs, and websites. We might benefit from having a better way to find out who’s docs are where.
- End-user/user-facing:
-
What documentation do we have now?
-
docs.radicle.xyz - General value prop (What is Radicle), Getting Started (user onboarding) Upstream & CLI user-facing product documentation, FAQ/Troubleshooting, Community docs, light Link development documentation (protocol overview in How it Works)
-
radicle.network - CLI user-facing documentation
-
drips.network - Marketing website & general value prop for Radicle Drips
-
docs.drips.network - User-facing Drips documentation
-
radicle-client-services
- seed node / services developer documentation? -
radicle.xyz - Marketing website, general value prop descriptions, link throughs to doc & communication hubs
-
radicle.mirror.xyz - Blog posts, onboarding guides (example)
-
Other developer docs hidden in different repositories (e.g.
radicle-link/docs
)
-
-
How do we see documentation being maintained between Core Teams?
- We believe developer docs should be maintained by individual Core Teams. This ensures the easiest & most effective maintenance. We do, however, see a need to unify user-facing documentation when it is related to a Radicle experience that currently uses different tools across the stack (and across Core Teams).
Takeaways
In an attempt to structure this conversation into intentional next steps, I’ve tried to boil down our discussion to a set of takeaways that we can discuss further. Please note that these are just the shared opinions of those who were on the call, we’re sharing here to make sure that we can involve more stakeholders in the discussion and develop our next steps together. Here’s what we came up with:
-
We don’t need a central hub for all of our docs, we need unified user documentation for our code collaboration product offering. This is the user experience that touches the most Core Teams and is suffering from the most fragmentation & maintenance issues. Other recommendations/thoughts that surfaced:
-
Upstream & Alt-Clients need to work together and decide:
- What code collaboration experience we want to optimize adoption of
- What additional user-facing documentation @Growth and @Product contributors think we need to best support that onboarding/adoption
- Who maintains what user-facing documentation and how do our user-facing “domains” work together (docs.radicle.xyz & radicle.network)
-
Drips user-facing documentation (e.g. docs.radicle.network) should stay separate! It can be introduced to docs.radicle.xyz when it starts integrating more into the code collaboration stack.
-
We need to work on an updated overview of Radicle’s code collaboration value prop. We should be sure to tie into the work @thom is doing on Branding/Messaging, but maybe should focus on creating a better technical “one-pager” on what Radicle is and why it’s important — similar to our beloved Stefan Hajnoczi: Understanding Peer-to-Peer Git Forges with Radicle article. This can be a refresh of “What is Radicle”.
-
If we believe that developer/protocol documentation should live within Core Teams, then we should probably remove any Radicle Link documentation from the docs.radicle.xyz hub and instead link through to @Link team’s docs in
radicle-link/docs
. -
We need a process for maintaining documentation that is cross-team (e.g. Upstream & Alt-Clients). Developer documentation should remain in the hands of individual Core Teams, but we need a better process and mutual responsibility for maintaining our collaborative user documentation.
- Specifically, we need to work on our FAQ/Troubleshooting resources for the pieces of the stack that touch our documented code collaboration experience AND develop a process for taking technical explanations from Core Teams and documenting it.
-
We need to define a clear user onboarding experience from the get-go. @brandonhaslegs @Julien @efstajas should decide how much of this should be hosted on radicle.xyz and how much should be on docs.radicle.xyz. This will inform where we go next with @joelhans work.
-
We believe docs.radicle.xyz should also be the future home for our Contributor and Governance documentation. We can expand our docs in a organized manner, by organizing types of documentation with Subpages (see picture below). We could even host developer documentation here (e.g. Radicle Link), just delegate maintenance of specific parts of the
radicle-doc
repository to their respecitve Core Teams.
-
Action Items & Next Steps
-
For @Kaidao @joelhans @efstajas @brandonhaslegs @andrewd, please add anything that you think I missed from our session.
-
We’d like to set some clear deliverables for the next version of docs.radicle.xyz, so are currently sourcing opinions & thoughts on is still missing from our code collaboration user-facing documentation. What is currently missing from our user-facing documentation to best enable users to use Radicle as a code collaboration tool? @nas @Kaidao @efstajas @Julien
-
A responsibility discussion regarding ownership of user-facing documentation between Upstream and Alt-Clients cc @Kaidao @efstajas @cloudhead
-
A structural discussion about how we can utilize Subpages to better organize docs.radicle.xyz @joelhans @abbey @Kaidao maybe?
-
A personnel discussion — do we need to bring someone on to the team to help maintain our collaborative documentation (e.g. work with Core Teams to turn issues into FAQ/Troubleshooting docs, or write & publish release announcements?)
I hope that this is enough to get the ball rolling on next steps. The whole “docs” discussion touches a lot, but if we can start boiling it down to specific issues, we can start making progress!
Thanks for reading