Documentation Icon

Documentation

Documentation is a set of information that describes a product to its users.
40 Stories
All Topics

Shahed Nasser medusajs.com

How we improved our documentation

Shahed Nasser shares how she and the technical writing team at Medusa went about improving their docs:

The most essential change that helped us implement all improvements is how we manage the documentation. In most software companies, documentation has less of a priority compared to the software, and it is handled as an afterthought.

At Medusa, we early on came to realize that documentation is what can actually drive further adoption of Medusa.

There’s a lot to learn from their process that you can apply to your own, but I think the biggest winner Shahed shares is the mindset change of thinking about documentation itself as a product, not as something that augments or attaches to the product.

Documentation jiby.tech

Literate programming Wordle

I’ve long been fascinated by literate programming (the art of writing code as if it was a novel), but it’s been awhile since I’ve seen a good example of in practice. Here’s a good one:

I wanted to showcase the BDD-inspired low-tech solution I came up with via a toy project, demonstrating a small but significant programming task, broken down as series of design-implementation cycles.

Wordle is a perfect target: it’s a small codebase, with a half dozen features to string together into a useable game.

This story has five chapters and a satisfying conclusion:

This project was my first foray into literate programming at this scale, an attempt to bring together all the good ideas of TDD, modern Python development, Gherkin usage for requirements traceability purposes (without overly zealous extremes of Cucumber automation). All these ideas were until now scattered, implemented each without the others in different places, and this project fuses them into something I hope is more valuable than the sum of its parts.

The New Stack Icon The New Stack

Literate programming might help you write better code

Solid piece on literate programming by Richard Gall for The New Stack. My foremost exposure to the practice came from Jeremy Ashkenas’ CoffeeScript and Backbone.js docs. I always found it cool and useful to read, but couldn’t imagine myself writing code/docs that way. Which brings us to this bit at the end of the article:

“One of the things we learned is that it’s very expensive,” he said. “And so you spend time trying to figure out what sort of situations justify the expense. And one of them is where people are building relatively small, sophisticated kernels that are going to be shared widely.”

Seems like Jeremy’s use case drilled it. If you’re mostly writing application code, literate programming probably isn’t worth the headache, but for library/framework authors…

Kathy Korevec Medium (via Scribe)

Maybe it’s time we re-think docs

Kathy Korevec has been putting a lot of thought into documentation as part of her work at GitHub:

Wouldn’t it be great if the docs knew that you were writing a Python app on a Windows machine and that you preferred watching videos instead of reading through text? I want you to find the answer to your questions in the docs, easily and efficiently. When you’re stuck on a problem and you turn to the docs, there’s a moment of magic as you find the solution, try it out and it works. In that moment you become unblocked, you learn something new and you can move on to keep building your application.

In this post, she outlines 10 guiding principles she developed after speaking with hundreds of developers about their struggles with documentation. She then shares how she’s putting those principles into action in/around GitHub. Good stuff.

Documentation matklad.github.io

Why you should have an ARCHITECTURE.md

If you maintain an open-source project in the range of 10k-200k lines of code, I strongly encourage you to add an ARCHITECTURE document next to README and CONTRIBUTING. Before going into the details of why and how, I want to emphasize that this is not another “docs are good, write more docs” advice. I am pretty sloppy about documentation, and, eg, I often use just “simplify” as a commit message. Nonetheless, I feel strongly about the issue, even to the point of pestering you:-)

The author points to rust-analyzer as a good example.

Documentation opencollective.com

Introducing Open Web Docs

I dig this effort to decouple web documentation from a “single vendor or organization.” 👏

Open Web Docs was created to ensure the long-term health of web platform documentation on de facto standard resources like MDN Web Docs, independently of any single vendor or organization. Through full-time staff, community management, and our network of partner organizations, we enable these resources to better maintain and sustain documentation of core web platform technologies. Rather than create new documentation sites, Open Web Docs is committed to improving existing platforms through our contributions.

Wanna get involved? Check out the high-level goals they have laid out.

Zeke Sikelianos github.blog

How we open sourced docs.github.com

GitHub open sourced this long-lived private project. Learn about the why and how in this post…

Last week we open sourced all of GitHub’s product documentation, along with the Node.js web application that powers it. Check out our new public repository at github.com/github/docs.

This post tells the story of why we wanted to open source the docs, what tools we built and open sourced along the way, and how we worked to make the project welcoming to external contributors.

Rina Jensen Mozilla Hacks

An update on MDN Web Docs

Rina Jensen shares more details on the future of MDN Web Docs in this post on Mozilla Hacks.

