Taking Documentation to the Next Level
in Young Software Projects
Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Do you contribute to documentation?






Have you created a web page, blog posting,
webinar, video, etc. about a software project?
Have you answered a question on a mailing list
or forum?

Have you asked a question on a mailing list or
forum?

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Structure of this talk
Problems of documentation in young software
projects

Some research into the use of mailing lists and
discussion forums







Comments about online Erlang documentation
Suggestions for developing more and better
documentation

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Documentation and the adoption curve

Innovators Early Adopters

Mainstream success

Documentation
needed

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media

Publishers (best case)

Decline

Publishers (worst case)
Documentation by the innovators
Software developers tend to write for other
people like themselves

Assume deep background knowledge that can
be transferred to their project

Elements of innovator documentation

Architectural justifications

Comparisons to other projects

Quick-starts

Reference material



Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Example: Riak documentation


Focuses on architecture



Useful to distinguish Riak from similar projects



But does not connect architecture to use cases
to make the information practical

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Early adopters arrive






They possess enough background to use
innovators' documentation
Consider documentation adequate
Promote project and generate enthusiasm that
draws other users

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Mainstream users arrive






Confused and alienated by the documentation
Desperately search for help, which may or may
not arrive
Leave project if not engaged and aided

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Research on mailing lists


Used on every project



Easy to quantify results



Every question reflects a failure at documentation
Perhaps the feature is undocumented

Perhaps the documentation could not be found

Perhaps the documentation didn't seem
relevant to the question


Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Questions asked about mailing lists


How many technical questions get answered?



How long does it take to get an answer?



How much noise is on the thread?

http://praxagora.com/andyo/professional/mailing_list/mailing_list.html
http://www.praxagora.com/andyo/professional/mailing_list_follow_up

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
How many questions were answered?
Unanswered
7
7
7
5

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media

Answered
Fedora Linux

7

Ubuntu Linux

7

Rails

7
Perl

9
So, are mailing lists effective?

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
How is Erlang documentation?
Erlang is in a lucky position

It is not a young project

It has been able to develop innumerable
training materials over the decades

Several publishers have released
professional books

Functional principles have spread
throughout the programming field

One must consider the whole information
ecosystem



Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Comments on erlang.org


Site is run by Ericsson



Potentially backed by lots of resources



But how much attention does the company
give it?

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Comments on erlang.org


Getting Started

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Assumptions in documentation


Reader understands the math



Reader understands the notion of recursion



Reader has seen factorials used as an example
of recursive programming

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Focusing on the code



Reader must be able to pick out “active ingredients”
in code

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Focusing on the executable code



Reader must determine when and why each
function runs

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Comments on erlang.org


An Erlang Course

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Questions left by course




Why does Erlang offer both tuples and lists?
Do tuples and lists work like they do in other
languages?

When do you use a tuple and when do you use
a list?

Other lapses in course: unexplained syntax, isolated
examples that don't build on each other, etc.


Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Comments on erlangcentral.org


Site run by the Industrial Erlang User Group



Points to wide range of documents and other sites



Solicits user contributions to wiki

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Criteria for evaluating documentation


Availability—does it exist at all?



Findability—can readers get answers?



Quality—accuracy, readability, relevance, etc.

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Availability—try crowdsourcing








Your developers don't have time to write
everything
Users have innate sympathy for other users
They'll generate content anyway, so you can
coordinate it intelligently
Give up on “One Ring to Rule Them All”

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Crowdsourcing has a history

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Models for crowdsourcing


Development and study of Talmud



Greek symposium

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Mobilizing users for documentation


Search for bloggers, contributors to forums



External motivations can encourage contributions



Access to developers is a motivation



Don't strive for unity—embrace multivocality



Let people use their own favorite media

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Availability—FLOSS Manuals

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Availability—FLOSS Manuals


Coordinate volunteers around the world



Create conventional books



Foster translations

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
FLOSS Manuals—sprints


Bring volunteers together in one space



Usually sponsored by an open source project



Google has hosted many documentation sprints

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Findability—more than a search engine


Add boxes for people to recommend documents



“Read before this document”



“Read after this document”



Long-term goal: spider creates recommended
paths through documents

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Quality—What's the ultimate goal?



After reading the document, can the reader
accomplish the task she set out to do?

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Quality—A/B testing






Attach a quiz to a document
As you rewrite the document, check how well
the readers can answer the quiz

Remember: a user experience encompasses more
than one document

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Summary






Documentation and training materials are crucial
to mainstream adoption of young projects
A serious need exists for better documentation
Invest special efforts to create documentation,
make it findable, and improve its quality

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
About me
@praxagora
andyo@oreilly.com
http://programming.oreilly.com/andyo

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media

More Related Content

