Skip to content
This repository has been archived by the owner on Sep 24, 2022. It is now read-only.

New How-to template #265

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 0 additions & 67 deletions how-to/about-how-to.md

This file was deleted.

149 changes: 149 additions & 0 deletions how-to/how-to-template-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# How-to guide

information_source: Read this document before you start working on the [how-to template](how-to-template.md).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: The emoji did not render correctly. I believe a colon needs to be added before information_source.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
information_source: Read this document before you start working on the [how-to template](how-to-template.md).
:information_source: Read this document before you start working on the [how-to template](how-to-template.md).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed


## Introduction

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (non-blocking): I'd probably renamed this section to 'When to use/write a how-to guide'.


How-to guide takes your users through a series of steps required to solve a specific problem. It shows your users how to solve a real-world problem or complete a task in your application, like how to create an issue in GitHub.

The how-to guide clearly describes a set of ordered sequential steps your users must complete to accomplish a task. The how-to guide assumes that a user has basic knowledge of the application and has already read the quickstart and the tutorial.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick (non-blocking): You probably don't need to say 'ordered' and 'sequential', just one suffices.

Copy link
Author

@OphyBoamah OphyBoamah Sep 12, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've removed the ordered and going with just sequential, thanks.


Do not use how-to guides to teach concepts.

How-to guides are often confused with tutorials. How-to guides are task-oriented, while tutorials are learning-oriented. The table below identifies the differences between the two.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could link to tutorial template here

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely loved this section! It makes a great comparison.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @anetroger.


| Tutorials | How-to |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

praise: I really like the table and your breakdown on the differences between how-tos and tutorials. It provides a clear understanding of how tutorials and how-tos are different. Great job!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

praise/thought: The how-to vs tutorial table is great. It would probably be worth:

  • Including the same table in the tutorial template
  • Introducing a quickstart vs tutorial comparison into the quickstart and tutorial templates.

(This is not an action for this PR.)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @heykayla and @camerons. We'll raise issues to create similar tables in the tutorial and quickstart templates.

| ----------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| Learning oriented | Task oriented |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Learning oriented / task oriented
In my opinion, this items are not self explanatory enough. Can be definitely combined with the next row in a manner like Learning oriented: helps beginners or expert users learn a new feature and provide a successful learning experience.

| Helps beginners or expert users learn a new feature and provide a successful learning experience. | Helps an expert user accomplish a task or troubleshoot an issue. |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Helps beginners or expert users learn a new feature and provide a successful learning experience. | Helps an expert user accomplish a task or troubleshoot an issue. |
| Helps beginners or expert users learn a new feature or concept. | Helps an expert user accomplish a task or troubleshoot an issue. |

suggestion (non-blocking): We should be able to drop "learning experience" as we are repeating ourselves.
suggestion (non-blocking): We could probably consider using tutorials to learn a new concept, in a practical way.

| Follows a carefully managed path, from the start to the end. | Aims for a successful result, and guides the user along the safest, surest way to the goal. |
| Eliminates any unexpected scenarios and provides users with a successful finish. | Alerts the user to the possibility of unexpected scenarios and provides guidance on how to deal with it. |
| Assumes that users do not have any practical knowledge and must explicitly state any tools, file configurations, conceptual details, and so on. | Assumes that users have the practical knowledge of tools, file configurations, applications, and so on. |

## Why do I need a how-to?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick (non-blocking): I'd probably write 'how-to' or 'how-to guide' consistently throughout the text.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link

@Andrey-makes-code Andrey-makes-code Sep 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how-to should be capitalised in this header and others: How-to


A how-to guide is often used to help competent users perform a task correctly. It can:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick (non-blocking): I'd delete 'competent' because if the user can't perform the task correctly, then it might imply incompetence.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced competent with advanced, thanks for pointing it out.


- Demonstrate to your users the different capabilities of your application
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Demonstrate to your users the different capabilities of your application
- Demonstrate to your users the different capabilities of your application.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

