SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
Documenting
   First
                        Brian Landau
                      @brianjlandau
      http://claimid.com/brianjlandau
Who am I




                                                                 Brian Landau
                                                               @brianjlandau
                                               http://claimid.com/brianjlandau

Documenting First   DevNation SF - 8/14/2010
Who am I




➡ Viget Labs




                                                                 Brian Landau
                                                               @brianjlandau
                                               http://claimid.com/brianjlandau

Documenting First   DevNation SF - 8/14/2010
Who am I




➡ Viget Labs
➡ Rails & JavaScript



                                                                 Brian Landau
                                                               @brianjlandau
                                               http://claimid.com/brianjlandau

Documenting First   DevNation SF - 8/14/2010
Who am I




➡ Viget Labs
➡ Rails & JavaScript
➡ User Experience

                                                                 Brian Landau
                                                               @brianjlandau
                                               http://claimid.com/brianjlandau

Documenting First   DevNation SF - 8/14/2010
My Inspiration
The Genesis and History of the Macintosh Project


  “   Writing manuals is a very special and privileged
      task in a computer company, for in the process of
      writing them you are forced to go over every
      detail of the hardware and software the company
      sells in an attempt to make it understandable and
      usable in our extremely broad customer base. In
      the process a consciencious writer will discover
      nearly every good and bad feature of the system,
      and can provide valuable feedback to the
      designers and implementers.
                              -- Jef Raskin - Feb 16, 1981
                              http://pinboard.in/u:brianjlandau/t:devnation-sf/
    Documenting First   DevNation SF - 8/14/2010
Types of Documentation




Documenting First   DevNation SF - 8/14/2010
Types of Documentation




➡API Docs




Documenting First   DevNation SF - 8/14/2010
Types of Documentation




➡API Docs
➡User Guides



Documenting First   DevNation SF - 8/14/2010
Types of Documentation




➡API Docs                                      Nerds
➡User Guides



Documenting First   DevNation SF - 8/14/2010
Types of Documentation




➡API Docs                                      Nerds
➡User Guides                                   Suits


Documenting First   DevNation SF - 8/14/2010
Types of Documentation




API Docs  For Open Source
Documentation
     API
    or

 Driven Development
I’ll just



   Document it
            Later
Why Focus on


  Documentation?
Audience Participation




Things you


      Love / Hate
         about Documentation
Why focus on documentation?




Documenting First   DevNation SF - 8/14/2010
Why focus on documentation?




➡ Important for adoption by others




Documenting First   DevNation SF - 8/14/2010
Why focus on documentation?




➡ Important for adoption by others
➡ Forces you to create a better end-
  product




Documenting First   DevNation SF - 8/14/2010
Why focus on documentation?




➡ Important for adoption by others
➡ Forces you to create a better end-
  product
➡ Helps maintain clear purpose




Documenting First   DevNation SF - 8/14/2010
Why focus on documentation?




➡ Important for adoption by others
➡ Forces you to create a better end-
  product
➡ Helps maintain clear purpose
➡ Helps you identify problem areas


Documenting First   DevNation SF - 8/14/2010
Goal



Make it


    Fun Easy
          +
              to use
Goal



Make it


    Fun Easy
          +
              to use
Goal



Make it


    Fun Easy
          +
              to use
Fun + Easy
Fun + Easy
Fun + Easy
Fun + Easy
How




Documenting First   DevNation SF - 8/14/2010
How

➡ What are the use cases?




Documenting First   DevNation SF - 8/14/2010
How

➡ What are the use cases?
➡ How would you like to do that?




Documenting First   DevNation SF - 8/14/2010
How

➡ What are the use cases?
➡ How would you like to do that?
➡ What do you want to prevent users
  from doing?




Documenting First   DevNation SF - 8/14/2010
How

➡ What are the use cases?
➡ How would you like to do that?
➡ What do you want to prevent users
  from doing?
➡ How will others extend it?




Documenting First   DevNation SF - 8/14/2010
How

➡ What are the use cases?
➡ How would you like to do that?
➡ What do you want to prevent users
  from doing?
