SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Crowd Documentation
How Programmer Social
Communities are Flipping Software
Development
Chris Parnin, PhD Candidate @ GT
@chrisparnin ninlabs.com checkbox.io
About Me
My “other thesis”
Types of
Documentation
Types of
Documentation
Software documentation is created
by a few and read by few.
Types of
Documentation
Software documentation is created
by a few and read by few.
API documentation is created by a few
and read by many.
API Documentation is
Big Business
Is costly to create

http://thirdblogfromthesun.com/2010/09/how-big-is-themsdn-library/
Help win platform wars
It sucks, the documentation sucks, the
examples are ridiculous. This is part of the
reason there are so many junk apps on
android as well. iOS stresses interface and
user experience from the first time you
open the dev portal, android... do they
ever even mention it? Not that I have
seen. Its all obscure code stuff and
external libraries created by who knows
who etc.

http://forum.unity3d.com/threads/104567-iOS-vs-Androidfrom-a-dev-perspective/page2
APIs as the new
business model
•
• Stripe
• Coinbase
Twilio

//require the Twilio module and create a REST client
var client = require('twilio')('ACCOUNT_SID', 'AUTH_TOKEN');
client.makeCall({
to:'+16515556677',
from: '+14506667788',
url: 'http://www.example.com/twiml.php'
}, function(err, responseData) {
console.log(responseData.from); // outputs "+14506667788"
});
Traditional Forms

4000 pages of documentation
Traditional Forms

4000 pages of documentation
What are the sources
of dev knowledge now?
Unofficial Microsoft Survey
When learning about API documentation % of
following resource is used “Often”
Unofficial Microsoft Survey
When learning about API documentation % of
following resource is used “Often”
73.5% (2,224)
Unofficial Microsoft Survey
When learning about API documentation % of
following resource is used “Often”
73.5% (2,224)

42.5% (1,289)
Code completion (IntelliSense)
Unofficial Microsoft Survey
When learning about API documentation % of
following resource is used “Often”
73.5% (2,224)

42.5% (1,289)
Code completion (IntelliSense)
40.1% (1,212)
Microsoft’s Official Documentation
Searching for
Documentation
Examine search results
of jQuery
unofficial
doc >
Stack
Overflow >

blog >
... 1730 search results
>
Crowd Documentation
Knowledge is created and curated by a
mostly uncoordinated collective.
What sources do devs
actually use?
A day of a dev
...1,316 days of developer browser history
Typical dev >
Typical dev >

Typical Flow: C-Q

22%
28%

18%

Monitor Flow: A-B

64%
2% 18% 22%
48%

Direct

39%

18%

56%

1%

26%

38%

Direct
Consistent with self-reported surveys.
What makes it
different?
Twice as many examples can be found on Stack Overflow
than the official documentation guide.
• Developers may be getting as much as 50% of their
documentation from Stack Overflow.
• More examples can be found on Stack Overflow than
the official documentation guide.
• In web searches, Stack Overflow questions are visited
2x-10x more often than official documentation.
User participation
User participation
Advisors

60%

40%
20%
0%
0

20

40

60

User Percentile

80

100

100%

100%
Percent of Contributions

GWT

Askers

80%

Percent of Contributions

Percent of Contributions

100%

Android

80%
60%

40%
20%
0%
0

20

40

60

User Percentile

80

100

Java

80%
60%

40%
20%
0%
0

20

40

60

User Percentile

80

100
60% of questions answered
by 5% of users.
Diminishing game
mechanisms
2 years to reach 80%
coverage
Failure of online
communities
http://michael.richter.name/blogs/why-i-no-longercontribute-to-stackoverflow/

Encouraging User Behaviour with Achievements: An Empirical Study
Scott Grant and Buddy Betts
What did developer’s
think?
But then...everything
you thought you knew
was wrong
“DLLs are tossed over the fence to English majors”
“Documentation isn’t meant to be read by everyone,
it’s meant to be authoritative”
“We sometimes take a break from documentation and
try building something for a month or two. Then we
realize how bad it is”
“We contact the top 100 Stack Overflow contributors”
“You don’t understand how much this has impacted
us. No, really you don’t.”
Stakeholders Concerns
•
•
•

