SlideShare une entreprise Scribd logo
1  sur  47
Open Source Process:
      jQuery
                  John Resig
 http://ejohn.org/ - http://twitter.com/jeresig
jQuery
✦   A JavaScript library designed to hide
    painful cross-browser compatibility issues
    while presenting a solid, usable, API.
Simple API
✦   $(“div > span”).addClass(“foo”);
    ✦ “Find some elements”
    ✦ “Do something with them”

✦   Makes complex manipulation of web pages
    simple
Points of Concern
✦   Primary issues:
    ✦ Quality of API
    ✦ Quality of browser-issue-hiding

✦   Other issues:
    ✦ Speed, community, licensing,
      development team, openness, test
      coverage, API documentation, tutorials,
      books, demos
Space
✦   Highly competitive space
✦   Released Jan. 2006 - already a dominant
    player: Prototype JavaScript Library
✦   (Bundled with Ruby on Rails, had some
    nice coattail growth.)
✦   Other libraries: Dojo, Yahoo UI,
    MooTools
Things That Are Important
✦   Technical
    ✦ API Design
      (Usability, documentation)
    ✦ Code Quality
      (Licensing, openness, test coverage)
✦   Non-technical
    ✦ Community
      (Resources, responsiveness)
    ✦ Learning Aides
      (Tutorials, books, demos)
What it all boils down to...
✦   How quickly can you get your user hooked
    - and are you giving them room, and the
    resources, to grow?


✦   Put yourself in your user’s shoes.
Se                                                In                                                        H
                           co                                                te                                                          om
                             nd                                                   gr                                                           ep
                                                                                     at
                                     Ap                                                 io                                                           ag
                                           p                                              n                                                            e


                         Ex                                                                                                         Vi
                              pl                                           AP                                                            ew
                                   or                                        ID                                                               Tu
                                     eA                                              oc                                                          t  or
                                       PI                                               s                                                              ial

                                                                           Co                                                        D
                                                                             m                                                           ow
                         Ex
                              te                                                   m                                                           nl
                                                                                    un                                                              oa
                                nd                                                     i   ty                                                         d
                                     AP
                                       I

                                                                                                                                    Tr
                         Re
                                                                            Tu
                                                                               t                                                       y   Tu
                           ad                                                     or                                                          t
                                                                                     ial                                                        or
                                   So                                                    s                                                         ial
                                     ur
                                       ce

The First Year: Growth
                                               The First Month: Learning
                                                                                                 The First Day: Can this help me?




                         Co
                           nt                                              Ex                                                       Ex
                                   rib                                       pe                                                          pe
                                      ut                                        r   im                                                      r   im
                                         e                                             en                                                            en
                                                                                             t                                                         t
                                                                                                                                                             Watch the full process
Attrition
Failure at any step costs your project another user.

      Your project is your own worst enemy.
The First Day
 “After spending less than 3 hours reading blog posts
  and perusing the documentation I was able to do a
lot more in a lot less time then ever before. The huge
   community and neatly organized jQuery plugins
 make me feel like a sucker for not having jQuery for
                    my pet-project.”

  http://aleembawany.com/2009/01/16/switching-from-prototype-to-jquery/
Homepage
✦   Set a good first impression
✦   Answer the questions:
    ✦ What is this?
    ✦ What can it do for me?
    ✦ Where can I go to learn more?
Getting Started Tutorial
✦   Clear, focused
✦   Assume no background knowledge
Download
✦   Make it super-easy, remove any barriers
✦   (We link straight to the source, no .zip)
Licensing
✦   Not a concern for some of people
✦   A huge concern for a lot of corporate users
✦   Use the most-open license possible
    ✦ Fewest number of restrictions gives you
      the largest possible market
✦   We use the MIT license for jQuery
    ✦ “Leave my name on the source file”
Try the Tutorial
✦   ...and subsequent Experimentation
✦   All about code quality
    ✦ For JavaScript libraries: Make sure your
      code is seamless across browsers
    ✦ For desktop apps: Is it truly cross-
      platform? Are there dependencies?
✦   The user should never be forced to ask for
    help in order to get started
    ✦ Asking for help “getting started” is a
      failure case on your end
Simplicity
✦   Simple APIs are king
✦   Users understand quicker
✦   Get started faster
✦   Become advanced quicker
The First Month
“Alright I am now really really into jQuery. I used to
hate javascript. WHAT HAS HAPPENED HERE?
           Javascript people, speak to me.”

            http://twitter.com/_ralph/status/1123503553
