--- title: Porter tech docs assessment draft tags: porter --- # Notes meeting notes: https://docs.google.com/document/d/12OGtSaUtlc7OA_iPnUvmVaiKg8yM7_QBzFnMgoHvnLw/edit?usp=sharing website: https://getporter.org/ repos: * https://github.com/getporter/porter (main site), site content is in docs/ folder * https://github.com/getporter/operator (https://getporter.org/operator site) # Assessment template Prepared by: * [Uchechukwu Obasi](https://github.com/thisisobate/) * [Nate W.](https://github.com/nate-double-u/) Date: 2023-04-07 ## Introduction This document assesses the quality and completeness of a project's documentation and website (if present). This document: - Measures existing documentation quality against the CNCF’s standards - Recommends specific and general improvements - Provides examples of great documentation as reference - Identifies key improvements with the largest return on investment ## How this document works The assessment is divided into three sections: - **Project documentation:** for end users of the project; aimed at people who intend to use it - **Contributor documentation:** for new and existing contributors to the project - **Website:** branding, website structure, and maintainability Each section rates content based on different [criteria](criteria.md). ## Project documentation | Criteria | 1 | 2 | 3 | 4 | 5 | | --- | --- | --- | --- | --- | --- | | Information architecture | | | ✅ | | | | New user content | | | | ✅ | | | Content maintainability | ✅ | | | | | | Content creation processes | | | | ✅ | | Scale: - 1 = (Is not present or requires significant work) - 3 = (Is present, but needs work) - 5 = (Is executed extremely well or no improvement required) **Comments** _Provide comments for each rating above, 1-2 sentences max, bullet point list_ ### Information architecture - Good nav on landing page - There appear to be two different operator quick starts (or is it the difference between desired state and operator? maybe the operator one needs to be in Get Started) - https://getporter.org/quickstart/desired-state/ - https://getporter.org/operator/quickstart/ - Mixins & Plugins sections duplicated in sidebar (and could potentially be organized under Concepts?) - Current info architecture - root - Get started - Contribute - Tasks - Concepts - Mixins - Plugins - Troubleshooting - Best practices - References - Judging by the git history, content is up to date. - There is versioning on the site (it is easily missed though) - is there a process to help decide when content is stale? - Lots of great examples, but there is no clear "happy path" through the content. I'm a new Porter user, what's considered a "basic" Porter setup, and how can I get there? ### New User content - Porter's installation process is very well documented and well detailed in a step-by-step basis. - Multiple OSes are well documented too. - The onboarding and contributing guides are well documented making it easy for new users to understand and kickstart. - Porter's sample code is copy-pastable. - "What is Porter?" is a good overview or 'about' section. - Items listed under "When to use Porter?" are inconsistent with the way they're linked: some are linked while others are not. - One can easily mistake Porter for Docker; it's hard to tell the difference between the two. - Main quick start links to Quickstart: Bundles - is this the first thing a Porter user who wants to try out the system needs to see? - quick start bundles feels more like a concepts page than a quick start ### Content maintainability - The project's website is located in the same repository as the project's source code. The maintainers argue it was done on purpose to encourage developers to write docs. I think it's a fair point. My only issue with this convention is that it makes it difficult for a new contributor to find the website's sourcefile. A contributor expects the "docs" directory to only contain nothing but actual documentation files not website sourcefiles. - There's no way to search the documentation - Hard to locate the different versions on smaller screens ### Content creation processes - The Contributing Guide contains really thorough documentation on contributing to both docs and the project itself! - Maintainers are clearly documented as well as where to find them. - There are no docs for the release process. Same for docs creation and updates. **Recommendations** ### Information Architecture - Overall, Porter's documentation is well organized: - some pages seem misplaced (quick start for operator, ...) - Some pages appear at the top level of the docs nav that may not need to be there -- search may help with findability - Best practices could be under reference - Mixins Plugins -- should these be top level? ### New User content - Document (or highlight) a new user's "happy path." Is there a particular config or deployment that most users would use? How could we highlight it? - All the items listed under "When to use Porter?" section should maintain a consistent behavior; either make all items linkable or not. - Create a docs detailing the difference between Porter and other bundling tools like Docker. - The concept, Bundles, needs to be explained or defined at the top of the quickstart page. ### Content maintainability - Move the website sourcefile to a separate "website" directory. That way, we create a good separation of concern. A good example is [https://github.com/thanos-io/thanos](https://github.com/thanos-io/thanos). - The porter's docs should be searchable. - Create a version picker (dropdown) to make search easily discoverable for users. - Make version picker visible on smaller screens. ### Content Creation Process - Create a doc detailing the code release process. This document should account for documentation creation & updates. ## Contributor documentation | Criteria | 1 | 2 | 3 | 4 | 5 | | --- | --- | --- | --- | --- | --- | | Communication methods documented | | | | | ✅ | NW | Beginner friendly issue backlog | | | | | ✅ | | “New contributor” getting started content | | | | ✅ | | | Project governance documentation | | | | | ✅ | Scale: - 1 = (Is not present or requires significant work) - 3 = (Is present, but needs work) - 5 = (Is executed extremely well or no improvement required) **Comments** ### Communication methods documented - Communication methods are clearly documented, as well as how (and where) to get calendar invites for meetings ### Beginner friendly issue backlog - Porter's issue templates are very good and helpful - The issue backlog is very beginner friendly and well groomed - Issue labels are very good, engaging and friendly. - There seems to be no documentation around triage process (both for code issues and documentation issues that come up). ### “New contributor” getting started content - Porter docs have a very good "new contributor" getting started content ### Project governance documentation - Project governance is clearly documented **Recommendations** ### Beginner friendly issue backlog - Create documentation around issue triage process. ### “New contributor” getting started content - Make the new contributor guide to be easily accessible for new users on the website. A good idea is to link the "contribute" page from the homepage. ### Project governance documentation - Link governance docs from the website- a quick link on the community page would be helpful. ## Website | Criteria | 1 | 2 | 3 | 4 | 5 | | --- | --- | --- | --- | --- | --- | | Single-source for all files | | | ✅ | | | | Meets min website req. (for maturity level) | | | | ✅ | | | Branding and design | | | | | ✅ | | Case studies/social proof | | | | ✅ | | | Maintenance planning | | | | | ✅ | | A11y plan & implementation | | | ✅ | | | | Mobile-first plan & impl. | | | | | ✅ | | HTTPS access & HTTP redirect | | | | | ✅ | | Google Analytics 4 for production only | ✅ | | | | | | Indexing allowed for production server only | | | | | ✅ | | Intra-site / local search | ✅ | | | | | | Account custodians are documented | | | | | ✅ | Scale: - 1 = (Is not present or requires significant work) - 3 = (Is present, but needs work) - 5 = (Is executed extremely well or no improvement required) **Comments** - Porter meets and exceeds the website requirements for its maturity level. - Branding is consistently applied throughout the site - Site is keyboard-navigable - website is mobile responsive - Website is accessible via HTTPS - Site is well-indexed on Google - Account custodians are well documented **Recommendations** ### Single-source for all files - Rename the "docs" directory to "website". ### Meets min website req. (for maturity level) - Copyright and trademark footer should be present on all pages, not just home page. ### Case studies/social proof - create either a testimonial page or logo wall containing a list of adopters ### A11y plan & implementation - Elements must have sufficient color contrast; case in point is the date class in the blog's page. Try increasing the contrast of the text color a little bit. - Images must have an alt text - Ensure every id attribute value is unique ### Google Analytics 4 for production only - Setup Google Analytics 4 for website. We advise you consult the CNCF to assist with this. ### Intra-site / local search - Setup site-wide search for website. ## Recommendations _From the recommendations above, lis the top 1-3 concerns for this particular project and expand on them in enough detail that you could either:_ - _Pass the work off to a contractor or other member of the CNCF techdocs team_ - _Write a GitHub issue for the project team and place it in the backlog and someone not involved in the docs assessment process could execute on it_