- Guide your users to solve a real-world problem within the application through an ordered series of steps.
- Help answer specific questions that users may have
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Help answer specific questions that users may have
- Help answer specific questions that users may have.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

- Make users comfortable using the application.
- Improve the user experience, and help reduce costs by lowering the number of support requests.

New users who want to solve a problem instantly can also benefit, provided the how-to is well-written and states any prerequisite knowledge required to complete the task.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
New users who want to solve a problem instantly can also benefit, provided the how-to is well-written and states any prerequisite knowledge required to complete the task.
New users can also benefit, provided the how-to is well-written and states any prerequisite knowledge required to complete the task.

Suggestion (non-blocking): We can probably trim here without loosing meaning.


## Before Writing A how-to

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick (non-blocking): Alternates between sentence-case and title case throughout the text.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: In the following points, we recommend collecting "the main use cases" (plural) - which is a good idea. So here we probably should make the title plural too. (Note, the following introduction should be updated to be plural too.)

Suggested change
## Before Writing A how-to
## Before writing how-tos


Before you start working on your how-to, identify:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: In the following points, we recommend collecting "the main use cases" (plural) - which is a good idea. So here we probably should make the introduction plural too.

Suggested change
Before you start working on your how-to, identify:
Before you start working on your how-tos, identify:


- The main use cases of your application.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- The main use cases of your application.
- The main use cases for your application.

suggestion (non-blocking)

- The different scenarios that your user may encounter in the real world while completing a task. or example, multiple ways through which a task can be completed. If this, then that. In the case of …, an alternative approach is to…
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- The different scenarios that your user may encounter in the real world while completing a task. or example, multiple ways through which a task can be completed. If this, then that. In the case of …, an alternative approach is to…
- The different scenarios that your user may encounter in the real world while completing a task. If this, then that. In the case of …, an alternative approach is to…

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link

@Andrey-makes-code Andrey-makes-code Sep 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this, then that. In the case of …, an alternative approach is to…
Seems it can be a 2nd level bulleted list of items

- The surest and the safest way to complete a task. By suggesting multiple ways to complete a task, you're asking users to think through the different ways and choose. Save your users' time and effort by eliminating the options.
- The different error scenarios that a user may encounter while completing a task. and the solutions for the same.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: Can you clarify what your second sentence in the last bullet point means?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was a typo and has been rectified now. Thanks for pointing this out.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion:

Suggested change
- The different error scenarios that a user may encounter while completing a task. and the solutions for the same.
- The different error scenarios that a user may encounter while completing a task, and their corresponding solutions.


## Best Practices For Writing A how-to

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: We likely should provide this advice too? Note, we should switch to a bullet list, or numbering will need to be updated.

Suggested change
1. Address one logical goal per how-to page. Try to avoid cases where only a subsection of the how-to is relevant to the reader.

1. Prepare your users for the unexpected, alert the user to its possibility and provide guidance on how to deal with it. For example, include callouts such as warnings, caution, or note to communicate important information while completing a task.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick (non-blocking): This should probably be a bullet list, since there is no particular order.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Prepare your users for the unexpected, alert the user to its possibility and provide guidance on how to deal with it. For example, include callouts such as warnings, caution, or note to communicate important information while completing a task.
1. Prepare your users for the unexpected, alert the user to its possibility and provide guidance on how to deal with it. For example, include callouts such as a warning, caution, or note to communicate important information while completing a task.

suggestion: Either include all plurals, or no plurals.

2. Use conditional imperatives. If you want x, do y. To achieve w, do z.
3. Do not explain concepts.
4. Do not provide too many links within the guide. Keep your users on a single page as much as possible. Instead, provide links to additional resources at the bottom of the page.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment (non-blocking): I think I disagree slightly with the suggestion to avoid having too many links in the guide and to instead put them at the end. While I definitely agree that you don't want to over-link throughout the whole guide, sometimes a well placed link for more information can be really valuable when you think the user might legitimately need it.

Maybe I'd rephrase this as: "Sometimes it's helpful to occasionally provide links to supporting pieces of documentation for more information--especially when the user might need a link to supporting reference materials or background information. However, avoid providing too many links within the guide. ..." With the rest of the phrase the way you have it.