Community Resources
✦   Provide places for users to ask questions
✦   jQuery:
    ✦ jQuery Forum
    ✦ IRC Channel

✦   External:
    ✦ StackOverflow.com
    ✦ Twitter
    ✦ Blogs
Monitor Your Community
✦   Make sure that everyone is getting the
    help that they need
✦   We run an Evangelism Team
    “Developer Relations”
✦   Track all of the services they use
    ✦ Forum - Subscribe to the forums
    ✦ IRC - Sit in the IRC channel
    ✦ Blogs - Use Technorati and Google Blog
      Search
    ✦ Twitter - Use Twitter Search
Service
Treat every user as a potential, future, contributor.
Service




✦   Today Mike Alsup and Michael Geary are
    part of the jQuery team
Twitter Tracking
✦   Track people talking about the code:
    ✦ http://search.twitter.com/

✦   Look for people having trouble, asking
    questions
Answer Questions
✦   It takes a lot of time, but sometimes it’s
    really worth it
✦   You never know who could be having
    trouble
Follow-up With Large Users
✦   Maintain a list of contacts with your large
    users
✦   Ping them every once in a while
✦   Make sure that they’re having a good
    experience
✦   They frequently forget to file bugs - make
    sure that happens
API Documentation
✦   jQuery had API docs from the start (2006)
✦   Two other major libraries: Dojo, Prototype
    didn’t have any until 2007+
✦   Clarity and usability of documentation is
    huge
API Example
Alternative Views
Learn More
✦   Tutorials and Books
✦   Tutorials are short and drive home a point
    or single topic
✦   “Books” are more holistic and lead the
    reader from start to finish
Tutorials
The First Year
API Buy-in
✦   Once users start using an API for an
    application they generally stick with it
✦   Every new application is an opportunity to
    snag, or lose, a user
✦   All boils down to attrition: Did your user
    have a good experience building the first
    application?
Growth
You need to give users some place to grow to.
Open Process
✦   Open Source is easy
    (just release the code
    and be done with it)
✦   Open Process is hard
    (open source control,
    easy bug tracking)
✦   A good process helps
    users learn
Core Development Process
✦   Weekly, public, team meetings
✦   Defined release dates and schedule
✦   Frequent discussion in #jquery-dev (IRC)
    ✦ Active participation of the committers
      and the bug triage team
Weekly Meeting Notes
Bug Triage Team
✦   Responsible for processing all the bugs in
    the bug tracker
    ✦ Make sure test cases are filed

✦   Work through pulls in the Github pull
    request queue
✦   Make sure the test suite is passing
Bugs
Roadmap Decisions
✦   Put up a public form for people to submit
    possible feature suggestions
✦   The team works through all the feature
    suggestions and creates a list
    ✦ All of this is done in a publicly and
      discussed in a public meeting
Roadmap
Extensibility
✦   Your API isn’t perfect -
    it can’t include everything
    for everyone
✦   Give users the ability to
    add their own functionality
✦   jQuery has a healthy plugin
    community with hundreds
    of plugins.
✦   Gives jQuery a huge leg up
    on other libraries.
Complex Applications
✦   Users will attempt to build increasingly
    complex applications
✦   Need to be there to help, otherwise they’ll
    leave for something else
✦   jQuery UI - A set of complex User
    Interface components.
jQuery UI
Contributions
✦   How does a user become a contributor?
✦   Encouragement is the biggest factor
    ✦ Encourage users to submit bug reports
    ✦ Encourage them to build test cases
    ✦ Encourage them to submit patches

✦   Praise them when something good is done.
✦   Communication is a huge factor here,
    “dead” bugs or mailing list threads cripple
    participation.
Overview
✦   Help your users at every step of the way
✦   Track them and help the stragglers
✦   Help them grow and flourish




✦   Questions?
    ✦ jeresig@gmail.com
    ✦ http://ejohn.org/
    ✦ http://twitter.com/jeresig

Contenu connexe

Tendances

Fiber Composite Solutions
Fiber Composite SolutionsFiber Composite Solutions
Fiber Composite Solutionssangtani
 
Fringe eu procurement - sara piller
Fringe   eu procurement - sara pillerFringe   eu procurement - sara piller
Fringe eu procurement - sara pillerlgconf11
 
