Skip to content

Stop writing docs. Start helping!

(approximate transcript below, in ā€œspeaker notesā€ formatting rather than properly written, with some slides sprinkled in and resources and references at the end)

Iā€™m going to ask a question for and weā€™ll get back to the answer a little later.

ā€œAre your docsā€¦ good?ā€

Whether your current docs areā€¦

  • a README
  • a few markdown files
  • a Discord server
  • a CHANGELOG
  • the code itself
  • an entire website
  • ā€¦ or nothing at all!

ā€¦ they can always get better!

Not what you wanted to hear, right? This actually sounds pretty overwhelmingā€¦ ORā€¦ is it a COMFORTING fact that ā€œdocs are never doneā€ā€¦ so donā€™t expect them to be! Youā€™ll never get there! You CANā€™T get there.

You donā€™t have to WORRY about getting there.

 A version of the Drake/woman two square meme with two blue jays, one disliking the statement Docs Are Never Done with the second jay looking intrigued at the same sentence.

With docs, you CANNOT, you must not, let ā€œthe perfectā€ be the enemy of:

  • the good.
  • the good enough.
  • the #NWTWWHB. (Not worse than what we had before)

My name is Sarah, and Iā€™m the docs lead at Astro.

I hope in just a few minutesā€™ time, youā€™ll see how achievable ā€œbetterā€ docs are, even without:

  • ā€¦ a technical writer
  • ā€¦ a team of volunteers
  • ā€¦ writing experience
  • ā€¦ a lot of time

Whether youā€™re:

  • ā€¦ crafting your very first README

  • ā€¦ adding the changeset for your next PR

  • ā€¦ preparing a guide for using a new feature

  • ā€¦ starting to think about redesigning your entire documentation site (hint: Starlight!)

Iā€™m going to make your docs better, Iā€™m going to make YOU a better, more confident docs writer, without doing much WRITING at all!

A small sparrow standing on a bridge railing amid seeds with an upturned, confused head position.

Why do projects have documentation? Why do you have docs, if you do, for your project?

You might have said, ā€œto tell people how to use the projectā€ or ā€œto show what the project can doā€ or ā€œexplain what it isā€

I would argue, the sole purpose of documentation, the only reason it exists, is to be helpful.

  • internal docs: help with cross-team collaboration and onboarding
  • external docs: help people understand, evaluate and use your project
  • open-source docs: help people contribute to your project

Three blue jays standing in a row, each labelled as a different kind of docs: internal, external, open-source

Documentation even helps you as youā€™re building, making design decisions, learning, and leaving yourself notes.

Documentation isā€¦ a source of truth, docs is support, docs is record-keeping, docs is even marketing, promotion and community building ā€¦

A small structure covered in grafitti with crows on top listing all the things docs is from the previous sentence.

ā€¦ but ultimately docs exist to help.

Remember when I asked at the beginning, ā€œAre your docs ā€˜goodā€™?ā€ How did that make you feel? Was that an easy question to answer?

What if I ask instead, ā€œAre your docs helpfulā€œ?

For many people, I think that second question feels different.

Two blue jays, one looking drab and disgruntled under the word good. The second blue jay has wings outstretched as if showing off under the word helpful

Change the question you ask yourself fromā€¦

ā€œAre my docs ā€˜goodā€™?ā€

  • vague uneasiness and anxiety
  • What does that even mean?
  • Focused inward, on yourself: Iā€™m not a writer!
  • Iā€™m not a native speaker! Iā€™M not the person who should be writing docs!

ā€œAre my docs ā€˜helpfulā€™?ā€

  • a more objective measure
  • donā€™t need to know or care about ā€œdocs theoryā€
  • Focused outward, on other people: what do they need?

Because remember: YOU ARE the foremost expert on your project, and you are the BEST person to help!

Changing the question you ask will immediately put you on the path to ā€œbetterā€ docsā€¦ more helpful docs!

Notice that this ALSO changed the task of making docs from primarily a writing task to a helping task!

ā€œAre your docs helpful?ā€

""

So how do we answer this question?

We begin to answer it by first understanding that itā€™s really a collection of questions, that start with the phrase:

Is this helping someoneā€¦

  • get started with my project
  • figure out what my project is or does?
  • evaluate whether itā€™s right for their needs? (so you get the right users in the first place!)
  • accomplish their OWN goals using MY project (e.g. add authentication to password protect some pages)
  • troubleshoot something in their project thatā€™s not working as expected
  • use my project to the fullest
  • avoid common pitfalls
  • keep up with the latest changes in my project, so they can successfully update their project

Evaluating whether your docs are

  • HELPFUL
  • helpful TO SOMEONE
  • helpful to someone FOR SOMETHING

ā€¦ will get you further, faster, than any other single docs intervention.

""

""

Your docs can only be helpful to someone and that someoneā€¦

Helpful TO SomeONE WHO IS:

  • Human
  • (With needs/wants/desires/hopes/dreams)
  • In a particular mood

WHO HAS:

  • Context
  • Goals/purpose
  • Motivations, expectations

WITH A CERTAIN EXPERIENCE LEVEL WITH:

  • Code
  • The industry
  • Your project

WITH VARYING

  • Language proficiencies
  • Bad experiences (ā€œburned beforeā€)
  • Pre- or (mis) conceptions

AND ONLY LIMITED

  • Attention
  • Patience
  • Time
  • Energy
  • Resources (internet speed/cap, hardware)

They also need to help someone do something:

  • Learn
  • Conceptualize
  • Evaluate
  • Achieve
  • Build
  • Fix
  • Test
  • Upgrade
  • Improve
  • Experiment
  • Convince (themselves, someone else)
  • Solve a business problem or technical challlenge

But, docs should ultimately be helpful at getting people OUT of docs, and back into (using) your project.

An eagle flying away over water

You probably already have an idea right now of something you could add to or change in your existing docsto make them helpful.

But letā€™s go even further, and define helpful documentation:

CLEAR AND CORRECT

If your docs are wrong, they are not helpful.

If docs are factually wrong, if theyā€™re misleading, if theyā€™re outdated, if theyā€™re correct but so confusing youā€™d never know itā€¦ they are not correct. They are WRONG.

Now, when I say ā€œcorrectā€, I do not mean complete/comprehensive.

In fact, you might have some existing documentation that ā€¦ isnā€™t really helping anyone do anything!

Two ducks swimming, one with a cursing emoji face over its head representing incorrect docs. The second is a duckling looking up sweetly representing the friendlier reaction when you have incomplete docs, as if asking "Could you add...?"

Action Items:

  • Read every statement in your docs for ACCURACY
  • Or, if youā€™re starting fresh, ONLY WRITE TRUE STATEMENTS
  • Go through each part of your docs and identify WHO this helps, and WHAT it helps them do
  • Less is more: both in style AND in content
  • Have you added EXTRA content that HIDES the good stuff, and makes it LESS clear what the reader does/doesnā€™t need to know?
  • Use clear, simple language: No one ever complained, ā€œGee, these docs are just too easy to read!ā€

Screenshot of Ashley Bischoff giving a talk called 1Up Your Writing with Plain Language at Fronteers Conference 2017 and a slide that reads Because no one has ever complained that somethign was too easy to read.

If something sounds convoluted, overwhelming, or youā€™re not sure whether itā€™s entirely clear and correct, and you canā€™t immediately see how to make it betterā€¦ REMOVE IT:

ā€œNo documentation means I go look somewhere else for information. Incorrect documentation means I waste my time.ā€ - Mason Egger

Incorrect docs reduce credibility. They make people frustrated enough to stop using your project and choose another.

If your users canā€™t be successful, then they do NOT use your project; they DONā€™T spread word of mouth (at least, not the good kind), they donā€™t create items themselves that showcase your project, and they donā€™t contribute back and improve your project.

If itā€™s not clear, and correctā€¦ delete it! I am giving you permission! It wasnā€™t helping you anyway! It was frustrating people trying to use your project and potentially generating ill will and bad vibes!

CHECK IN: Congratulations! Youā€™ve made your docs better and you havenā€™t written a single thing!

If youā€™re worried you might have deleted something important, itā€™s fine. Itā€™s the internet! Someone will tell you.