5. Avoid writing guides for edge cases at the outer boundaries of your application’s capability.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: This is good advice, but the reader will likely be left wondering:

  1. Why shouldn't I use how-tos for edge cases?
  2. For my edge cases, what should I do instead?
    Maybe we should add some extra guidance here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (rephrasing, non-blocking): I'd maybe rephrase best practice #5. Here's my suggested edit: "Keep your documentation simple and avoid over-documenting multiple ways of achieving the same task. Sometimes there is more than one way to complete a given task. In that scenario, you should pick the most common or recommended method of completing a task and only document that one path. Additional methods should be omitted or mentioned by providing a link or reference document. Also, avoid writing edge cases at the boundaries of your application's capability."

6. Test your how-to guide instructions from start to finish so that you can uncover omitted steps, incorrect details, steps out of order, and information gaps that block users.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (non-blocking): I think we should probably mention more in this document that it's extremely important to ensure that your how-to guide is technically accurate. This best practice could be a good place to emphasize that point. A possible rewrite: "It's important to ensure that the steps provided in your how-to guide are technically accurate. Where possible, try to test your how-to guide instructions yourself from start to finish to verify that your documentation doesn't have any missing steps, incorrect details, steps out of order, or other potential blocking issues. If it's not possible to test it yourself, have a developer or subject matter expert demonstrate the step to you and record the session, if possible."


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (non-blocking): Maybe add:

Suggested change
7. Re-test instructions after every notable product release to ensure instructions are still accurate and work end-to-end.

## About the "Overview" section

Use this section to provide the following:

- A clear description of the problem or the task that the user can solve or complete.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick suggestion:

Suggested change
- A clear description of the problem or the task that the user can solve or complete.
- A clear description of the problem or task that the user can solve or complete.

- When and why your user might want to perform the task. For example, in a guide for creating a pull request, you might tell users that pull requests are used to let others know about the changes you have pushed to a branch on a repository.

Note: The how-to guide assumes that a user has basic knowledge of the application and knows what they want to achieve.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Note: The how-to guide assumes that a user has basic knowledge of the application and knows what they want to achieve.
ℹ️ The how-to guide assumes that a user has basic knowledge of the application and knows what they want to achieve.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed


If there are multiple scenarios under which the task can be completed, then create a table as shown below and hyperlink the different how-to guides available for each scenario.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (non-blocking): Maybe re-frame slightly:

Suggested change
If there are multiple scenarios under which the task can be completed, then create a table as shown below and hyperlink the different how-to guides available for each scenario.
If there are multiple scenarios under which the how-to can be applied, you can orient the reader with a table linking guides to scenarios, as per below.


| Guide | Scenario |
| --------------------------------- | ---------------------------------------------------- |
| Create a pull request from a fork | The user does not have write permission to the repo. |
| Create a pull request | The user has write permission to the repo. |

## About the "Before you begin" section

In this section describe what your users need to know, or need to have before they attempt the how-to. By stating the requirements up-front, you prevent your users from getting halfway through and discovering that they need to go and read other documentation before they can continue.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (non-blocking): The template notes this section as optional (which is good). Suggest that we should note that it is optional here too.


Use this section to communicate any prerequisites for this how-to, such as:

- Familiarity with the application
- Software and tools needed
- Environments to set up and configure
- Authentication and authorization information
- Other guides or information to read
- Links to procedures or information, or any useful pointers about how to get what they need.

For example:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Suggest moving the example to the end of this section, below the other guidance.