Ipsos ASI: Once Upon a Brand
Ipsos ASI: Once Upon a BrandIpsos ASI: Once Upon a Brand
Ipsos ASI: Once Upon a BrandIpsos UK
 
Workshop Of Ict Indicators In Education Ocde
Workshop Of Ict Indicators In Education OcdeWorkshop Of Ict Indicators In Education Ocde
Workshop Of Ict Indicators In Education Ocde@cristobalcobo
 
Lodestar InnovationOne Brief
Lodestar InnovationOne BriefLodestar InnovationOne Brief
Lodestar InnovationOne Briefharunasad
 
Stevie Christie: Sustainable Nature Based Experiences
Stevie Christie: Sustainable Nature Based ExperiencesStevie Christie: Sustainable Nature Based Experiences
Stevie Christie: Sustainable Nature Based ExperiencesInnovation Norway
 
KlikEyeDoc User Guide
KlikEyeDoc User GuideKlikEyeDoc User Guide
KlikEyeDoc User GuideManohar Vijay
 
Bookbuzz imagination and innovation
Bookbuzz   imagination and innovationBookbuzz   imagination and innovation
Bookbuzz imagination and innovationAlan Jordan MSc
 
Family Events Leaflet at the Herbert 2011
Family Events Leaflet at the Herbert 2011Family Events Leaflet at the Herbert 2011
Family Events Leaflet at the Herbert 2011Jamie Perry
 
Stories of migrants poster
Stories of migrants posterStories of migrants poster
Stories of migrants posterLearn Politics
 
"New and traditional media" - Presentation at The Hive 2012
"New and traditional media" - Presentation at The Hive 2012"New and traditional media" - Presentation at The Hive 2012
"New and traditional media" - Presentation at The Hive 2012sisterMAG
 

Tendances (17)

Fiber Composite Solutions
Fiber Composite SolutionsFiber Composite Solutions
Fiber Composite Solutions
 
Fringe eu procurement - sara piller
Fringe   eu procurement - sara pillerFringe   eu procurement - sara piller
Fringe eu procurement - sara piller
 
Water Related Expertise In Toronto Region July09 Final
Water Related Expertise In Toronto Region   July09 FinalWater Related Expertise In Toronto Region   July09 Final
Water Related Expertise In Toronto Region July09 Final
 
Ipsos ASI: Once Upon a Brand
Ipsos ASI: Once Upon a BrandIpsos ASI: Once Upon a Brand
Ipsos ASI: Once Upon a Brand
 
Spiral Of Knowledge - 1967
Spiral Of Knowledge - 1967Spiral Of Knowledge - 1967
Spiral Of Knowledge - 1967
 
Gpa
GpaGpa
Gpa
 
Workshop Of Ict Indicators In Education Ocde
Workshop Of Ict Indicators In Education OcdeWorkshop Of Ict Indicators In Education Ocde
Workshop Of Ict Indicators In Education Ocde
 
Lodestar InnovationOne Brief
Lodestar InnovationOne BriefLodestar InnovationOne Brief
Lodestar InnovationOne Brief
 
Stevie Christie: Sustainable Nature Based Experiences
Stevie Christie: Sustainable Nature Based ExperiencesStevie Christie: Sustainable Nature Based Experiences
Stevie Christie: Sustainable Nature Based Experiences
 
Mobile Marketing May 2011
Mobile Marketing May 2011Mobile Marketing May 2011
Mobile Marketing May 2011
 
KlikEyeDoc User Guide
KlikEyeDoc User GuideKlikEyeDoc User Guide
KlikEyeDoc User Guide
 
Kiss the BRD Good-Bye
Kiss the BRD Good-ByeKiss the BRD Good-Bye
Kiss the BRD Good-Bye
 
Bookbuzz imagination and innovation
Bookbuzz   imagination and innovationBookbuzz   imagination and innovation
Bookbuzz imagination and innovation
 
Family Events Leaflet at the Herbert 2011
Family Events Leaflet at the Herbert 2011Family Events Leaflet at the Herbert 2011
Family Events Leaflet at the Herbert 2011
 
Stories of migrants poster
Stories of migrants posterStories of migrants poster
Stories of migrants poster
 
f
ff
f
 
"New and traditional media" - Presentation at The Hive 2012
"New and traditional media" - Presentation at The Hive 2012"New and traditional media" - Presentation at The Hive 2012
"New and traditional media" - Presentation at The Hive 2012
 

En vedette (8)

