SlideShare a Scribd company logo
1 of 32
Download to read offline
Documentation: get it right!

ApacheCon Europe 2009
Amsterdam


                        Niels van Kampenhout
                                        “Doctator”
                                             Hippo
                           Amsterdam/San Francisco
About me

My name is Niels van Kampenhout
I work for Hippo
My responsibilities include documentation
and training
I am a typical “user” within Apache
This talk

   A user's perspective on documentation
   within Apache
   General observations
   How I think documentation should be
   done
   Not a writing course




03/25/09                                                  3
                   Documentation: get it right!
Me and documentation

   I'm not really a technical writer
   I kind of became one by chance
   Common sense, trial and error
   I train people to use Apache software
       I see how these people approach open
       source software




03/25/09                                           4
                   Documentation: get it right!
Open source and documentation

   Bad reputation
   It may not be that bad...
   ... but there is definitely room for
   improvement!




03/25/09                                         5
                  Documentation: get it right!
Why good documentation is important

   Adoption
   “Non open source people” have certain
   expectations




03/25/09                                           6
                    Documentation: get it right!
Documentation within Apache

   Is it really that bad?
   There is a lot of documentation, but...
       Focus on developers
       Inconsistent
       Fragmented
   Folks outside Apache expect something
   more coherent, more guiding



03/25/09                                             7
                      Documentation: get it right!
The excuses

   It's open source, read the code!
   I don't have time to write
   documentation!
   I hate Xdoc/JSPWiki/...
   We have documentation, stop
   complaining!
   We won't sell any training courses!


03/25/09                                                   8
                  Documentation: get it right!
The real reasons

   Developers are generally not good
   documentation writers
   They're deep in code, find it difficult
   to step back to get an overview
   They're perfectionists
   Their talent is in coding, not in writing
   documentation


03/25/09                                               9
                Documentation: get it right!
The real reasons

   Writing documentation is not sexy
   Why write documentation if you can fix
   a bug or implement a new feature?




03/25/09                                              10
               Documentation: get it right!
The real reasons

   Fragmentation
       Mailing lists
       Wikis
       Subprojects
   For an outsider it is hard to get an
   overview




03/25/09                                                      11
                       Documentation: get it right!
What can we do about it?

   Take a step back




03/25/09                                      12
               Documentation: get it right!
Be realistic

   Don't expect developers to write good
   documentation




03/25/09                                                 13
               Documentation: get it right!
Divide and conquer

   Make one person responsible for
   documentation (the “doctator”)
   Doctator has overview, organizes
   Relieve (other) developers from
   writing, just let them write down




03/25/09                                           14
               Documentation: get it right!
Embrace your users

   Users are often the best people to
   write user documentation
   They know what they want to achieve
   with your software
   There's a whole user list of them!




03/25/09                                           15
               Documentation: get it right!
Embrace your users

   Make use of your community
   Encourage users to contribute
   documentation
   Guide documentation writing users
   towards committership




03/25/09                                           16
               Documentation: get it right!
Embrace your users

   Have the right attitude towards your
   users
   “RTFM” ?
       Review The F***ing Manual!
   “We do this in our own time”
       Users do it in their own time too you
       know!



03/25/09                                               17
                   Documentation: get it right!
Organizing your documentation

   Think about who will use your software,
   and what they want to achieve with it
   Write for a target audience
   Write to let the reader achieve
   something
   Validate your assumptions, ask your
   users!


03/25/09                                        18
                 Documentation: get it right!
Cater to your users

   Provide different tracks for different
   users and different goals
   Think about what to put in a track ...
   ... and what to leave out
   Tracks can share content
   But be careful not to let a user end
   up in a different track


03/25/09                                          19
               Documentation: get it right!
Provide introductory documentation

   Introduce the reader to your project
   Describe in a few sentences what it is
   State what problem it is meant to solve
   Try to avoid acronyms, jargon
   A picture is worth a thousand words




03/25/09                                         20
                  Documentation: get it right!