```markdown
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (non-blocking):

  • On a small screen, this code format block doesn't wrap
  • Suggest using a markdown block indent instead, which uses the > char

Before you begin, make sure you meet these prerequisites:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Before you begin, make sure you meet these prerequisites:
Before you begin, ensure:

nitpick: This could be trimmed

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: This example mixes "knowledge you should be familiar with", along with "software development environment you should have in place". As written it is difficult to understand the difference.
Suggest following the grouping advice below:

  • Ensure you are familiar with:
    • {concept 1}
  • Ensure your development environment has:
    • {application}


- API credentials for the v3.5 API. For more information about accessing your API credentials, see http://example.com/access_your_api_credentials.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: Suggest our example should follow our (or rather Google's) style guide for using descriptive links. This enables us to be more concise.

Suggested change
- API credentials for the v3.5 API. For more information about accessing your API credentials, see http://example.com/access_your_api_credentials.
- [API credentials for the v3.5 API](http://example.com/access_your_api_credentials).

This comment applies to the following links too.

- Access to the Postman application.
- A conceptual understanding of RESTful APIs. For more information, see http://example.com/restful_apis.
- (Optional) A development environment (IDE) that displays API responses formatted for readability.
- A list of favourites prepared, so you can manage them. For more information about favourites lists, see http://example.com/favorite_lists.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: The "list of favourites" is a confusing example to me. I'm not sure what it means. Maybe drop this example.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- A list of favourites prepared, so you can manage them. For more information about favourites lists, see http://example.com/favorite_lists.
- A list of favorites prepared, so you can manage them. For more information about favorites lists, see http://example.com/favorite_lists.

Suggestion: The Google style guide which we defer to recommends US English over UK English. Suggest doing a spell check against the entire content checking for US English. (You can do this by copying content in Google docs and changing your default language.)

```

For easy understanding, consider classifying the prerequisites into different categories such as software prerequisites, and hardware prerequisites.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For easy understanding, consider classifying the prerequisites into different categories such as software prerequisites, and hardware prerequisites.
For easy understanding, consider grouping prerequisites into categories such as background knowledge and software prerequisites.

Suggestion: This links to my other suggestion in the example text, and also trims words a bit.


Optionally, provide any helpful cues that signal to a user that they’re probably not in the right place and provide them with more suitable options. For example, If you are a Linux user, then refer to {link to relevant Linux how-to guide}.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Optionally, provide any helpful cues that signal to a user that they’re probably not in the right place and provide them with more suitable options. For example, If you are a Linux user, then refer to {link to relevant Linux how-to guide}.
Optionally, provide cues that signal to a user that they’re probably wrong place and offer more suitable options. For example:
> If you are a Linux user, refer to {link to relevant Linux how-to guide}.

nit: Trimmed some words
nit: Suggest avoiding negatives "not in the right place"
suggestion: Move example into a block quote


## About the "Steps" section

The steps section is where you describe what the user needs to do. Use an ordered list structure to document the how-to steps. How you write your steps will vary depending on your organization's style guide. The template organizes the steps in the following way:

{Task name}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{Optional: Concise description of the purpose of this section. Only include this if the purpose is not clear from the task title.}

suggestion: It would likely be worth adding such information. (Note, template should be updated to reflect this too.)

1. {Write the action to take here. Start with a verb.}

{Optional: Explanatory text}

{Optional: Code sample or screenshot that helps your users complete this step}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: There is quite a bit of theory around images, worthy of its own section. We should reference our style guide, which at the moment should link to https://developers.google.com/style/images

suggestion: Code samples are highly valuable, but are also costly to keep current. Maybe discuss this. Also reference our style guide, currently https://developers.google.com/style/code-samples


{Optional: Result}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (blocking): We haven't described what a "task" is. There is quite a bit we probably should cover:

  • What is the difference between a "task" and "step". I assume a task is a grouping of steps, typically associated with completing a functional task?
  • Often there will only be one task, in which case use the heading "Instructions" or similar.
  • Should tasks be numbered? Probably "yes". Reason: It enables two people to discuss where they are up to in a list of steps.
  • If tasks are numbered, then steps should follow the task numbering:

1 Task
1.1 step a
1.2 step b

### Tips for writing steps

- For task names, start with a bare infinitive also known as plain form or base form verbs. For example, “connect”, “set up”, or “build” and express the heading as a complete thought. Don't use the -ing form of the verb because it is harder to translate. Instead of saying, "Connect", you might say, "Connect to the VM instance”.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Many readers won't understand what "base infinitive" is, so would be worth linking to an authoritative definition.