➡ How will others extend it?




Documenting First   DevNation SF - 8/14/2010
How

➡ What are the use cases?
➡ How would you like to do that?
➡ What do you want to prevent users
  from doing?
➡ How will others extend it?


➡ Draft an API and some rough
  documentation

Documenting First   DevNation SF - 8/14/2010
Joshua Bloch’s

                      How to Design
                       a Good API             and Why it Matters



http://pinboard.in/u:brianjlandau/t:devnation-sf/
Joshua Bloch's "Characteristics of a Good API"




Documenting First   DevNation SF - 8/14/2010
Joshua Bloch's "Characteristics of a Good API"




➡ Easy to learn




Documenting First   DevNation SF - 8/14/2010
Joshua Bloch's "Characteristics of a Good API"




➡ Easy to learn
➡ Easy to use, even without
  documentation




Documenting First   DevNation SF - 8/14/2010
Joshua Bloch's "Characteristics of a Good API"




➡ Easy to learn
➡ Easy to use, even without
  documentation
➡ Hard to misuse




Documenting First   DevNation SF - 8/14/2010
Joshua Bloch's "Characteristics of a Good API"




➡ Easy to learn
➡ Easy to use, even without
  documentation
➡ Hard to misuse
➡ Appropriate to audience



Documenting First   DevNation SF - 8/14/2010
Tips
Tips



➡ Always have someone else look over it
Tips



➡ Always have someone else look over it
➡ Don't document implementation
Tips



➡ Always have someone else look over it
➡ Don't document implementation
➡ Concise/Clear/Complete
Tips



➡ Always have someone else look over it
➡ Don't document implementation
➡ Concise/Clear/Complete
➡ "Mimic patterns in core APIs and
  language"
Tips



➡ Always have someone else look over it
➡ Don't document implementation
➡ Concise/Clear/Complete
➡ "Mimic patterns in core APIs and
  language"
➡ "Obey standard naming conventions"
Example




jMapping
Example: jMapping
Example: jMapping
Example: jMapping
Example: jMapping
Example: jMapping