SHAZNA NESSA on CHANGE AGENTS
SHAZNA NESSA on CHANGE AGENTSSHAZNA NESSA on CHANGE AGENTS
SHAZNA NESSA on CHANGE AGENTS
 
Christian Heilmann's 'State of the Browser in 2011'
Christian Heilmann's 'State of the Browser in 2011'Christian Heilmann's 'State of the Browser in 2011'
Christian Heilmann's 'State of the Browser in 2011'
 
Lecture slides from @Mohamed of @AJEnglish for #MozNewsLab
Lecture slides from @Mohamed of @AJEnglish for #MozNewsLabLecture slides from @Mohamed of @AJEnglish for #MozNewsLab
Lecture slides from @Mohamed of @AJEnglish for #MozNewsLab
 
Burt Herman: Follow the story
Burt Herman: Follow the storyBurt Herman: Follow the story
Burt Herman: Follow the story
 
Fantastic trip
Fantastic tripFantastic trip
Fantastic trip
 
Oliver Reichenstein's presentation to #MozNewsLab
Oliver Reichenstein's presentation to #MozNewsLabOliver Reichenstein's presentation to #MozNewsLab
Oliver Reichenstein's presentation to #MozNewsLab
 
How to prototype and influence people
How to prototype and influence peopleHow to prototype and influence people
How to prototype and influence people
 
Elements of User Experience by Jesse James Garrett
Elements of User Experience by Jesse James GarrettElements of User Experience by Jesse James Garrett
Elements of User Experience by Jesse James Garrett
 

Similaire à Open Source Process: jQuery by John Resig

ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1tutorialsruby
 
Collec+Ive Master
Collec+Ive MasterCollec+Ive Master
Collec+Ive Masterproducer
 
Open Source Success: jQuery
Open Source Success: jQueryOpen Source Success: jQuery
Open Source Success: jQueryjeresig
 
Enterprise Collaboration: Can You Connect Social Learning and Business Perfor...
Enterprise Collaboration: Can You Connect Social Learning and Business Perfor...Enterprise Collaboration: Can You Connect Social Learning and Business Perfor...
Enterprise Collaboration: Can You Connect Social Learning and Business Perfor...Human Capital Media
 
Crowdsourcing Citizen Science Data Quality with a Human-Computer Learning Net...
Crowdsourcing Citizen Science Data Quality with a Human-Computer Learning Net...Crowdsourcing Citizen Science Data Quality with a Human-Computer Learning Net...
Crowdsourcing Citizen Science Data Quality with a Human-Computer Learning Net...Andrea Wiggins
 
Data Visualization Meets Visual Storytelling
Data Visualization Meets Visual StorytellingData Visualization Meets Visual Storytelling
Data Visualization Meets Visual StorytellingJESS3
 
JESS3 Portfolio
JESS3 PortfolioJESS3 Portfolio
JESS3 PortfolioJESS3
 
2010 Honda Insight Hybrid Virginia Beach
2010 Honda Insight Hybrid Virginia Beach2010 Honda Insight Hybrid Virginia Beach
2010 Honda Insight Hybrid Virginia BeachCheckered Flag Honda
 
Intalio Corporate Presentation
Intalio Corporate PresentationIntalio Corporate Presentation
Intalio Corporate PresentationTomoaki Sawada
 
Reinventing Experience - Fabio Carnevale Maffè
Reinventing Experience - Fabio Carnevale MaffèReinventing Experience - Fabio Carnevale Maffè
Reinventing Experience - Fabio Carnevale MaffèCultura Digitale
 
ePortfolios: Documenting Life Long Learning of Professionals to Reflect Pract...
ePortfolios: Documenting Life Long Learning of Professionals to Reflect Pract...ePortfolios: Documenting Life Long Learning of Professionals to Reflect Pract...
ePortfolios: Documenting Life Long Learning of Professionals to Reflect Pract...Plan de Calidad para el SNS
 
The Ideacia ONE - Innovation Blueprint
The Ideacia ONE - Innovation BlueprintThe Ideacia ONE - Innovation Blueprint
The Ideacia ONE - Innovation BlueprintIdeacia ONE Inc.
 
2010 Honda Insight Hybrid Los Angeles
2010 Honda Insight Hybrid Los Angeles2010 Honda Insight Hybrid Los Angeles
2010 Honda Insight Hybrid Los AngelesMiller Honda Van Nuys
 
