EMBERCONF 2019
THE STATE OF COMMUNITY DOCUMENTATION
Slide 2
2
EMBERCONF 2019
👋 HELLO
Slide 3
3
EMBERCONF 2019
MY NAME IS KENNETH FRONTEND LEAD @ LINKFIRE EMBER LEARNING CORE TEAM CO-EDITOR OF EMBER TIMES
@KENNETHLARSEN KENNETHLARSEN.ORG
Slide 4
EMBERCONF 2019
“I RE-READ THE EMBER TIMES EVERY SINGLE DAY. IT SIMPLY MAKES ME A BETTER HUMAN BEING.” - Tom Dale, SproutCore enthusiast
4
Slide 5
5
COMMUNITY DOCUMENTATION 1: Why is community documentation important? 2: What is the state of community documentation? 3: How can we improve it?
Slide 6
1: WHY IS COMMUNITY DOCUMENTATION IMPORTANT?
6
Slide 7
1: WHY IS COMMUNITY DOCUMENTATION IMPORTANT?
▸ Proprietary software: Docs included and maintained
7
Slide 8
1: WHY IS COMMUNITY DOCUMENTATION IMPORTANT?
▸ Proprietary software: Docs included and maintained ▸ Popular JS Framework: Team that facilitates docs
8
Slide 9
1: WHY IS COMMUNITY DOCUMENTATION IMPORTANT?
▸ Proprietary software: Docs included and maintained ▸ Popular JS Framework: Team that facilitates docs ▸ Ember addon: ???
9
Slide 10
1: WHY IS COMMUNITY DOCUMENTATION IMPORTANT?
10
WE’RE RESPONSIBLE FOR GREAT COMMUNITY DOCUMENTATION
Slide 11
EMBERCONF 2019
WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
11
Slide 12
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
12
Slide 13
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
13
Slide 14
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
14
Slide 15
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
Today: ~5000 addons
15
Slide 16
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
README.MD
16
Slide 17
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
BADGES ARE NICE
17
Slide 18
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
HERE’S AN EXAMPLE…
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
WISE WORDS
Slide 24
HERE WE GO
Slide 25
SO HELPFUL
Slide 26
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
SHOW ME THE DATA
26
Slide 27
27
Slide 28
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
TEST+RUN
28
Slide 29
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
NPM+INSTALL
29
Slide 30
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
SCORE+OBSERVER
30
Slide 31
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
CONTROLLER+EXTEND
31
Slide 32
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
DS+ATTR = OH NO
32
Slide 33
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
DS+ATTR = OH NO DS.attr(‘string’) DS.attr()
33
Slide 34
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
TOM+DALE???
34
Slide 35
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
TOM+DALE??? return UserModel.create({ name: ‘Tom Dale’ }); <option value=”1”>Tom Dale!</option> this.filterEqual(this.store, ‘user’, {‘firstName’: ‘Tom’}, function(toms) {
35
Slide 36
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
UNHELPFUL PHRASINGS ▸ “Simply run the tests. Just type npm test” ▸ “Just write your own compiler, then it simply works”.
36
Slide 37
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
995 CASES OF UNHELPFUL WORDS
37
Slide 38
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
995 CASES OF UNHELPFUL WORDS THAT’S ONLY 0.07% OF THE WORDS
38
Slide 39
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
“JUST”, “SIMPLY”, “SIMPLE”, “ACTUALLY”, “EASY”, “EASILY”, “OBVIOUSLY”.
39
Slide 40
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
40
INCONSIDERATE WRITING
“gender favouring, polarising, race related, religion inconsiderate, or other unequal phrasing”.
Slide 41
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
2359 CASES OF INCONSIDERATE WRITING
41
Slide 42
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
42
“IT HAS ALWAYS BEEN LIKE THIS OMG” - That one guy on Twitter
Slide 43
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
CONSIDER THIS… ▸ Master / slave => Primary / Replica
43
Slide 44
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
CONSIDER THIS… ▸ Master / slave => Primary / Replica ▸ Whitelist / Blacklist => Allowlist / Denylist
44
Slide 45
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
CULTURAL DIFFERENCES ARE EVERYWHERE
45
Slide 46
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
46
“MAKE EMBER CLI DOCUMENTATION GREAT AGAIN” - An embarrassed developer
Slide 47
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
CULTURAL DIFFERENCES ARE EVERYWHERE
47
Slide 48
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
CULTURAL DIFFERENCES ARE EVERYWHERE
48
Slide 49
WHAT HAVE I DONE
49
Slide 50
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
🤠 ### # # # 👇 # # 👇 # # # # 👢 👢 .
🤠 &&& & & & 👇 & & 👇 & & & & 👢 👢 .
50
Slide 51
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
WHAT ABOUT GENDER? ▸ “he”, “his”, “guys” and “dude”
51
Slide 52
2: WHAT IS THE STATE OF COMMUNITY DOCUMENTATION?
SUMMARY ▸ Readmes are too cluttered ▸ Blueprint documentation needed some adjustment ▸ We need a separate space for documentation ▸ We’re doing OK with inclusive writings ▸ Cultural differences will always exist - be aware!
52
Slide 53
3: HOW CAN WE IMPROVE IT?
HOW CAN WE IMPROVE IT? ▸ ember-cli-addon-docs ▸ Write markdown ▸ Interactive component demos ▸ Auto generated API documentation
53
Slide 54
3: HOW CAN WE IMPROVE IT?
HOW CAN WE IMPROVE IT? ▸ ember-cli-addon-docs ▸ retext-assuming
54
Slide 55
3: HOW CAN WE IMPROVE IT?
HOW CAN WE IMPROVE IT? ▸ ember-cli-addon-docs ▸ retext-assuming ▸ alex (or ember-cli-alex)
55
Slide 56
3: HOW CAN WE IMPROVE IT?
“Be careful with Canadian, it’s profane in some cases”
56
Slide 57
WHAT DID WE LEARN
▸ Documentation is crucial for a healthy community ▸ We’re all responsible for addon documentation ▸ The readme is too cluttered ▸ The level of considerate writing is good, but can be improved ▸ There’s tools to help you. Use them. Make them default.
57