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

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Documenting First