- For each step, optionally provide some background information about the task so users know what they're about to do and why. Continuing with the example, you might provide some best practices for creating memorable repository names.
- Optionally, add a code sample or screenshot after the explanatory text, depending on the type of how-to you're writing. Screenshots are a great way to show specific parts of the screen you are referring to in a step. Make sure your code samples work.
- Remember to orient your users when walking them through each step. If they need to open a particular file or dialogue box to complete the task, provide that information first.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Remember to orient your users when walking them through each step. If they need to open a particular file or dialogue box to complete the task, provide that information first.
- Remember to orient your users when walking them through each step. If they need to open a particular file or dialog box to complete the task, provide that information first.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

- Provide examples of sample output such as return data, and a message so that the users can validate whether they performed the step correctly or not. Continuing with the example, you might describe what happens after a user clicks the "Create repository" button.
- Use plain language and define the terminology of any technical term next to it.
- Include one action in a step.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Praise: I love this new section you've recently added to the guide. It's really great and it's a big improvement to the draft!

Suggestion (non-blocking): I think I still want a little bit more in this section, though. For example, I feel like we're missing some information about how to write conditional steps and how to format sub-steps.

It also occurred to me that it could be worth advising them to check their organization's style guide for guidance about how steps should be written and formatted, if they have those guidelines.


Here is an example step:

Create repository

1. Enter a name for your new repository.
Good repository names are short and self-explanatory. Avoid repository names with three or more words. After you click "Create repository", GitHub creates your repository and the main page for the repository is displayed. If needed, you can add substeps below a primary step. Make sure to indent the substep one tab space over if you're using Markdown.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment (non-blocking): Usually I add a line break and indent this content when I'm formatting a step that includes an explanation like this. I think that makes it more readable and I see that recommendation in multiple style guides. Is there a way to get that here in a Markdown file? And is there a way to call that out to readers?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: This example provides a concise step (which is good). The follow on background information is following on the same line. (Might be a formatting issue). Would likely be better to include this in a callout box with a bullet list of tips. (In markdown, use > char). It should also include the "information" icon.


Create pull request

1. 2. To create a pull request, do the following:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to fix the item number

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment (blocking): Agreed. Something about the formatting is off here in this whole section. Double-check that you've got it right.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: Check how this is rendered. It comes out as 1. ii. where I expect we were going for 2.


a. Navigate to the main page of your repository.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Suggest all steps should follow unique numbering all through the doc, such as:

  1. xx
  2. xx
    2.1 xx
  3. xx


b. Under your repository name, click **Pull requests**. By default, all open pull requests are displayed.

c. If you're including code samples in your steps, make sure they are also indented correctly:

Set your Git username for your repository. You can change the name that is associated with your Git commits using the git config command. git config user.name "Dakota Everson"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Set your Git username for your repository. You can change the name that is associated with your Git commits using the git config command. git config user.name "Dakota Everson"
Set your Git username for your repository. You can change the name that is associated with your Git commits using the git config command.
```git config user.name "Dakota Everson"```

suggestion: suggest additionally address numbering, as per prior comment.


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: For procedural instructions such as for how-tos, it is often useful to group steps into subsections.
Should we provide guidance as to when you would group into sections, and when not.

## About the "See also" section

It's likely that during the course of explaining a multi-task process you will touch on other topics related to the current one, but not strictly required. This section is useful to provide your users with suggestions on further reading without interrupting the topic covered by the current document. An example might be setting up an email client, which requires working credentials to an active email address. The reader need not know how to install and run his/her own email server in order to acquire that access, although this is potentially useful. The link to documentation on running a local mail server could therefore be included in the "See also" section.

## Additional resources