Will we have a job in 5 years?

•

Getting feedback from the crowd: sentiment
analytics over the frustrating parts, frequent
questions, confusing topics, etc.

What should our voice be?
How can we "regain" authority over the crowd
(e.g. people suggesting unsupported/non-public API
methods in android development). [*]

* https://code.google.com/p/android/issues/detail?id=62220
Why not participating?
Bar/coffee interviews
“I don’t blog because I fear being wrong on the
internet... I share gists, or fix documentation and
then tweet about it.
Blogs are disconnected from official sources, like
project documentation. I can't imagine someone
reading what I write. I would rather associate
the content with the documentation.”
“About 2 years ago, I used to answer a lot more. But
now, it feels like most questions have already been
answered -- it is saturated. That might change when
something new comes out, some of the newer stuff we
started working on, I might have a chance to answer
questions on it.”
two decades

Massively distributed software engineering
In the next 50 years, as governments increasingly turn legal policy and services into source
code and public APIs, often created in the timespan of a president’s term, we must be prepared
to build massively-sized software systems on a regular basis. This will often require cooperation
of many diverse stakeholders.

health care insurance marketplace

At our current place, imagine how these would fare if needed in a few years:
• A government api to calculate taxes on all online purchases for any location?
• A distributed traffic regulation system for a network of self-driving cars and
drones.
• ...
Crowd Programming
• We have seen “crowd documentation” how
might the other pieces look like?

Rather than having a rich standard API, Javascript
essentially has a “crowd API” assembled from Stack
Overflow snippets and Github repositories.

Mais conteúdo relacionado

Semelhante a Crowd Documentation - How Programmer Social Communities are Flipping Software Development

061223_web_20_conference_sf_shan
061223_web_20_conference_sf_shan061223_web_20_conference_sf_shan
061223_web_20_conference_sf_shancjin cheng
 
Talentbin Sales Deck
Talentbin Sales DeckTalentbin Sales Deck
Talentbin Sales DeckVishal Kumar
 
Talent Bin
Talent BinTalent Bin
Talent BinRyan Gum
 
Visualization for Software Analytics
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software AnalyticsMargaret-Anne Storey
 
INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...
INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...
INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...apidays
 
Over view of Technologies
Over view of TechnologiesOver view of Technologies
Over view of TechnologiesChris Mitchell
 
Acs Presentation Thinking Outside Of Inbox V2
Acs Presentation   Thinking Outside Of Inbox V2Acs Presentation   Thinking Outside Of Inbox V2
Acs Presentation Thinking Outside Of Inbox V2Johnny Teoh
 
Find the 'Unfindable' with TalentBin by Monster!
Find the 'Unfindable' with TalentBin by Monster!Find the 'Unfindable' with TalentBin by Monster!
Find the 'Unfindable' with TalentBin by Monster!monsterindia
 
API Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC ChapterAPI Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC ChapterTom Johnson
 
API Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterAPI Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterTom Johnson
 
Web2.0 and What it Means for Business
Web2.0 and What it Means for BusinessWeb2.0 and What it Means for Business
Web2.0 and What it Means for BusinessRich Miller
 
The Guide to Website Development for Beginners.pdf
The Guide to Website Development for Beginners.pdfThe Guide to Website Development for Beginners.pdf
The Guide to Website Development for Beginners.pdfConnect Solutions
 
The most efficient development tool is now available in Pakistan.pdf
The most efficient development tool is now available in Pakistan.pdfThe most efficient development tool is now available in Pakistan.pdf
The most efficient development tool is now available in Pakistan.pdfConnect Solutions
 
How to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App DevelopmentHow to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App DevelopmentDroidConTLV
 
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot FrameworkChatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Frameworkgjuljo
 
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...Margaret-Anne Storey
 
WEB 2.0 For Interns(Surya)
WEB 2.0 For Interns(Surya)WEB 2.0 For Interns(Surya)
WEB 2.0 For Interns(Surya)guest71e24d
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesTop 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesJonathan LeBlanc
 