Intalio Corporate Presentation (BPMS)
Intalio Corporate Presentation (BPMS)Intalio Corporate Presentation (BPMS)
Intalio Corporate Presentation (BPMS)Fernando Gummà
 
A Curious Course on Coroutines and Concurrency
A Curious Course on Coroutines and ConcurrencyA Curious Course on Coroutines and Concurrency
A Curious Course on Coroutines and ConcurrencyHiroshi Ono
 
Drug Use in America
Drug Use in AmericaDrug Use in America
Drug Use in AmericaSam Beal
 
Designing learning spaces to meet the changing needs and expectations of stud...
Designing learning spaces to meet the changing needs and expectations of stud...Designing learning spaces to meet the changing needs and expectations of stud...
Designing learning spaces to meet the changing needs and expectations of stud...Dan Munnerley
 

Similaire à Open Source Process: jQuery by John Resig (20)

ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1
 
Collec+Ive Master
Collec+Ive MasterCollec+Ive Master
Collec+Ive Master
 
Soffer CollectIve Master
Soffer CollectIve MasterSoffer CollectIve Master
Soffer CollectIve Master
 
Open Source Success: jQuery
Open Source Success: jQueryOpen Source Success: jQuery
Open Source Success: jQuery
 
Enterprise Collaboration: Can You Connect Social Learning and Business Perfor...
Enterprise Collaboration: Can You Connect Social Learning and Business Perfor...Enterprise Collaboration: Can You Connect Social Learning and Business Perfor...
Enterprise Collaboration: Can You Connect Social Learning and Business Perfor...
 
Crowdsourcing Citizen Science Data Quality with a Human-Computer Learning Net...
Crowdsourcing Citizen Science Data Quality with a Human-Computer Learning Net...Crowdsourcing Citizen Science Data Quality with a Human-Computer Learning Net...
Crowdsourcing Citizen Science Data Quality with a Human-Computer Learning Net...
 
Data Visualization Meets Visual Storytelling
Data Visualization Meets Visual StorytellingData Visualization Meets Visual Storytelling
Data Visualization Meets Visual Storytelling
 
1
11
1
 
JESS3 Deck Jan10
JESS3 Deck Jan10JESS3 Deck Jan10
JESS3 Deck Jan10
 
JESS3 Portfolio
JESS3 PortfolioJESS3 Portfolio
JESS3 Portfolio
 
2010 Honda Insight Hybrid Virginia Beach
2010 Honda Insight Hybrid Virginia Beach2010 Honda Insight Hybrid Virginia Beach
2010 Honda Insight Hybrid Virginia Beach
 
Intalio Corporate Presentation
Intalio Corporate PresentationIntalio Corporate Presentation
Intalio Corporate Presentation
 
Reinventing Experience - Fabio Carnevale Maffè
Reinventing Experience - Fabio Carnevale MaffèReinventing Experience - Fabio Carnevale Maffè
Reinventing Experience - Fabio Carnevale Maffè
 
ePortfolios: Documenting Life Long Learning of Professionals to Reflect Pract...
ePortfolios: Documenting Life Long Learning of Professionals to Reflect Pract...ePortfolios: Documenting Life Long Learning of Professionals to Reflect Pract...
ePortfolios: Documenting Life Long Learning of Professionals to Reflect Pract...
 
The Ideacia ONE - Innovation Blueprint
The Ideacia ONE - Innovation BlueprintThe Ideacia ONE - Innovation Blueprint
The Ideacia ONE - Innovation Blueprint
 
2010 Honda Insight Hybrid Los Angeles
2010 Honda Insight Hybrid Los Angeles2010 Honda Insight Hybrid Los Angeles
2010 Honda Insight Hybrid Los Angeles
 
Intalio Corporate Presentation (BPMS)
Intalio Corporate Presentation (BPMS)Intalio Corporate Presentation (BPMS)
Intalio Corporate Presentation (BPMS)
 
A Curious Course on Coroutines and Concurrency
A Curious Course on Coroutines and ConcurrencyA Curious Course on Coroutines and Concurrency
A Curious Course on Coroutines and Concurrency
 
Drug Use in America
Drug Use in AmericaDrug Use in America
Drug Use in America
 
Designing learning spaces to meet the changing needs and expectations of stud...
Designing learning spaces to meet the changing needs and expectations of stud...Designing learning spaces to meet the changing needs and expectations of stud...
Designing learning spaces to meet the changing needs and expectations of stud...
 