[Diataxis framework](https://diataxis.fr/)

[Docs for Developers](https://docsfordevelopers.com/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment (non-blocking): I like the resources that you've listed here, but perhaps you could explain why you recommend reading them.

Also, I'd like to recommend adding an additional resource here. I like IBM"s Developing Quality Technical Information, 3rd ed. I especially think Chapter 3, Task orientation is a great guide on how to effectively write steps. It includes many helpful examples of good and bad task writing.

The section about lists in the Google Developer's Style Guide is also really helpful. Other online style guides might be good.

54 changes: 54 additions & 0 deletions how-to/how-to-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<!-- Copy this Template. -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (non-blocking): We probably don't need "copy this template" advice, as it is likely obvious to the reader. (We should aim to be concise.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (non-blocking): We should be consistent with other templates regarding our standard advice.
Suggest looking at other published templates, and adopting the same conventions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (blocking): We have previously decided against using HTML comments tags, and instead insert comments inside {curly brackets}.
Reason: We want the reader to be able to see these comments in whatever variant of the document they are reading. The HTML comments only visible if looking at the raw markdown, and are not visible when viewing in rendered HTML format.
This comment is applicable for all other instances of <! -- --> in this pull request.

<!-- Describe the title of your article by replacing "How To Template" with the page name you want to publish to. -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<!-- Describe the title of your article by replacing "How To Template" with the page name you want to publish to. -->

Suggestion (non-blocking): Suggest that we don't need this advice, especially if we use a convention of putting variables inside curly brackets.


# Title
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Title
# {Title}

Suggestion (non-blocking): Suggest that all variables be put inside curly brackets. This is something we should confirm with our style committee.


::information_source: Before using this template, read the accompanying [how-to template guide](how-to-template-guide.md)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: A colon (:) appears at the beginning of the sentence in the output.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion (non-blocking): We should be consistent with other templates regarding our standard format and advice. For instance, https://raw.githubusercontent.com/thegooddocsproject/templates/dev/quickstarts/quickstart-template.md has this sentence right at the top.

Suggest going through the other published templates and looking to make sure we are aligned.


## Overview

This guide explains how to {insert a brief description of the task}.

:information_source: Here are some examples:

- This guide explains how to comment on a pull request.
- This guide explains how to create or delete a branch on Github.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe GitHub should be with a capital H.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

- This guide explains how to create a repository.

(Optional) Specify when and why your user might want to perform the task.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(Optional) Specify when and why your user might want to perform the task.
{Optional: Specify when and why your user might want to perform the task.}

Suggestion: For consistency, we probably should insert instructions inside curly brackets. This comment applies to other Optional instructions in this template.


## Before you begin
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Before you begin
## {Optional} Before you begin

suggestion: Add an optional tag here.


<!-- Delete this section if your readers can go to the steps without requiring any prerequisite knowledge. -->

Before you {insert a brief description of the task}, complete the following prerequisites:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (non-blocking):

Suggested change
Before you {insert a brief description of the task}, complete the following prerequisites:
Before you {insert a brief description of the task}, ensure:


- Prerequisite 1
- Prerequisite 2
- Prerequisite 3

## {Task name}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:information_source: If there is only one task in this guide, you can rename this section to "Instructions".

suggestion: Suggest adding this approach

1. {Write the step here. Use a verb to start.}

:information_source: You can use this format to describe your step:

Explanatory text

(Optional) Code sample or screenshot that helps your users complete this step.

(Optional) The result of completing this step.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: An example will likely be very valuable here (or in the guide). Something like:

  • Notice {button is visible at the bottom left of the display}
  • Press {button}
  • Observe {what has changed}
  • Confirm {something has happened}


2. {Write the step here. Use a verb to start.}

2.1 {Substep 1}

2.2 {Substep 2}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## {Task name 2}

suggestion: If we are suggesting that multiple tasks should be included, then we should have another task name heading.

Note: We probably should additionally be numbering this task heading.

## See also

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion, non-blocking: 'See also' and 'Additional resources' could be written exactly the same - DITA uses Related topics (or links) - maybe this is a question for the style guide.


:information_source: Include references and/or links to other related documentation such as how-to guides, conceptual topics, troubleshooting information, and limitation details if any.

- Reference link
- Concept link
- Troubleshooting link
62 changes: 0 additions & 62 deletions how-to/template-how-to.md

This file was deleted.