Semelhante a Crowd Documentation - How Programmer Social Communities are Flipping Software Development (20)

061223_web_20_conference_sf_shan
061223_web_20_conference_sf_shan061223_web_20_conference_sf_shan
061223_web_20_conference_sf_shan
 
Talentbin Sales Deck
Talentbin Sales DeckTalentbin Sales Deck
Talentbin Sales Deck
 
Talent Bin
Talent BinTalent Bin
Talent Bin
 
Visualization for Software Analytics
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software Analytics
 
Walter api
Walter apiWalter api
Walter api
 
INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...
INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...
INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...
 
Over view of Technologies
Over view of TechnologiesOver view of Technologies
Over view of Technologies
 
Acs Presentation Thinking Outside Of Inbox V2
Acs Presentation   Thinking Outside Of Inbox V2Acs Presentation   Thinking Outside Of Inbox V2
Acs Presentation Thinking Outside Of Inbox V2
 
Find the 'Unfindable' with TalentBin by Monster!
Find the 'Unfindable' with TalentBin by Monster!Find the 'Unfindable' with TalentBin by Monster!
Find the 'Unfindable' with TalentBin by Monster!
 
API Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC ChapterAPI Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC Chapter
 
API Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterAPI Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC Chapter
 
Web2.0 and What it Means for Business
Web2.0 and What it Means for BusinessWeb2.0 and What it Means for Business
Web2.0 and What it Means for Business
 
The Guide to Website Development for Beginners.pdf
The Guide to Website Development for Beginners.pdfThe Guide to Website Development for Beginners.pdf
The Guide to Website Development for Beginners.pdf
 
The most efficient development tool is now available in Pakistan.pdf
The most efficient development tool is now available in Pakistan.pdfThe most efficient development tool is now available in Pakistan.pdf
The most efficient development tool is now available in Pakistan.pdf
 
How to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App DevelopmentHow to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App Development
 
Succeeding with FOSS!
Succeeding with FOSS!Succeeding with FOSS!
Succeeding with FOSS!
 
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot FrameworkChatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
 
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
 
WEB 2.0 For Interns(Surya)
WEB 2.0 For Interns(Surya)WEB 2.0 For Interns(Surya)
WEB 2.0 For Interns(Surya)
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesTop 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and Sites
 

Mais de Chris Parnin

DESIGNING FOR INTERRUPTION AND LIVENESS
DESIGNING FOR INTERRUPTION AND LIVENESSDESIGNING FOR INTERRUPTION AND LIVENESS
DESIGNING FOR INTERRUPTION AND LIVENESSChris Parnin
 
Programmer Information Needs After Memory Failure
Programmer Information Needs After Memory FailureProgrammer Information Needs After Memory Failure
Programmer Information Needs After Memory FailureChris Parnin
 
Building usage contexts from interaction history
Building usage contexts from interaction historyBuilding usage contexts from interaction history
Building usage contexts from interaction historyChris Parnin
 
A Catalogue of Code Smell Visualizations
A Catalogue of Code Smell VisualizationsA Catalogue of Code Smell Visualizations
A Catalogue of Code Smell VisualizationsChris Parnin
 
Resumption strategies
Resumption strategiesResumption strategies
Resumption strategiesChris Parnin
 
Are Automated Debugging Techniques Actually Helping Programmers
Are Automated Debugging Techniques Actually Helping ProgrammersAre Automated Debugging Techniques Actually Helping Programmers
Are Automated Debugging Techniques Actually Helping ProgrammersChris Parnin
 
Subvocalization -- Towards Hearing the Inner Thoughts of Developers
Subvocalization -- Towards Hearing the Inner Thoughts of DevelopersSubvocalization -- Towards Hearing the Inner Thoughts of Developers
Subvocalization -- Towards Hearing the Inner Thoughts of DevelopersChris Parnin
 
Java Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or IgnoredJava Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or IgnoredChris Parnin
 