Plus de Open Journalism on the Open Web (7)

Evan Hansen of Wired talkss to #MozNewsLab
Evan Hansen of Wired talkss to #MozNewsLabEvan Hansen of Wired talkss to #MozNewsLab
Evan Hansen of Wired talkss to #MozNewsLab
 
Amanda Cox - Visualizing data at the New York Times
Amanda Cox - Visualizing data at the New York TimesAmanda Cox - Visualizing data at the New York Times
Amanda Cox - Visualizing data at the New York Times
 
Amanda Hickman's presentation
Amanda Hickman's presentationAmanda Hickman's presentation
Amanda Hickman's presentation
 
Big Ugly Datasets For Thumb-Fingered Journalists
Big Ugly Datasets For Thumb-Fingered JournalistsBig Ugly Datasets For Thumb-Fingered Journalists
Big Ugly Datasets For Thumb-Fingered Journalists
 
Why does Mozilla care about news?
Why does Mozilla care about news? Why does Mozilla care about news?
Why does Mozilla care about news?
 
Hh p2 pu class
Hh p2 pu classHh p2 pu class
Hh p2 pu class
 
Open journalismfortheopenweb intro-sept2010
Open journalismfortheopenweb intro-sept2010Open journalismfortheopenweb intro-sept2010
Open journalismfortheopenweb intro-sept2010
 

Dernier

call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 

Dernier (20)

Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 

