We list documentation as a top-level section in our roadmap to acknowledge the importance of it for developer communication, scaling and maintenance of deployments, and early user adoption of new releases. The state of the existing documentation has not kept pace with the rapid development in our projects, and effort will be focused on improving it. Because our documentation spans all subprojects, each of which have their own release cycles and versioning, the documentation roadmap doesn't have concrete version numbers associated with each milestone.
- Hire full time and part time staff who will focus on improving our documentation.
- Research existing tools for writing documentation (Readthedocs, Sphinx, Notebooks, etc.) and evaluate which tools we use to write documentation.
- Develop a project wide outline of our existing and proposed documentation.
- Perform observational and survey based user studies of our documentation to guide its design and development.
- Explore and research the questions around how to maintain documentation across multiple subprojects. Do we centralize all or some of our documentation? Do we keep it in separate subproject repos?
- Build publicly accessible API documentation on all commits for all JavaScript and TypeScript repositories.
- Encode documentation in our project principles and community process as a core activity that is part of the everyday process of development, and adopt this in an integral fashion throughout the project for all project members.
- Integrate Jupyter Notebooks more closely into our documentation tools.
- Develop a formal documentation process and standard that includes technical review, organizational review, design, usability testing and copy-editing.* Where needed, develop additional tools for writing our documentation.
- Work with each subproject to integrate our documentation tools and process into their workflow and roadmap.
- Begin to block releases of subprojects until documentation meets our standards.
- Using our new JavaScript packages and live kernels hosted in the cloud, enable documentation to be runnable in place.
- Build documentation indexing and search into JupyterLab.
- Build tools that make it easier for downstream projects to distribute notebook based documentation to users.