Evaluating Cues for Resuming Interrupted Programming TAsks
Evaluating Cues for Resuming Interrupted Programming TAsksEvaluating Cues for Resuming Interrupted Programming TAsks
Evaluating Cues for Resuming Interrupted Programming TAsksChris Parnin
 
Cognitive Neuroscience of Memory for Software Engineers
Cognitive Neuroscience of Memory for Software EngineersCognitive Neuroscience of Memory for Software Engineers
Cognitive Neuroscience of Memory for Software EngineersChris Parnin
 

Mais de Chris Parnin (11)

DESIGNING FOR INTERRUPTION AND LIVENESS
DESIGNING FOR INTERRUPTION AND LIVENESSDESIGNING FOR INTERRUPTION AND LIVENESS
DESIGNING FOR INTERRUPTION AND LIVENESS
 
Programmer Information Needs After Memory Failure
Programmer Information Needs After Memory FailureProgrammer Information Needs After Memory Failure
Programmer Information Needs After Memory Failure
 
Building usage contexts from interaction history
Building usage contexts from interaction historyBuilding usage contexts from interaction history
Building usage contexts from interaction history
 
A Catalogue of Code Smell Visualizations
A Catalogue of Code Smell VisualizationsA Catalogue of Code Smell Visualizations
A Catalogue of Code Smell Visualizations
 
Resumption strategies
Resumption strategiesResumption strategies
Resumption strategies
 
Are Automated Debugging Techniques Actually Helping Programmers
Are Automated Debugging Techniques Actually Helping ProgrammersAre Automated Debugging Techniques Actually Helping Programmers
Are Automated Debugging Techniques Actually Helping Programmers
 
Subvocalization -- Towards Hearing the Inner Thoughts of Developers
Subvocalization -- Towards Hearing the Inner Thoughts of DevelopersSubvocalization -- Towards Hearing the Inner Thoughts of Developers
Subvocalization -- Towards Hearing the Inner Thoughts of Developers
 
Java Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or IgnoredJava Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or Ignored
 
Evaluating Cues for Resuming Interrupted Programming TAsks
Evaluating Cues for Resuming Interrupted Programming TAsksEvaluating Cues for Resuming Interrupted Programming TAsks
Evaluating Cues for Resuming Interrupted Programming TAsks
 
Cognitive Neuroscience of Memory for Software Engineers
Cognitive Neuroscience of Memory for Software EngineersCognitive Neuroscience of Memory for Software Engineers
Cognitive Neuroscience of Memory for Software Engineers
 
Code Pad
Code PadCode Pad
Code Pad
 