PPTX
Reproducible Research in the Humanities
PPTX
Mitti ki mahima
PDF
Open Source for Nonprofits
PPTX
Sanskrit shlokas
PPT
Sanskrit Shabdarup, Ginti
PPTX
Symmetry
PDF
The Scope of Health Information Technology: Progress and Challenges
PPTX
8 ELEMENTS OF A GOOD PRESENTATION
Reproducible Research in the Humanities
Mitti ki mahima
Open Source for Nonprofits
Sanskrit shlokas
Sanskrit Shabdarup, Ginti
Symmetry
The Scope of Health Information Technology: Progress and Challenges
8 ELEMENTS OF A GOOD PRESENTATION

Viewers also liked (12)

PPTX
Forest, Our Lifeline
PPTX
Saints
PPTX
Mathematics Quiz Class 9
PPTX
History of Cricket
PPTX
Tenses (Basic Rules of Tenses)
PPTX
Freedom fighters’ slogans
PPTX
Integers
PPTX
Algebraic identities
PPTX
Atoms and Molecules
PPTX
CROP PRODUCTION AND MANAGEMENT
PPTX
SOIL CONSERVATION
PPTX
Paryavaran pradushan (hindi)- Pollution
Forest, Our Lifeline
Saints
Mathematics Quiz Class 9
History of Cricket
Tenses (Basic Rules of Tenses)
Freedom fighters’ slogans
Integers
Algebraic identities
Atoms and Molecules
CROP PRODUCTION AND MANAGEMENT
SOIL CONSERVATION
Paryavaran pradushan (hindi)- Pollution
Ad

Similar to Taking Documentation to the Next Level in Young Software Projects (20)

KEY
Write A Better FM - Ohio Linux 2011
KEY
Write a better FM
PDF
FunctionalConf '16 Robert Virding Erlang Ecosystem
PPT
Os Oram
PDF
The Ring programming language version 1.10 book - Part 7 of 212
PPTX
Docs as Part of the Product - Open Source Summit North America 2018
PDF
The Ring programming language version 1.2 book - Part 4 of 84
PDF
Ruby on Rails (RoR) as a back-end processor for Apex
PDF
The Ring programming language version 1.5.1 book - Part 4 of 180
PDF
The Ring programming language version 1.9 book - Part 6 of 210
PDF
Wherefore art thou Erlang?, OW2con'18, June 7-8, 2018, Paris
 
PDF
The Ring programming language version 1.6 book - Part 6 of 189
PDF
How to Run a Successful Open Source Java EE Project
PDF
Programming Erlang Software for a Concurrent World Second Edition Joe Armstrong
PPTX
Erlang os
PDF
The Ring programming language version 1.5.2 book - Part 5 of 181
PDF
The Ring programming language version 1.8 book - Part 7 of 202
PDF
The Ring programming language version 1.3 book - Part 4 of 88
PDF
The Ring programming language version 1.7 book - Part 6 of 196
PDF
Pycon Australia 2011 Keynote - Audrey Roy
Write A Better FM - Ohio Linux 2011
Write a better FM
FunctionalConf '16 Robert Virding Erlang Ecosystem
Os Oram
The Ring programming language version 1.10 book - Part 7 of 212
Docs as Part of the Product - Open Source Summit North America 2018
The Ring programming language version 1.2 book - Part 4 of 84
Ruby on Rails (RoR) as a back-end processor for Apex
The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.9 book - Part 6 of 210
Wherefore art thou Erlang?, OW2con'18, June 7-8, 2018, Paris
 
The Ring programming language version 1.6 book - Part 6 of 189
How to Run a Successful Open Source Java EE Project
Programming Erlang Software for a Concurrent World Second Edition Joe Armstrong
Erlang os
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.8 book - Part 7 of 202
The Ring programming language version 1.3 book - Part 4 of 88
The Ring programming language version 1.7 book - Part 6 of 196
Pycon Australia 2011 Keynote - Audrey Roy
Ad

Recently uploaded (20)

PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPTX
2018-HIPAA-Renewal-Training for executives
PDF
STKI Israel Market Study 2025 version august
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
Comparative analysis of machine learning models for fake news detection in so...
PDF
Architecture types and enterprise applications.pdf
PDF
Five Habits of High-Impact Board Members
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PPTX
Modernising the Digital Integration Hub
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
A review of recent deep learning applications in wood surface defect identifi...
Consumable AI The What, Why & How for Small Teams.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
2018-HIPAA-Renewal-Training for executives
STKI Israel Market Study 2025 version august
Taming the Chaos: How to Turn Unstructured Data into Decisions
NewMind AI Weekly Chronicles – August ’25 Week III
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Comparative analysis of machine learning models for fake news detection in so...
Architecture types and enterprise applications.pdf
Five Habits of High-Impact Board Members
Chapter 5: Probability Theory and Statistics
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
sustainability-14-14877-v2.pddhzftheheeeee
Convolutional neural network based encoder-decoder for efficient real-time ob...
OpenACC and Open Hackathons Monthly Highlights July 2025
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Modernising the Digital Integration Hub
Enhancing plagiarism detection using data pre-processing and machine learning...
A review of recent deep learning applications in wood surface defect identifi...

