Skip to content

Commit c53ce4d

Browse files
committed
Write content guidelines
1 parent d585cf5 commit c53ce4d

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
This document is here to help us assess what we should include in the official
2+
documentation. Below, you will find a couple of principles and recommendations
3+
to write accessible content.
4+
5+
We want to achieve two goals:
6+
7+
1. **Empathize with our users**. We should write in a way that makes it easy for
8+
them to learn from the docs.
9+
2. **Write a complete reference manual**. Our goal here is not to teach
10+
programming foundations. Instead, we should provide a reference for how
11+
Godot’s features work.
12+
13+
Guidelines and principles
14+
-------------------------
15+
16+
Below are the guidelines we should strive to follow. They are not hard rules,
17+
though: exceptionally, a topic will require breaking one or more of these.
18+
Still, we should strive to achieve the two goals listed above.
19+
20+
Writing complete and accessible documentation
21+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22+
23+
**A feature doesn’t exist unless it is documented**. If a user can’t find
24+
information about a feature and how it works, it doesn’t exist to them. We
25+
should ensure that we cover everything Godot does.
26+
27+
.. note::
28+
29+
When adding or updating an engine feature, the documentation team needs to
30+
know about it. Contributors should open an issue on the godot-docs repository
31+
when their work gets merged and requires documentation.
32+
33+
Do your best to keep documents **under 1000 words in length**. If a page goes
34+
past that threshold, consider splitting it into two parts, if possible. Limiting
35+
page size forces us to write concisely and to break large documents so they each
36+
focus on a particular problem.
37+
38+
Make it clear what **problem** each page or section of a page tackles and what
39+
the user will learn from it. Users need to know if they’re reading the correct
40+
guide to solving problems they encounter. For example, instead of writing the
41+
heading “Signals”, consider writing “Reacting to changes in another object with
42+
signals”. While a bit long, the second title makes it clear what is the purpose
43+
of signals.
44+
45+
If the page assumes specific knowledge of other Godot features, mention it and
46+
link it to the corresponding documentation. For instance, a page about physics
47+
may use signals, in which case we could note that the page that introduces
48+
signals is a pre-requisite.
49+
50+
Limiting cognitive load
51+
~~~~~~~~~~~~~~~~~~~~~~~
52+
53+
Limit the cognitive load required to read the documentation. The simpler and
54+
more explicit language we use, the more efficient it becomes for people to
55+
learn. You can do so by:
56+
57+
1. Introducing only one new concept at a time whenever possible.
58+
2. Using simple English, as we recommend in our writing guidelines.
59+
3. Include one or more **concrete usage examples**. Prefer a real-world example
60+
to abstract code like ``foobar``.
61+
62+
While many persons may understand more complex language and abstract examples,
63+
you will lose others. Also, understandable writing and practical examples
64+
benefit everyone.
65+
66+
Always make an effort to **put yourself in the users’ shoes**. When we
67+
understand something thoroughly, it becomes evident to us. We may fail to think
68+
about details relevant to a newcomer. But **good documentation meets users where
69+
they are**. We should strive to explain each feature’s capabilities or intended
70+
uses with the most straightforward language possible.
71+
72+
Try to remember what you first needed to know when learning about the feature or
73+
concept. What new terms did you need to learn? What confused you? What was the
74+
hardest to grasp? You will want users to review your work, and we recommend you
75+
train to explain the feature before writing about it.
76+
77+
.. note::
78+
79+
This principle does not mean we have to assume no prior programming
80+
experience throughout the documentation. Having programming foundations is a
81+
pre-requisite to use a complex engine like Godot. Talking about variables,
82+
functions, or classes is acceptable. But we should favor plain language over
83+
specific terminology like "metaprogramming". If you need to use precise
84+
terms, be sure to define them.
85+
86+
When a page assumes knowledge of another engine feature, declare it at the
87+
beginning and link to resources that cover what users need. You may also link to
88+
other websites for pre-requisites beyond the documentation’s scope. For example,
89+
you could link to an intro to programming in the getting started guide or a
90+
website that teaches math theory in the math section.

0 commit comments

Comments
 (0)