7 More Brain Hacks to Write Fluently

Dan AllenOpenDevise

Offload your thoughts

= Documentation Collaboration: Offload
:hardbreaks:

collaborating is a pain
leads to frustration with a capital F
sharing files over email is tedious, imprecise, inefficient
author/accountability lost
edits must be manually evaluated/reviewed
integration into the final document :-/
tools don't provide versioning and merging
group can't see who's working on the files
files get out of sync
what changed?
versions diverge => merge nightmare (>_<)
deciding to buy and install CMS
...
= Better Collaboration Leads to Better Docs
Sarah White
v1.0.0

Why is it so difficult to collaborate on documentation?
We believe it's because collaboration procedures are often accidental.
Managing collaboration as a core requirement leads to a better content workflow.

== Traditional file sharing is tedious, imprecise & inefficient

When a team uses tools that don't provide versioning and merging to collaborate on documentation, the team members can't see who is working on the files, the files get out of sync, authorship and accountability are lost, and edits have to be manually evaluated and integrated into the final document.

When the body of documentation becomes too difficult to manage using these informal methods, many businesses decide to buy a content management system (CMS).
However, a CMS is typically expensive, requires a lot of special knowledge and training, may not integrate with the publishing and distribution platforms the business uses, and can be difficult to customize to the team's workflow.
Additionally, a CMS still may not provide a solution for all of the team's collaboration requirements, uses, or tasks.

== A CMS isn't a silver bullet solution

CMSs are typically expensive and monolithic.
They may be good at providing a workflow but they may not assign authorship to integrated content, they may let people edit but not leave notes, they may make editing in situ impossible, they may not track analytics, they may not provide indexes that allows content to be tagged, easily found and used in other outputs, they may not track where the content is being used and offer suggestions or warnings about its state to writers, editors, managers and users.
And due to their inflexibility, it is difficult to customize the CMS to the team's desired specifications which means they will still have to use other tools to complete their work.
Additionally, subject matter experts (SMEs) and other collaborators not directly writing the documentation may find the CMS a barrier to entry due to security protocols or the inability to use the CMS without extensive training.

== It's a problem when SMEs can't access the CMS or use it well

If all of the people needed to create and write quality documentation do not have access to the CMS, the team will still suffer from the same frustrations of an email, non-version, non-merge system as well as inefficiency and ineffectiveness caused by a CMS that doesn't adequately match the documentation and business requirements of the writing team.

== Collaboration on documentation is business requirement

An easy to learn, use and manage collaboration system is a business requirement because if all of the people who need to be involved in the planning, drafting and finalization of the the documentation content can't work together efficiently and accurately they'll become disengaged and frustrated.

In turn, these difficulties and the feelings they cause will impact the quality of the content (inaccurate information, out-of-date information, poorly organized and written content, incomplete content) which will make people even less likely to work on it or use it.
Poor quality documentation directly impacts the adoption of the company's software, and then its reputation and success.

== Takeaway

Putting in place all of the documentation team's collaboration requirements without undo complexity and with respect to how the team works leads to quality content.
Each person who touches the content feels relaxed, secure and engaged in the creation process.
...

Fill in the blanks

= Q: What is the project's name?

//Q: Why does this project exist?

== Q: What do I need to get started?

== Q: How do I install it?

== Q: Can you show me how it's used?

== Q: How do I contribute?

== Q: Who wrote it? What's the license?
= ACME Widget Factory

This project is a software library for building widgets.

== Prerequisites

== Installation

== Usage

== How to Contribute

== About this Project
ex content macro
== How to complete this guide

To *start from scratch*, move on to <<scratch>>.
To *skip the basics*, do the following:

* https://github.com/spring-guides/{project_id}/archive/master.zip[Download] and unzip the source repository for this guide, or clone it using git:

  $ git clone https://github.com/spring-guides/{project_id}.git

* cd into `{project_id}{initial}`
* Jump ahead to <<initial>>.

*When you're finished*, you can check your results against the code in `{project_id}{complete}`.
= Building an Application with Spring Boot
:project_id: gs-spring-boot
:java_version: 1.8
:uri-content-macros: https://raw.githubusercontent.com/spring-guides/getting-started-macros/master
:initial: /initial
:complete: /complete

== What You'll Need

include::{uri-content-macros}/how_to_complete_this_guide.adoc[]

Remove the clutter

= Write Without Clutter
Author Name <author@example.org>

A brief introduction.

== AsciiDoc in a Nutshell

* Text editor
* Version control system

[source,ruby]
Asciidoctor.convert_file 'example.adoc', safe: :safe

image::screenshot-01.png[Screenshot]

== Conclusion

"`That's all, folks!`"
[[_getting_started]]
Getting Started
---------------

Connecting to another machine using [app]*ssh* is *easy*. If the [component]*remote machine* is [address]_example.com_ and your [field]*username* is [input]_john_, type [command]`ssh \john@example.com`.

[id="attributes", role="reference", options="header,autowidth"]
|==============================================================
| Name | Description
| id   | Unique identifier
| role | General classifier
|==============================================================
​
== Getting Started


Connecting to another machine using [app]#ssh# is easy. If the remote machine is example.com and your username is _john_, type `ssh \john@example.com`.


[#attributes.reference%autowidth]
|===
| Name | Description

| id   | Unique identifier
| role | General classifier
|===

Keep your fingers moving

vim logo

Step out and take a hike

It was easier to think if I was walking and doing something.

Ernest Hemingway

The moment my legs begin to move, my thoughts begin to flow.

Henry David Thoreau

All truly great thoughts are conceived by walking.

Friedrich Nietzsche

I have walked myself into my best thoughts.

Soren Kierkegaard

Push to publish

Make progress every day

construction time lapse
heatmap

Write fluently!

Image Credits