Give your readers some context

   What do they need to know?
   What are they going to achieve?
   Where should they go next?
   Don't expect your readers to start on
   the homepage / table of contents




03/25/09                                      21
               Documentation: get it right!
Respect your readers

   Your readers are smart people
   Don't force them to read what they
   don't need to know
   Don't talk to them as if they're
   children
   Imagine yourself in the reader's place




03/25/09                                       22
               Documentation: get it right!
Think about the Big Picture

   Don't only look at your project
   Be conservative in referring to other
   projects' documentation
   Try not to fragment your
   documentation




03/25/09                                      23
               Documentation: get it right!
Examples Examples Examples!

   Use lots of examples
   But make sure readers can easily
   reproduce them




03/25/09                                      24
               Documentation: get it right!
Screenshots

   Screenshots should clarify, not distract!
   Leave out irrelevant stuff
   Use consistent resolution and theme
   Use consistent language settings
   Set up a VM with default OS/browser
   settings




03/25/09                                                 25
                Documentation: get it right!
Reference guide

   Provide a reference guide
   Glossary, concepts, fundamentals, syntax
   Complements “howto” style guides
   Refer to/from tutorials and examples




03/25/09                                                26
                Documentation: get it right!
Be specific about versions

   Always mention what version this
   documentation applies to
   Never refer to a version as “latest” or
   “current”
   Screenshots should reflect the version
   the documentation applies to




03/25/09                                       27
                Documentation: get it right!
Test the documentation

   Try it out yourself, you might be
   surprised!
   Even better, have others test it
   Do it frequently, at least before each
   release




03/25/09                                       28
                Documentation: get it right!
Watch out for outdated documentation

   Take outdated docs offline until they
   are updated
   Or update them right away!
   Leaving outdated docs online will
   bounce back to you




03/25/09                                            29
                     Documentation: get it right!
About documentation tools

   The tools you use should not be an
   excuse not to write documentation
   Wikis are great for initial ideas and
   user contributions, but they should be
   maintained
   Ultimately you will want a CMS




03/25/09                                       30
                Documentation: get it right!
The devil is in the details

   Consistency
       Terminology
       Screenshots
   Completeness
       If your give code examples, make sure
       readers know what to do with them
       Test for dead links



03/25/09                                            31
                     Documentation: get it right!
Conclusion

   Producing decent documentation is not
   rocket science
   It just takes a lot of time
   But it's worth the effort
       Happy users -> Adoption
       User involvement
       Healthy community



03/25/09                                                   32
                   Documentation: get it right!

More Related Content

Similar to Documentation: get it right! (ApacheCon EU 2009)

Karonis Rom Telecom
Karonis Rom TelecomKaronis Rom Telecom
Karonis Rom Telecom
knowhowgr
 
An overview of my PhD research
An overview of my PhD researchAn overview of my PhD research
An overview of my PhD research
Felienne Hermans
 
Blog presentation ccl & 20 tips
Blog presentation ccl & 20 tipsBlog presentation ccl & 20 tips
Blog presentation ccl & 20 tips
teachleaders
 
Diversity Project KickoffYour Name Capella Universit.docx
Diversity Project KickoffYour Name Capella Universit.docxDiversity Project KickoffYour Name Capella Universit.docx
Diversity Project KickoffYour Name Capella Universit.docx
pauline234567
 

Similar to Documentation: get it right! (ApacheCon EU 2009) (20)

API design
API designAPI design
API design
 
ApiDesign
ApiDesignApiDesign
ApiDesign
 
Swiftmailer
SwiftmailerSwiftmailer
Swiftmailer
 
Ad505 dev blast
Ad505 dev blastAd505 dev blast
Ad505 dev blast
 
Scilabpdf
ScilabpdfScilabpdf
Scilabpdf
 
C# and java comparing programming languages
C# and java  comparing programming languagesC# and java  comparing programming languages
C# and java comparing programming languages
 
