What to write in a great technical documentation?

We came across this article by Jacob Kaplan-Moss titled “What to write“. The article shares some great tips on writing great technical documentation. We’ve reproduced some parts of the article and summarized some main points below which we think would be the most useful for Mashapers.

Formats of a technical documentation

A well-documented project needs to provide many different forms of documentation. At a high level, you can break down the different types of technical documentation you need to provide into three different formats:

  1. Step-by-step tutorials,
  2. Overviews and topical guides to the various conceptual areas of your project, and
  3. Low-level, deep-dive reference material.
Mashape Technical Documentation Interface

Mashape gives you an easy way to write up your technical documentation


Good tutorials are a must as they’re usually the first thing someone sees when trying out a new piece of technology. A good tutorial should:

  • Be quick. A new user should be able to experience success within thirty minutes.
  • Be easy. Play-test the tutorial under all sorts of different circumstances, making sure that it always works so that the user can and will experience success at the end.
  • But not too easy. For users who are not qualified to use your project, they should fail quickly. Don’t get them through the tutorial only to run into a wall later on.
  • Not gloss over bad choices in the interest of expediency
  • Demonstrate how your project “feels” in the short and long term. Show off different areas of the project, and make the tutorial cross-sectional.

In the tutorial, the slope of the learning curve can be more gradual than later tasks. However, it should not be so easy so that things suddenly get much much harder after the tutorial is finished.

Topical Guides

Topical guides is the meat of the technical documentation as the user needs to dive into details of specific areas after they have learnt the high-level concepts from the tutorial.

The main goal for topic coverage should be comprehensiveness, with the reader coming away feeling that they know the majority of the possible options, and more importantly, how all the concepts fit together.

It needs to take a deep dive into specific areas, but does not need to cover every single configuration option or function argument (leave that for reference materials).

Reference Material

The reference material should contain all the public APIs your project provides. These should be designed for those who already know how to use some API, but need to look up the exact arguments some function takes, or how a particular setting influences behavior, etc. Reference materials are not substitutes for good tutorials and guides which provide high-level overviews. The reader needs to first know what they are looking for (through tutorials/ guides), before they can look for it (in reference materials). While guides give the “why” in a technical documentation, reference materials should give the “how”.



Mashape is the largest API hub in the world where you can consume, distribute, monitor and monetize your public and private APIs. Mashape powers 10,000 public & private APIs in every major industry, including finance, healthcare, and entertainment. We’re a Series A startup backed by Jeff Bezos (Amazon), Eric Schmidt (Google), Stanford University and top tier VC firms including Index Ventures, NEA and CRV.

Introducing API Glossary by Mashape

  When it comes to APIs, there’s a lot of jargon out there. The meaning of certain terms isn’t always obvious, and API providers sometimes use different ones to

Using Unirest (Java) for your Android projects

This post will show you how to get Unirest-java running on your Android projects.  Unirest is a lightweight HTTP client library with port available in many languages. This is a

Installing unirest-java with the Maven Assembly Plugin

Managing dependencies for your Java applications is difficult, unless you have Maven!  Maven is an Apache build manager for Java projects.  In this post, we will use a Maven

30+ ways to make REST calls in Node.js, PHP, Python, Rails, Obj-C, .NET, and Java / Android

Here’s a list of resources on how to make REST calls in different languages.  (We also have this list of 40+ tutorials on how to create an API in