Último

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.pdfEnterprise Knowledge
 
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...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[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.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Último (20)

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
 
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...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Crowd Documentation - How Programmer Social Communities are Flipping Software Development

  • 1. Crowd Documentation How Programmer Social Communities are Flipping Software Development Chris Parnin, PhD Candidate @ GT @chrisparnin ninlabs.com checkbox.io
  • 4. Types of Documentation Software documentation is created by a few and read by few.
  • 5. Types of Documentation Software documentation is created by a few and read by few. API documentation is created by a few and read by many.
  • 7. Is costly to create http://thirdblogfromthesun.com/2010/09/how-big-is-themsdn-library/
  • 8. Help win platform wars It sucks, the documentation sucks, the examples are ridiculous. This is part of the reason there are so many junk apps on android as well. iOS stresses interface and user experience from the first time you open the dev portal, android... do they ever even mention it? Not that I have seen. Its all obscure code stuff and external libraries created by who knows who etc. http://forum.unity3d.com/threads/104567-iOS-vs-Androidfrom-a-dev-perspective/page2
  • 9. APIs as the new business model • • Stripe • Coinbase Twilio //require the Twilio module and create a REST client var client = require('twilio')('ACCOUNT_SID', 'AUTH_TOKEN'); client.makeCall({ to:'+16515556677', from: '+14506667788', url: 'http://www.example.com/twiml.php' }, function(err, responseData) { console.log(responseData.from); // outputs "+14506667788" });
  • 10. Traditional Forms 4000 pages of documentation
  • 11. Traditional Forms 4000 pages of documentation
  • 12. What are the sources of dev knowledge now?
  • 13.
  • 14. Unofficial Microsoft Survey When learning about API documentation % of following resource is used “Often”
  • 15. Unofficial Microsoft Survey When learning about API documentation % of following resource is used “Often” 73.5% (2,224)
  • 16. Unofficial Microsoft Survey When learning about API documentation % of following resource is used “Often” 73.5% (2,224) 42.5% (1,289) Code completion (IntelliSense)
  • 17. Unofficial Microsoft Survey When learning about API documentation % of following resource is used “Often” 73.5% (2,224) 42.5% (1,289) Code completion (IntelliSense) 40.1% (1,212) Microsoft’s Official Documentation
  • 21. ... 1730 search results
  • 22. >
  • 23. Crowd Documentation Knowledge is created and curated by a mostly uncoordinated collective.
  • 24. What sources do devs actually use?
  • 25. A day of a dev
  • 26. ...1,316 days of developer browser history
  • 28. Typical dev > Typical Flow: C-Q 22% 28% 18% Monitor Flow: A-B 64% 2% 18% 22% 48% Direct 39% 18% 56% 1% 26% 38% Direct
  • 31.
  • 32. Twice as many examples can be found on Stack Overflow than the official documentation guide.
  • 33.
  • 34. • Developers may be getting as much as 50% of their documentation from Stack Overflow. • More examples can be found on Stack Overflow than the official documentation guide. • In web searches, Stack Overflow questions are visited 2x-10x more often than official documentation.
  • 36. User participation Advisors 60% 40% 20% 0% 0 20 40 60 User Percentile 80 100 100% 100% Percent of Contributions GWT Askers 80% Percent of Contributions Percent of Contributions 100% Android 80% 60% 40% 20% 0% 0 20 40 60 User Percentile 80 100 Java 80% 60% 40% 20% 0% 0 20 40 60 User Percentile 80 100
  • 37. 60% of questions answered by 5% of users. Diminishing game mechanisms 2 years to reach 80% coverage Failure of online communities http://michael.richter.name/blogs/why-i-no-longercontribute-to-stackoverflow/ Encouraging User Behaviour with Achievements: An Empirical Study Scott Grant and Buddy Betts
  • 39.
  • 40. But then...everything you thought you knew was wrong
  • 41. “DLLs are tossed over the fence to English majors” “Documentation isn’t meant to be read by everyone, it’s meant to be authoritative” “We sometimes take a break from documentation and try building something for a month or two. Then we realize how bad it is” “We contact the top 100 Stack Overflow contributors” “You don’t understand how much this has impacted us. No, really you don’t.”
  • 42. Stakeholders Concerns • • • Will we have a job in 5 years? • Getting feedback from the crowd: sentiment analytics over the frustrating parts, frequent questions, confusing topics, etc. What should our voice be? How can we "regain" authority over the crowd (e.g. people suggesting unsupported/non-public API methods in android development). [*] * https://code.google.com/p/android/issues/detail?id=62220
  • 45. “I don’t blog because I fear being wrong on the internet... I share gists, or fix documentation and then tweet about it. Blogs are disconnected from official sources, like project documentation. I can't imagine someone reading what I write. I would rather associate the content with the documentation.”
  • 46. “About 2 years ago, I used to answer a lot more. But now, it feels like most questions have already been answered -- it is saturated. That might change when something new comes out, some of the newer stuff we started working on, I might have a chance to answer questions on it.”
  • 47. two decades Massively distributed software engineering In the next 50 years, as governments increasingly turn legal policy and services into source code and public APIs, often created in the timespan of a president’s term, we must be prepared to build massively-sized software systems on a regular basis. This will often require cooperation of many diverse stakeholders. health care insurance marketplace At our current place, imagine how these would fare if needed in a few years: • A government api to calculate taxes on all online purchases for any location? • A distributed traffic regulation system for a network of self-driving cars and drones. • ...
  • 48. Crowd Programming • We have seen “crowd documentation” how might the other pieces look like? Rather than having a rich standard API, Javascript essentially has a “crowd API” assembled from Stack Overflow snippets and Github repositories.