Note Taking Applications for Mac Users [2010]
Note Taking Applications for Mac Users [2010]Note Taking Applications for Mac Users [2010]
Note Taking Applications for Mac Users [2010]
 
Karonis Rom Telecom
Karonis Rom TelecomKaronis Rom Telecom
Karonis Rom Telecom
 
Don't Ship That Container - Dirk Hohndel
Don't Ship That Container - Dirk HohndelDon't Ship That Container - Dirk Hohndel
Don't Ship That Container - Dirk Hohndel
 
An overview of my PhD research
An overview of my PhD researchAn overview of my PhD research
An overview of my PhD research
 
Scilab for real dummies
Scilab for real dummiesScilab for real dummies
Scilab for real dummies
 
Blog presentation ccl & 20 tips
Blog presentation ccl & 20 tipsBlog presentation ccl & 20 tips
Blog presentation ccl & 20 tips
 
Creative Commons License and 20 tips about how to do a good presentation
Creative Commons License and 20 tips about how to do a good presentationCreative Commons License and 20 tips about how to do a good presentation
Creative Commons License and 20 tips about how to do a good presentation
 
How to use Creative Commons Licences and tips for a good presentation
How to use Creative Commons Licences and tips for a good presentationHow to use Creative Commons Licences and tips for a good presentation
How to use Creative Commons Licences and tips for a good presentation
 
Csharp tp
Csharp tpCsharp tp
Csharp tp
 
Banfootguns devseccon 2019
Banfootguns devseccon 2019Banfootguns devseccon 2019
Banfootguns devseccon 2019
 
Diversity Project KickoffYour Name Capella Universit.docx
Diversity Project KickoffYour Name Capella Universit.docxDiversity Project KickoffYour Name Capella Universit.docx
Diversity Project KickoffYour Name Capella Universit.docx
 
Ijet Talk
Ijet TalkIjet Talk
Ijet Talk
 
Kiss the end-user goodbye
Kiss the end-user goodbyeKiss the end-user goodbye
Kiss the end-user goodbye
 
Design Prototyping
Design PrototypingDesign Prototyping
Design Prototyping
 

