Instead of:
This class is named after my great uncle who enjoyed Gulliver's Travels. His favourite story was the Lilliputians, because he thought that little people could do great things, despite how small they were. This is only a small class, but it does great things. You can use it to change the display of the widgets on the webpage.
Use:
Use the Lilliput class to change the widgets on the webpage. [Lead in to a procedure]
or
The Liliput class is used to change the widgets on a webpage. [Incidental contextual information, where the Liliput class is related to what follows, but is not the main focus]
Why:
Readers approach documentation from a place of uncertainty and confusion. They are looking for clarity and direction. Documentation that presents multiple streams of thought and excessive amounts of information quickly overloads the reader, and increases their sense of confusion and uncertainty. Giving the reader the information necessary, in clearly defined and digestible chunks, allows the reader to have a "mastery experience". A mastery experience is where the reader goes from a state of uncertainty to a state of increased certainty and knowledge. This state change creates positive feedback, which increases a reader's ability to digest more information. If the reader is overwhelmed with too much information their ability to assimilate new information decreases.
The goal is to decrease the reader's uncertainty and increase their sense of mastery of the material and their practical effectiveness.
Instead of:
You will need to turn on the computer. You will need to do this by pressing the 'On' button. This will send power to the necessary circuits and start the code that will make the computer run. It has lots of different parts -- including memory, a hard disk, a modem, and more -- that work together. "General purpose" means that you can do many different things with a PC. You can use it to type documents, send e-mail, browse the Internet and play games.
Use:
Turn on the computer. For further information refer to <appendix one>.
Instead of:
Procedure: Booting the computer from the network
1. Turn on the computer.
2. Continuously press F12. On some computers, there is a different button you can press. This button will probably be located on the front of the keyboard device. On the T500 Thinkpad, you can use the ThinkVantage button. This is located to the left of the keyboard.
3. A boot options menu will present. Choose the PXE boot option. You can sometimes choose some of the options if you are confident in installing Fedora.
Use:
Procedure: Booting the computer from the network
1. Turn on the computer.
2. Press the F12 key when prompted.
Result: The boot options menu appears.
3. Choose the PXE boot option.
Result: The computer boots from the network.
<Appendix three> describes further boot options.
Instead of:
The sky is a reflection of light off the water. This creates a blue hue that has been described as blue, baby blue, powder blue, and others, but can look different depending upon the weather and other environmental factors. It may also appear a different shade of blue depending upon a person's individual perception of that colour. Blue is made up of different colours, which are all part of the colour wheel.
Use:
The sky is blue because of reflection from water on the Earth's surface.
Instead of:
If you are caught in a storm, you may want to take shelter. You must not shelter under a tree, or this could fall on you. You should take shelter under a steady cover such as a house or awning.
Use:
Take shelter under a stable structure if caught in a storm. Avoid low-lying areas prone to flooding.
Here is a paragraph from the Weld documentation:
The reason the same artifact can be deployed to both JBoss AS and GlassFish, without any modifications, is because of all the features being used are part of the standard platform. And what a capable platform it has become!
This sentence loses nothing if the last sentence is removed, and you will gain more credibility by being understated.
Do not rant.
On the other hand, don't be scared to use session beans just because you've heard your friends say they're "heavyweight". It's nothing more than superstition to think that something is "heavier" just because it's hosted natively within the Java EE container, instead of by a proprietary bean container or dependency injection framework that runs as an additional layer of obfuscation. And as a general principle, you should be skeptical of folks who use vaguely defined terminology like "heavyweight".
This entire paragraph can be removed from the text without losing anything.
"You control widgets with sprockets. Sprockets
are imaginary things made in
factories."
Here as an example of a place where a list eases readability, from the CXF User Guide.
Instead of:
CXF supports a variety of web service standards including SOAP, the WS-I Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy, WS-SecureConverstation, and WS-Trust (partial).
Use:
CXF supports a variety of web service standards including:
- SOAP
- The WS-I Basic Profile
- WSDL
- WS-Addressing
- WS-Policy
- WS-ReliableMessaging
- WS-Security
- WS-SecurityPolicy
- WS-SecureConversation
- WS-Trust (partial).
See the JBoss Microcontainer Guide for an example, available here: http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/5/html/JBoss_Microcontainer_User_Guide/index.html
They don't have to be as involved as a full scenario as above, but small case studies help more than, "Do this to configure your network." Here is an example of a smaller real world scenario from the Transactions_XTS_Administration_And_Development_Guide for EAP 6:
References
Hopefully, most of the references are in your Javadoc, where
developers expect to find them.
References for command-line tools should really be in their
--help option.
Hopefully, users don't have to look in documentation for
reference material at all.
If they do, make it useful and intuitive to navigate. Tables,
lists, etc.