Open Source Process: jQuery by John Resig

  • 1. Open Source Process: jQuery John Resig http://ejohn.org/ - http://twitter.com/jeresig
  • 2. jQuery ✦ A JavaScript library designed to hide painful cross-browser compatibility issues while presenting a solid, usable, API.
  • 3. Simple API ✦ $(“div > span”).addClass(“foo”); ✦ “Find some elements” ✦ “Do something with them” ✦ Makes complex manipulation of web pages simple
  • 4. Points of Concern ✦ Primary issues: ✦ Quality of API ✦ Quality of browser-issue-hiding ✦ Other issues: ✦ Speed, community, licensing, development team, openness, test coverage, API documentation, tutorials, books, demos
  • 5. Space ✦ Highly competitive space ✦ Released Jan. 2006 - already a dominant player: Prototype JavaScript Library ✦ (Bundled with Ruby on Rails, had some nice coattail growth.) ✦ Other libraries: Dojo, Yahoo UI, MooTools
  • 6.
  • 7.
  • 8. Things That Are Important ✦ Technical ✦ API Design (Usability, documentation) ✦ Code Quality (Licensing, openness, test coverage) ✦ Non-technical ✦ Community (Resources, responsiveness) ✦ Learning Aides (Tutorials, books, demos)
  • 9. What it all boils down to... ✦ How quickly can you get your user hooked - and are you giving them room, and the resources, to grow? ✦ Put yourself in your user’s shoes.
  • 10. Se In H co te om nd gr ep at Ap io ag p n e Ex Vi pl AP ew or ID Tu eA oc t or PI s ial Co D m ow Ex te m nl un oa nd i ty d AP I Tr Re Tu t y Tu ad or t ial or So s ial ur ce The First Year: Growth The First Month: Learning The First Day: Can this help me? Co nt Ex Ex rib pe pe ut r im r im e en en t t Watch the full process
  • 11. Attrition Failure at any step costs your project another user. Your project is your own worst enemy.
  • 12. The First Day “After spending less than 3 hours reading blog posts and perusing the documentation I was able to do a lot more in a lot less time then ever before. The huge community and neatly organized jQuery plugins make me feel like a sucker for not having jQuery for my pet-project.” http://aleembawany.com/2009/01/16/switching-from-prototype-to-jquery/
  • 13. Homepage ✦ Set a good first impression ✦ Answer the questions: ✦ What is this? ✦ What can it do for me? ✦ Where can I go to learn more?
  • 14.
  • 15. Getting Started Tutorial ✦ Clear, focused ✦ Assume no background knowledge
  • 16. Download ✦ Make it super-easy, remove any barriers ✦ (We link straight to the source, no .zip)
  • 17. Licensing ✦ Not a concern for some of people ✦ A huge concern for a lot of corporate users ✦ Use the most-open license possible ✦ Fewest number of restrictions gives you the largest possible market ✦ We use the MIT license for jQuery ✦ “Leave my name on the source file”
  • 18. Try the Tutorial ✦ ...and subsequent Experimentation ✦ All about code quality ✦ For JavaScript libraries: Make sure your code is seamless across browsers ✦ For desktop apps: Is it truly cross- platform? Are there dependencies? ✦ The user should never be forced to ask for help in order to get started ✦ Asking for help “getting started” is a failure case on your end
  • 19. Simplicity ✦ Simple APIs are king ✦ Users understand quicker ✦ Get started faster ✦ Become advanced quicker
  • 20. The First Month “Alright I am now really really into jQuery. I used to hate javascript. WHAT HAS HAPPENED HERE? Javascript people, speak to me.” http://twitter.com/_ralph/status/1123503553
  • 21. Community Resources ✦ Provide places for users to ask questions ✦ jQuery: ✦ jQuery Forum ✦ IRC Channel ✦ External: ✦ StackOverflow.com ✦ Twitter ✦ Blogs
  • 22. Monitor Your Community ✦ Make sure that everyone is getting the help that they need ✦ We run an Evangelism Team “Developer Relations” ✦ Track all of the services they use ✦ Forum - Subscribe to the forums ✦ IRC - Sit in the IRC channel ✦ Blogs - Use Technorati and Google Blog Search ✦ Twitter - Use Twitter Search
  • 23. Service Treat every user as a potential, future, contributor.
  • 24. Service ✦ Today Mike Alsup and Michael Geary are part of the jQuery team
  • 25. Twitter Tracking ✦ Track people talking about the code: ✦ http://search.twitter.com/ ✦ Look for people having trouble, asking questions
  • 26. Answer Questions ✦ It takes a lot of time, but sometimes it’s really worth it ✦ You never know who could be having trouble
  • 27. Follow-up With Large Users ✦ Maintain a list of contacts with your large users ✦ Ping them every once in a while ✦ Make sure that they’re having a good experience ✦ They frequently forget to file bugs - make sure that happens
  • 28. API Documentation ✦ jQuery had API docs from the start (2006) ✦ Two other major libraries: Dojo, Prototype didn’t have any until 2007+ ✦ Clarity and usability of documentation is huge
  • 31. Learn More ✦ Tutorials and Books ✦ Tutorials are short and drive home a point or single topic ✦ “Books” are more holistic and lead the reader from start to finish
  • 34. API Buy-in ✦ Once users start using an API for an application they generally stick with it ✦ Every new application is an opportunity to snag, or lose, a user ✦ All boils down to attrition: Did your user have a good experience building the first application?
  • 35. Growth You need to give users some place to grow to.
  • 36. Open Process ✦ Open Source is easy (just release the code and be done with it) ✦ Open Process is hard (open source control, easy bug tracking) ✦ A good process helps users learn
  • 37. Core Development Process ✦ Weekly, public, team meetings ✦ Defined release dates and schedule ✦ Frequent discussion in #jquery-dev (IRC) ✦ Active participation of the committers and the bug triage team
  • 39. Bug Triage Team ✦ Responsible for processing all the bugs in the bug tracker ✦ Make sure test cases are filed ✦ Work through pulls in the Github pull request queue ✦ Make sure the test suite is passing
  • 40. Bugs
  • 41. Roadmap Decisions ✦ Put up a public form for people to submit possible feature suggestions ✦ The team works through all the feature suggestions and creates a list ✦ All of this is done in a publicly and discussed in a public meeting
  • 43. Extensibility ✦ Your API isn’t perfect - it can’t include everything for everyone ✦ Give users the ability to add their own functionality ✦ jQuery has a healthy plugin community with hundreds of plugins. ✦ Gives jQuery a huge leg up on other libraries.
  • 44. Complex Applications ✦ Users will attempt to build increasingly complex applications ✦ Need to be there to help, otherwise they’ll leave for something else ✦ jQuery UI - A set of complex User Interface components.
  • 46. Contributions ✦ How does a user become a contributor? ✦ Encouragement is the biggest factor ✦ Encourage users to submit bug reports ✦ Encourage them to build test cases ✦ Encourage them to submit patches ✦ Praise them when something good is done. ✦ Communication is a huge factor here, “dead” bugs or mailing list threads cripple participation.
  • 47. Overview ✦ Help your users at every step of the way ✦ Track them and help the stragglers ✦ Help them grow and flourish ✦ Questions? ✦ jeresig@gmail.com ✦ http://ejohn.org/ ✦ http://twitter.com/jeresig