Recently uploaded

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Documentation: get it right! (ApacheCon EU 2009)

  • 1. Documentation: get it right! ApacheCon Europe 2009 Amsterdam Niels van Kampenhout “Doctator” Hippo Amsterdam/San Francisco
  • 2. About me My name is Niels van Kampenhout I work for Hippo My responsibilities include documentation and training I am a typical “user” within Apache
  • 3. This talk A user's perspective on documentation within Apache General observations How I think documentation should be done Not a writing course 03/25/09 3 Documentation: get it right!
  • 4. Me and documentation I'm not really a technical writer I kind of became one by chance Common sense, trial and error I train people to use Apache software I see how these people approach open source software 03/25/09 4 Documentation: get it right!
  • 5. Open source and documentation Bad reputation It may not be that bad... ... but there is definitely room for improvement! 03/25/09 5 Documentation: get it right!
  • 6. Why good documentation is important Adoption “Non open source people” have certain expectations 03/25/09 6 Documentation: get it right!
  • 7. Documentation within Apache Is it really that bad? There is a lot of documentation, but... Focus on developers Inconsistent Fragmented Folks outside Apache expect something more coherent, more guiding 03/25/09 7 Documentation: get it right!
  • 8. The excuses It's open source, read the code! I don't have time to write documentation! I hate Xdoc/JSPWiki/... We have documentation, stop complaining! We won't sell any training courses! 03/25/09 8 Documentation: get it right!
  • 9. The real reasons Developers are generally not good documentation writers They're deep in code, find it difficult to step back to get an overview They're perfectionists Their talent is in coding, not in writing documentation 03/25/09 9 Documentation: get it right!
  • 10. The real reasons Writing documentation is not sexy Why write documentation if you can fix a bug or implement a new feature? 03/25/09 10 Documentation: get it right!
  • 11. The real reasons Fragmentation Mailing lists Wikis Subprojects For an outsider it is hard to get an overview 03/25/09 11 Documentation: get it right!
  • 12. What can we do about it? Take a step back 03/25/09 12 Documentation: get it right!
  • 13. Be realistic Don't expect developers to write good documentation 03/25/09 13 Documentation: get it right!
  • 14. Divide and conquer Make one person responsible for documentation (the “doctator”) Doctator has overview, organizes Relieve (other) developers from writing, just let them write down 03/25/09 14 Documentation: get it right!
  • 15. Embrace your users Users are often the best people to write user documentation They know what they want to achieve with your software There's a whole user list of them! 03/25/09 15 Documentation: get it right!
  • 16. Embrace your users Make use of your community Encourage users to contribute documentation Guide documentation writing users towards committership 03/25/09 16 Documentation: get it right!
  • 17. Embrace your users Have the right attitude towards your users “RTFM” ? Review The F***ing Manual! “We do this in our own time” Users do it in their own time too you know! 03/25/09 17 Documentation: get it right!
  • 18. Organizing your documentation Think about who will use your software, and what they want to achieve with it Write for a target audience Write to let the reader achieve something Validate your assumptions, ask your users! 03/25/09 18 Documentation: get it right!
  • 19. Cater to your users Provide different tracks for different users and different goals Think about what to put in a track ... ... and what to leave out Tracks can share content But be careful not to let a user end up in a different track 03/25/09 19 Documentation: get it right!
  • 20. Provide introductory documentation Introduce the reader to your project Describe in a few sentences what it is State what problem it is meant to solve Try to avoid acronyms, jargon A picture is worth a thousand words 03/25/09 20 Documentation: get it right!
  • 21. Give your readers some context What do they need to know? What are they going to achieve? Where should they go next? Don't expect your readers to start on the homepage / table of contents 03/25/09 21 Documentation: get it right!
  • 22. Respect your readers Your readers are smart people Don't force them to read what they don't need to know Don't talk to them as if they're children Imagine yourself in the reader's place 03/25/09 22 Documentation: get it right!
  • 23. Think about the Big Picture Don't only look at your project Be conservative in referring to other projects' documentation Try not to fragment your documentation 03/25/09 23 Documentation: get it right!
  • 24. Examples Examples Examples! Use lots of examples But make sure readers can easily reproduce them 03/25/09 24 Documentation: get it right!
  • 25. Screenshots Screenshots should clarify, not distract! Leave out irrelevant stuff Use consistent resolution and theme Use consistent language settings Set up a VM with default OS/browser settings 03/25/09 25 Documentation: get it right!
  • 26. Reference guide Provide a reference guide Glossary, concepts, fundamentals, syntax Complements “howto” style guides Refer to/from tutorials and examples 03/25/09 26 Documentation: get it right!
  • 27. Be specific about versions Always mention what version this documentation applies to Never refer to a version as “latest” or “current” Screenshots should reflect the version the documentation applies to 03/25/09 27 Documentation: get it right!
  • 28. Test the documentation Try it out yourself, you might be surprised! Even better, have others test it Do it frequently, at least before each release 03/25/09 28 Documentation: get it right!
  • 29. Watch out for outdated documentation Take outdated docs offline until they are updated Or update them right away! Leaving outdated docs online will bounce back to you 03/25/09 29 Documentation: get it right!
  • 30. About documentation tools The tools you use should not be an excuse not to write documentation Wikis are great for initial ideas and user contributions, but they should be maintained Ultimately you will want a CMS 03/25/09 30 Documentation: get it right!
  • 31. The devil is in the details Consistency Terminology Screenshots Completeness If your give code examples, make sure readers know what to do with them Test for dead links 03/25/09 31 Documentation: get it right!
  • 32. Conclusion Producing decent documentation is not rocket science It just takes a lot of time But it's worth the effort Happy users -> Adoption User involvement Healthy community 03/25/09 32 Documentation: get it right!