Taking Documentation to the Next Level in Young Software Projects

  • 1. Taking Documentation to the Next Level in Young Software Projects Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 2. Do you contribute to documentation?    Have you created a web page, blog posting, webinar, video, etc. about a software project? Have you answered a question on a mailing list or forum? Have you asked a question on a mailing list or forum? Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 3. Structure of this talk Problems of documentation in young software projects  Some research into the use of mailing lists and discussion forums    Comments about online Erlang documentation Suggestions for developing more and better documentation Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 4. Documentation and the adoption curve Innovators Early Adopters Mainstream success Documentation needed Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media Publishers (best case) Decline Publishers (worst case)
  • 5. Documentation by the innovators Software developers tend to write for other people like themselves  Assume deep background knowledge that can be transferred to their project  Elements of innovator documentation  Architectural justifications  Comparisons to other projects  Quick-starts  Reference material  Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 6. Example: Riak documentation  Focuses on architecture  Useful to distinguish Riak from similar projects  But does not connect architecture to use cases to make the information practical Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 7. Early adopters arrive    They possess enough background to use innovators' documentation Consider documentation adequate Promote project and generate enthusiasm that draws other users Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 8. Mainstream users arrive    Confused and alienated by the documentation Desperately search for help, which may or may not arrive Leave project if not engaged and aided Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 9. Research on mailing lists  Used on every project  Easy to quantify results  Every question reflects a failure at documentation Perhaps the feature is undocumented  Perhaps the documentation could not be found  Perhaps the documentation didn't seem relevant to the question  Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 10. Questions asked about mailing lists  How many technical questions get answered?  How long does it take to get an answer?  How much noise is on the thread? http://praxagora.com/andyo/professional/mailing_list/mailing_list.html http://www.praxagora.com/andyo/professional/mailing_list_follow_up Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 11. How many questions were answered? Unanswered 7 7 7 5 Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media Answered Fedora Linux 7 Ubuntu Linux 7 Rails 7 Perl 9
  • 12. So, are mailing lists effective? Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 13. How is Erlang documentation? Erlang is in a lucky position  It is not a young project  It has been able to develop innumerable training materials over the decades  Several publishers have released professional books  Functional principles have spread throughout the programming field  One must consider the whole information ecosystem  Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 14. Comments on erlang.org  Site is run by Ericsson  Potentially backed by lots of resources  But how much attention does the company give it? Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 15. Comments on erlang.org  Getting Started Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 16. Assumptions in documentation  Reader understands the math  Reader understands the notion of recursion  Reader has seen factorials used as an example of recursive programming Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 17. Focusing on the code  Reader must be able to pick out “active ingredients” in code Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 18. Focusing on the executable code  Reader must determine when and why each function runs Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 19. Comments on erlang.org  An Erlang Course Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 20. Questions left by course   Why does Erlang offer both tuples and lists? Do tuples and lists work like they do in other languages? When do you use a tuple and when do you use a list?  Other lapses in course: unexplained syntax, isolated examples that don't build on each other, etc.  Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 21. Comments on erlangcentral.org  Site run by the Industrial Erlang User Group  Points to wide range of documents and other sites  Solicits user contributions to wiki Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 22. Criteria for evaluating documentation  Availability—does it exist at all?  Findability—can readers get answers?  Quality—accuracy, readability, relevance, etc. Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 23. Availability—try crowdsourcing     Your developers don't have time to write everything Users have innate sympathy for other users They'll generate content anyway, so you can coordinate it intelligently Give up on “One Ring to Rule Them All” Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 24. Crowdsourcing has a history Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 25. Models for crowdsourcing  Development and study of Talmud  Greek symposium Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 26. Mobilizing users for documentation  Search for bloggers, contributors to forums  External motivations can encourage contributions  Access to developers is a motivation  Don't strive for unity—embrace multivocality  Let people use their own favorite media Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 27. Availability—FLOSS Manuals Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 28. Availability—FLOSS Manuals  Coordinate volunteers around the world  Create conventional books  Foster translations Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 29. FLOSS Manuals—sprints  Bring volunteers together in one space  Usually sponsored by an open source project  Google has hosted many documentation sprints Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 30. Findability—more than a search engine  Add boxes for people to recommend documents  “Read before this document”  “Read after this document”  Long-term goal: spider creates recommended paths through documents Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 31. Quality—What's the ultimate goal?  After reading the document, can the reader accomplish the task she set out to do? Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 32. Quality—A/B testing    Attach a quiz to a document As you rewrite the document, check how well the readers can answer the quiz Remember: a user experience encompasses more than one document Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 33. Summary    Documentation and training materials are crucial to mainstream adoption of young projects A serious need exists for better documentation Invest special efforts to create documentation, make it findable, and improve its quality Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media