var data = [{ point: {lat: 43.65654, lng: -79.90138},
   name: "This Place", category: 'sample',
   info_html: "<p>Some stuff to display in the<br />First
Info Window</p>" }];

$.mapping(data);




   Documenting First   DevNation SF - 8/14/2010
Example: jMapping


var data = [{ point: {lat: 43.65654, lng: -79.90138},
   name: "This Place", category: 'sample',
   history: "Some History" }];

$.mapping(data,
    "${title}<br />History: ${history}",
    '<a href="#${id}" class="map_item">${name}</a><br />');




   Documenting First   DevNation SF - 8/14/2010
Example: jMapping



$('#map').jMapping({ ... });




   Documenting First   DevNation SF - 8/14/2010
Example: jMapping




http://vigetlabs.github.com/jmapping


                           http://pinboard.in/u:brianjlandau/t:devnation-sf/

  Documenting First   DevNation SF - 8/14/2010
Final Tips
Final Tips




➡ Start small and be succinct
Final Tips




➡ Start small and be succinct
➡ Always review it with others
Final Tips




➡ Start small and be succinct
➡ Always review it with others
➡ Don't implement too early
Final Tips




➡ Start small and be succinct
➡ Always review it with others
➡ Don't implement too early
➡ Rewrite docs as changes happen
Final Tips




➡ Start small and be succinct
➡ Always review it with others
➡ Don't implement too early
➡ Rewrite docs as changes happen
➡ Make it fun to use!
Links


http://pinboard.in/u:brianjlandau/t:devnation-sf/

http://www.azarask.in/blog/post/macintosh-project-genesis-and-
history-16-feb-1981/

http://research.google.com/pubs/archive/32713.pdf

http://vigetlabs.github.com/jmapping




     Documenting First   DevNation SF - 8/14/2010
The End        Questions & Comments
                       Rate it: http://spkr8.com/t/4288

               http://pinboard.in/u:brianjlandau/t:devnation-sf/




Flickr Credits:
• clspeace                                                     Brian Landau
• peter_hasselbom                                             @brianjlandau
• poportis                                  http://claimid.com/brianjlandau

Contenu connexe

En vedette (8)

Introducing Help Central
Introducing Help CentralIntroducing Help Central
Introducing Help Central
 
Documentation Strategy - Plan Of Action
Documentation Strategy - Plan Of ActionDocumentation Strategy - Plan Of Action
Documentation Strategy - Plan Of Action
 
Gamal Ahmed - Documenting C.V - 5.2015
Gamal Ahmed - Documenting C.V - 5.2015Gamal Ahmed - Documenting C.V - 5.2015
Gamal Ahmed - Documenting C.V - 5.2015
 
Brand project: Apple
Brand project: AppleBrand project: Apple
Brand project: Apple
 
Project planning and project work plan
Project planning and project work planProject planning and project work plan
Project planning and project work plan
 
Business Plan
Business PlanBusiness Plan
Business Plan
 
Business Plan Powerpoint 1
Business Plan Powerpoint 1Business Plan Powerpoint 1
Business Plan Powerpoint 1
 
Intro to Documenting
Intro to DocumentingIntro to Documenting
Intro to Documenting
 

Similaire à Documenting First

Paper prototyping
Paper prototypingPaper prototyping
Paper prototyping
Erik Duval
 

Similaire à Documenting First (20)

Zookeepr: Home-grown conference management software
Zookeepr: Home-grown conference management softwareZookeepr: Home-grown conference management software
Zookeepr: Home-grown conference management software
 
apidays LIVE Hong Kong - Let's get started development of API client library ...
apidays LIVE Hong Kong - Let's get started development of API client library ...apidays LIVE Hong Kong - Let's get started development of API client library ...
apidays LIVE Hong Kong - Let's get started development of API client library ...
 
Developer Experience Matters (Short version)
Developer Experience Matters (Short version)Developer Experience Matters (Short version)
Developer Experience Matters (Short version)
 
Alternative Viewers for Second Life & OpenSim
Alternative Viewers for Second Life & OpenSimAlternative Viewers for Second Life & OpenSim
Alternative Viewers for Second Life & OpenSim
 
Growing with the Open-Source Community
Growing with the Open-Source CommunityGrowing with the Open-Source Community
Growing with the Open-Source Community
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
 
Powerpoint Project - Daniel Aguiar
Powerpoint Project - Daniel AguiarPowerpoint Project - Daniel Aguiar
Powerpoint Project - Daniel Aguiar
 
User Group Meeting PaperVision3D
User Group Meeting PaperVision3DUser Group Meeting PaperVision3D
User Group Meeting PaperVision3D
 
muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"
 
Career Development Sharing
Career Development SharingCareer Development Sharing
Career Development Sharing
 
Paper prototyping
Paper prototypingPaper prototyping
Paper prototyping
 
Supporting studio-based design courses with django-courseapp
Supporting studio-based design courses with django-courseappSupporting studio-based design courses with django-courseapp
Supporting studio-based design courses with django-courseapp
 
Docker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatternsDocker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatterns
 
Functional Prototyping For Mobile Apps
Functional Prototyping For Mobile AppsFunctional Prototyping For Mobile Apps
Functional Prototyping For Mobile Apps
 
Paper prototyping
Paper prototypingPaper prototyping
Paper prototyping
 
The Art Of Documentation for Open Source Projects
The Art Of Documentation for Open Source ProjectsThe Art Of Documentation for Open Source Projects
The Art Of Documentation for Open Source Projects
 
From desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACIFrom desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACI
 
Agile framework Support
Agile framework SupportAgile framework Support
Agile framework Support
 
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdfDjango Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
 
Droidcon Italy 2015: can you work without open source libraries?
Droidcon Italy 2015: can you work without open source libraries?Droidcon Italy 2015: can you work without open source libraries?
Droidcon Italy 2015: can you work without open source libraries?
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
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
Enterprise Knowledge
 

Dernier (20)

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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 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]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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Documenting First