An XKCD cartoon where someone is on the computer, saying they can't come to bed yet because someone is wrong on the internet

Weā€™re going to take things one step further and make your docs even more helpful:

  • Can people move around your documentation and find what they need?

  • Are things where people expect to look? If they first look in the wrong spot, can they easily GET to the right spot?

This is also called Information Architecture, and you can get into things like ā€œsignpostsā€, ā€œescape hatches/off rampsā€. These are all the structural things we add to our documentation to help people quickly and easily situate themselves and move around.

Remember that a lot of people will enter your documentation via a web search, and not necessarily ā€on page one.ā€ When someone finds your docs, can they get where they need to go before they lose hope?

The good news, if thereā€™s only one page, they canā€™t be on the wrong page.

A book cover titled Every Page is Page One next to the thinking, pointing at brain meme

Iā€™m serious! If you donā€™t know how to structure your content, there is nothing wrong with one huge README to start! I mean, a table of contents would be nice? Putting ā€œgetting startedā€ closer to the top and ā€œremoving your data and deleting your accountā€ closer to the bottom kind of makes sense to me? But you if your readers have to look around, at least theyā€™ll know theyā€™re on the right page!

Hereā€™s where a framework like Diataxis comes in: by identifying parts of your documentation by content type and reader goal, you can logically group sections of your docs and start to provide a helpful structure.

If the only reason docs exist is to be HELPFUL, to SOMEONE, trying to DO SOMETHING, then the first start of organizing your content is thinking about what your reader needs help doing, and making sure you can direct them to the material that actually helps them. e.g.:

  • If they are coming to quickly look up a reference value, like a property name or config option, make sure they donā€™t get stuck in your beginner tutorial!
  • If they want to learn about what you project is, and what needs it solves, donā€™t make them get stuck in implementation details!

But the key thing is, if someone is not reading your docs like a book, top-to-bottom, first-page to last-page, do you have a plan for how will they find your clear, correct information?

Action item:

  • go to literally any random point in your documentation, and imagine you are a reader who is not in the right place to get the info you need for a particular goal. Think about how your docs could direct them there, quickly and accurately.
  • Is this solved by a TOC? a search widget? a ā€œHow to read these docsā€ page? an internal link?
  • If you have multiple pages or files, do the titles accurately represent the content? Does your content live under the title youā€™d expect?

So, at this point, Iā€™ve now basically said: Donā€™t lie (and, delete any lies), and donā€™t hide stuff (if you have to, throw everything on a single page. Good news, CTRL+F works for everyone!).

This is, I think, STILL an achievable bar for docs that help your readers without any new writing!

If every statement in your docs is true, and people can find, read and understand what they meanā€¦ Congratulations! You have Minimum Viable Docs! (whispers If you have to, you can stop now)

A sparrow on a wooden boardwalk with the title Minimum Viable Docs - Clear and Correct (no lies), Discoverable and Navigable (no hiding)

But, of course, there are characteristics of good docs, and there are also some pretty well-established anti-patterns.

Thereā€™s no shortage of talks on ā€œhow to write good documenationā€ that go into specifics, and I DO recommend you check out some great ones if you want to get better at writing! But that can get overwhelming and we already know that WRITING is secondary to HELPING.

A collage of images of various resource; talks, books, podcasts that are linked from ths post.

  • It might feel like thereā€™s a scary Docs Police waiting to criticize you and that there aer a lot of potential failure pitfalls.
  • Instead of thinking of these as things to worry about getting wrong, think of them as things that you DONā€™T have to worry about; things NOT TO DO because they are NOT YOUR JOB as a helper.
  • These things ā€œthou shalt not doā€ actually REMOVE pressure and responsibility, and are guard rails to keep you focused on a productive path towards helping.

A screenshot of a pulll request suggested edit made by Sarah. The original was a very long, excited description about installing Bun, and the suggested change for docs is simply: Use the following command to install Bun, with the added note Booo... Sarah is boring!

So, you may have seen this social media post. I absolutely love it, because it perfectly demonstrated everything weā€™d been talking about here.