First we want to be clear, MDN is not going away. The core engineering team will continue to run the MDN site and Mozilla will continue to develop the platform.

However, because of Mozilla’s restructuring, we have had to scale back our overall investment in developer outreach, including MDN. Our Co-Founder and CEO Mitchell Baker outlines the reasons why here. As a result, we will be pausing support for DevRel sponsorship, Hacks blog and Tech Speakers. The other areas we have had to scale back on staffing and programs include: Mozilla developer programs, developer events and advocacy, and our MDN tech writing.

Jon Evans The GitHub Blog

GitHub Arctic Code Vault's guide to the Tech Tree

Have you heard of the GitHub Arctic Code Vault? If not, the goal of GitHub Arctic Code Vault is to preserve open source software for future generations. Which means we need thorough docs describing how the world makes and uses software. Which I find completely fascinating!

From the GitHub Archive Program readme:

We are now also opening up the initial compilation of Tech Tree resources to community input. Inspired by the Long Now Foundation’s Manual for Civilization, the Tech Tree is a collection of technical works which document and explain the layers of technology on which today’s open-source software relies, along with works included to provide additional cultural context for the Arctic Code Vault.

From the Tech Tree readme:

What follows, which we call the Tech Tree, is a selection of works intended to describe how the world makes and uses software today, as well as an overview of how computers work and the foundational technologies required to make and use computers. The purpose of the GitHub Archive Program is to preserve open source software for future generations. This implies also preserving the knowledge of other technologies on which open-source software runs, along with a depiction of the open-source movement which brought this software into being.

Opensource.com Icon Opensource.com

5 tips for making documentation a priority in open source projects

1️⃣ Value contributions to documentation just as much as code contributions
2️⃣ Put documentation and code in the same project repo
3️⃣ Make documentation a requirement for a merge or release milestone
4️⃣ Have a consistent contribution process for code and documentation
5️⃣ Have well-documented processes for contributing to documentation

That’s the TL;DR, but each of these is expanded upon in the article.

Maarten Claes mcls.io

Encouraging a culture of written communication

Are you striving to create a culture of written comms? Maarten Claes writes…

More and more people are being exposed to working remotely. One of the key factors for success in a remote workplace is a culture of written communication. It’s not always obvious how to create such a culture, and it takes at least some level of discipline from the people involved to make it a habit.

I’ve worked with mostly remote teams over the past three years. Here are a few of my observations on what helped cultivate such a culture.

Documentation divio.com

What nobody tells you about documentation

This article starts out like a bit of false advertising:

It doesn’t matter how good your software is, because if the documentation is not good enough, people will not use it.

People tell us that about documentation all the time. Come on, now. Get to the good stuff!

In this article I will explain how you can make your documentation better, not by working harder at it, but by doing it the right way. The right way is the easier way - easier to write, and easier to maintain.

OK, I’m listening. I’m listening.

Documentation needs to include and be structured around its four different functions: tutorials, how-to guides, explanation and technical reference. Each of them requires a distinct mode of writing.

Pay dirt! 🙌

This is an absolute must-read on the four different kinds of docs and how to effectively execute on each.

Patrick Woods developermode.com

Building TwilioQuest from the ground up

Twilio uses a custom-made, 8-bit RPG game to teach developers their APIs, both online and at events like Superclass and Twilio Signal. Created by Kevin Whinnery, TwilioQuest is a premier example of how to educate developers without putting them to sleep.

“Younger generations of technologists […] have grown up collecting loot and gaining XP”

Increment Icon Increment

A primer on documentation content strategy

Do you have documentation? Do you have a documentation content strategy? No?!!

If you want to create guides for your software, having a solid content strategy can help you write useful content. This article will walk you through how to develop that strategy, whether you’re an engineer or a technical writer, new to writing documentation or just looking to get more strategic about it.

Dennis Reimann dennisreimann.de

UIengine 1.0 – a workbench for UI-driven development

Dennis Reimann:

The UIengine is a tool to build pattern libraries and documentation for design systems. It helps designer and developers to work closely together and offers features to boost their productivity.

Alternatives already exist in the ecosystem (Fractal, Storybook, etc). Why reinvent the wheel?

Most of the existing tools focussed on the component development, but lacked ways to also provide good documentation. Some were limited to using a specific templating language or framework, which was suboptimal for me: As a freelancer I am working on many projects and each one has its own set of constraints and requirements. I wanted to build a tool with an open source license, which I could use and extend with every project I work on.

Player art
  0:00 / 0:00