Itā€™s CLEAR, and CORRECT. If youā€™re looking for the command to install Bun, these are the words you will search for! It introduces exactly whatā€™s coming next, and itā€™s not hidden in a bunch of other words.

This edit is NOT me saying, ā€œBAD AUTHOR, BAD DOCS!ā€

This edit is me freeing the pull request submitter from the responsibility to:

  • write something clever
  • motivate the reader
  • get all the punctuation correct in longer, multi-clause sentences
  • have 10 times as many words to proofread and spellcheck
  • spend time ā€œwritingā€ instead of just ā€œhelpingā€

Similarly, many other ā€œDocs 101 Donā€™tsā€ are actually ā€œdonā€™t worry abouts!ā€

""

  1. Donā€™t use ā€œweā€, because youā€™re not sitting there with your potentially frustrated reader
    • This frees you from the extra work of checking that all your we/us/our/letā€™s all agree. You know whatā€™s super easy to check? You and your.
    • Using ā€œyouā€ also naturally puts the emphasis on your reader, and what they are doing. It guides you to thinking about helping THEM. (What might THEIR set up look like? instead of writing ā€œourā€ which can trick you into thinking about your OWN context or situation.)
    • Often, these instructions work without any ā€œyouā€ at all, and become even clearer.

""

  1. Donā€™t use ā€œshouldā€ - decide whether your reader MUST do something (mandatory), ā€œcould optionally choose toā€ (only when a true choice!) etc.
    • Again, sounds like a rule we just made up! But I guarantee you that we are freeing you from feedback from the confused reader!
    • Do Iā€¦ have to do this? What happens if I donā€™t, and how bad is that?
    • Your sentences ALSO get clearer! ā€œYou should create a new folder for your blog postsā€ -> Create a new folder for your blog posts.
    • Why waste time your own time getting the nuance of an instruction perfectly correct? We are giving you permission to avoid writing, and just tell someone directly what to do! Even when more things are possible, if you WANT them to do this to have a successful outcome, just say it that way. WE FREE YOU from the responsibility of describing every possible path when you, the expert in your own project, already have a recommendation. You can help. Donā€™t write. Just help.

ACTION ITEMS:

  • Donā€™t stress out about writing rules, but embrace them as telling you things that arenā€™t your responsibility!
  • Pick one or two (I suggest ā€œweā€ and ā€œshouldā€), or just read through your docs looking for things that arenā€™t your responsibility, and remove them!

If docsā€™ only purpose is to be helpful, then the existence of docs is a PROMISE OF HELP.

Quote from the book Write Useful Books: Readers aren't buying your useful book for its storytelling or suspense.they are buying it as the solution to a problem or path toward a goal.  They'll stay engaged for as long as you are regularly and consistently delivering on that promise. I recently threw away a book I had been very excited to buy and read... the authors seemed to believe that their job ws to entertain me rather than delivering the value I had literally bought and paid for.

If you want to up your docs gameā€¦

Pay attention to the promises your docs are making, and evaluate whether they keep that promise:

  • do getting started instructions have all the key steps that someone new to your project needs
  • is your API reference easily scannable so someone can quickly look up a value and get back to building A broken promise is worse than no promise at all.

In conclusion, think of yourself as a HELPER. Someone who just happens to be helping in writing.

  • helpers donā€™t need to entertain or write beautiful stories
  • they need to make CLEAR, CORRECT information available. Ideally in such a way that readers can DISCOVER, and NAVIGATE it. (CTRL+F is your friend!)

And The best help is CONTEXTUAL: it is FOR someone who is trying to DO something specific.

  • this person may also not be in the greatest state to RECIEVE help, but they need it.
  • donā€™t overwhelm. Less is always more.
  • You can probably improve your docs RIGHT NOW by deleting, not writing more!
    • delete words like ā€œshouldā€; delete outdated or unmaintained docs, even if you canā€™t yet replace them; delete entire pages if you are afraid people wonā€™t find them, and put everything on one page if you need to!

A shiny black and purple grackle amid the words Don't write, help: clear & correct; discoverable; navigable; contextual; for someone; to do something; less is more

I hope Iā€™ve been able to help you feel a little more comfortable helping your readers through your docs!

References and Resources