SlideShare a Scribd company logo
1 of 43
Download to read offline
Open Source Success:
      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
Success?
    Personal Success vs. External Success
āœ¦

    Personal Success (for me)
āœ¦
    āœ¦ Someone else uses the project and ļ¬nds
      it useful
    Some Numbers:
āœ¦
    āœ¦ Downloads
      āœ¦ jQuery 1.2.6: 40+ million downloads
      āœ¦ (People probably include it directly in
        their pages)
      āœ¦ Total: Over 180+ million downloads
Personal Success
    Google Analytics
āœ¦
    āœ¦ 1.5 million+ unique monthly visitors
    āœ¦ 125,000+ per day


March ā€™09 to Dec ā€˜08: 50% Growth


March ā€™09 to Feb ā€˜09: 8% Growth
External Success
    No solid numbers for JS Libraries
āœ¦
    āœ¦ Scripts not indexed by Google
    āœ¦ Sites behind intranets

    A couple tools:
āœ¦
    āœ¦ Google Trends (Google searches for a
      term)
External Success
    MAMA Opera
āœ¦
    āœ¦ An HTML search engine built by Opera
    āœ¦ Can search through script ļ¬les
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.
āœ¦
H
                                                                           In
                         Se
                                                                             te
                           co                                                                                                              om
                              n                                                   gr                                                           ep
                                                                                     at
                                    dA
                                                                                       io                                                           ag
                                                                                                                                                        e
                                                                                            n
                                         pp


                                                                                                                                      Vi
                         Ex                                                                                                             ew
                                                                           AP
                              pl                                                ID
                                or                                                                                                            Tu
                                                                                                                                                to
                                  eA                                                   oc
                                                                                           s                                                           ria
                                          PI
                                                                                                                                                             l

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

                                                                                                                                      Tr
                                                                                                                                         y
                                                                            Tu
                                                                              to                                                             Tu
                         Re
                                                                                                                                                t
                           ad                                                   ria                                                               or
                                                                                          ls
                                   So                                                                                                                  ial
                                        ur
                                          ce

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




                         Co
                                                                           Ex                                                         Ex
                               nt
                                                                             pe                                                            pe
                                   rib
                                                                                r                                                             r
                                                                                     im                                                           im
                                        ut
                                          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 ļ¬rst 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 ļ¬leā€
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:
āœ¦
    āœ¦ Mailing list
    āœ¦ IRC Channel

    External:
āœ¦
    āœ¦ jQueryHelp.com Forum
    āœ¦ StackOverļ¬‚ow.com
    āœ¦ Twitter
    āœ¦ Blogs
Monitor Your Community
    Make sure that everyone is getting the
āœ¦
    help that they need
    Evangelism Team, run by Rey Bango
āœ¦

    Track all of the services they use
āœ¦
    āœ¦ Mailing List - Subscribe to the mailing
      list
    āœ¦ 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 ļ¬le 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 ļ¬nish
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 ļ¬rst
    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
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 ļ¬‚ourish
āœ¦




    Questions?
āœ¦
    āœ¦ jeresig@gmail.com
    āœ¦ http://ejohn.org/
    āœ¦ http://twitter.com/jeresig

More Related Content

What's hot

30 Minute Expert1
30 Minute Expert130 Minute Expert1
30 Minute Expert1
Ben Wilkoff
Ā 
Fringe eu procurement - sara piller
Fringe   eu procurement - sara pillerFringe   eu procurement - sara piller
Fringe eu procurement - sara piller
lgconf11
Ā 

What's hot (13)

2010 Honda Insight Hybrid San Leandro
2010 Honda Insight Hybrid San Leandro2010 Honda Insight Hybrid San Leandro
2010 Honda Insight Hybrid San Leandro
Ā 
Austin Honda Insight Brochure 2010
Austin Honda Insight Brochure 2010Austin Honda Insight Brochure 2010
Austin Honda Insight Brochure 2010
Ā 
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
Ā 
30 Minute Expert1
30 Minute Expert130 Minute Expert1
30 Minute Expert1
Ā 
rijkhof design package design samples
rijkhof design package design samplesrijkhof design package design samples
rijkhof design package design samples
Ā 
2010 Honda Insight Hybrid Los Angeles
2010 Honda Insight Hybrid Los Angeles2010 Honda Insight Hybrid Los Angeles
2010 Honda Insight Hybrid Los Angeles
Ā 
2010 Honda Insight Hybrid
2010 Honda Insight Hybrid2010 Honda Insight Hybrid
2010 Honda Insight Hybrid
Ā 
High stakes-world-of-mobile-payments-infographic
High stakes-world-of-mobile-payments-infographicHigh stakes-world-of-mobile-payments-infographic
High stakes-world-of-mobile-payments-infographic
Ā 
IWB in the Prep Classroom
IWB in the Prep ClassroomIWB in the Prep Classroom
IWB in the Prep Classroom
Ā 
AAF Nissan Plans Book
AAF Nissan Plans BookAAF Nissan Plans Book
AAF Nissan Plans Book
Ā 
A af plansbook2012
A af plansbook2012A af plansbook2012
A af plansbook2012
Ā 
Fringe eu procurement - sara piller
Fringe   eu procurement - sara pillerFringe   eu procurement - sara piller
Fringe eu procurement - sara piller
Ā 
M&A Integration Planning The Integration Of An Acquired Companys Legal De...
M&A Integration Planning The Integration Of An Acquired Companys Legal De...M&A Integration Planning The Integration Of An Acquired Companys Legal De...
M&A Integration Planning The Integration Of An Acquired Companys Legal De...
Ā 

Similar to Open Source Success: jQuery

ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1
tutorialsruby
Ā 
ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1
tutorialsruby
Ā 
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
Ā 
Supplement Comparison chart
Supplement Comparison chartSupplement Comparison chart
Supplement Comparison chart
902sports
Ā 
The Singles Lifecycle
The Singles LifecycleThe Singles Lifecycle
The Singles Lifecycle
The Planning Lab
Ā 
2010 insight-hybrid-brochure
2010 insight-hybrid-brochure2010 insight-hybrid-brochure
2010 insight-hybrid-brochure
Burbank Honda
Ā 

Similar to Open Source Success: jQuery (20)

ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1
Ā 
ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1
Ā 
Gpa
GpaGpa
Gpa
Ā 
Personal Branding for Corporate Success
Personal Branding for Corporate SuccessPersonal Branding for Corporate Success
Personal Branding for Corporate Success
Ā 
OpenID Foundation Japan Chapter Announcement
OpenID Foundation Japan Chapter AnnouncementOpenID Foundation Japan Chapter Announcement
OpenID Foundation Japan Chapter Announcement
Ā 
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...
Ā 
1
11
1
Ā 
Supplement Comparison chart
Supplement Comparison chartSupplement Comparison chart
Supplement Comparison chart
Ā 
Creative Workshop Teacher's Guide
Creative Workshop Teacher's GuideCreative Workshop Teacher's Guide
Creative Workshop Teacher's Guide
Ā 
Pronouns Adjectives
Pronouns AdjectivesPronouns Adjectives
Pronouns Adjectives
Ā 
Dvd Label
Dvd LabelDvd Label
Dvd Label
Ā 
jQuery Open Source (Fronteer 2011)
jQuery Open Source (Fronteer 2011)jQuery Open Source (Fronteer 2011)
jQuery Open Source (Fronteer 2011)
Ā 
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...
Ā 
Spiral Of Knowledge - 1967
Spiral Of Knowledge - 1967Spiral Of Knowledge - 1967
Spiral Of Knowledge - 1967
Ā 
High stakes world of Mobile Payments
High stakes world of Mobile PaymentsHigh stakes world of Mobile Payments
High stakes world of Mobile Payments
Ā 
The Singles Lifecycle
The Singles LifecycleThe Singles Lifecycle
The Singles Lifecycle
Ā 
2010 Honda Insight Hybrid Omaha Nebraska
2010 Honda Insight Hybrid Omaha Nebraska2010 Honda Insight Hybrid Omaha Nebraska
2010 Honda Insight Hybrid Omaha Nebraska
Ā 
2010 insight-hybrid-brochure-honda-katy-houston-tx
2010 insight-hybrid-brochure-honda-katy-houston-tx2010 insight-hybrid-brochure-honda-katy-houston-tx
2010 insight-hybrid-brochure-honda-katy-houston-tx
Ā 
2010 Honda Insight Hybrid Sedan Brochure | DCH Honda of Temecula
 2010 Honda Insight Hybrid Sedan Brochure | DCH Honda of Temecula 2010 Honda Insight Hybrid Sedan Brochure | DCH Honda of Temecula
2010 Honda Insight Hybrid Sedan Brochure | DCH Honda of Temecula
Ā 
2010 insight-hybrid-brochure
2010 insight-hybrid-brochure2010 insight-hybrid-brochure
2010 insight-hybrid-brochure
Ā 

More from jeresig

Applying Computer Vision to Art History
Applying Computer Vision to Art HistoryApplying Computer Vision to Art History
Applying Computer Vision to Art History
jeresig
Ā 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
jeresig
Ā 
Introduction to jQuery (Ajax Exp 2006)
Introduction to jQuery (Ajax Exp 2006)Introduction to jQuery (Ajax Exp 2006)
Introduction to jQuery (Ajax Exp 2006)
jeresig
Ā 
jQuery Recommendations to the W3C (2011)
jQuery Recommendations to the W3C (2011)jQuery Recommendations to the W3C (2011)
jQuery Recommendations to the W3C (2011)
jeresig
Ā 
jQuery Open Source Process (RIT 2011)
jQuery Open Source Process (RIT 2011)jQuery Open Source Process (RIT 2011)
jQuery Open Source Process (RIT 2011)
jeresig
Ā 
jQuery Open Source Process (Knight Foundation 2011)
jQuery Open Source Process (Knight Foundation 2011)jQuery Open Source Process (Knight Foundation 2011)
jQuery Open Source Process (Knight Foundation 2011)
jeresig
Ā 

More from jeresig (20)

Does Coding Every Day Matter?
Does Coding Every Day Matter?Does Coding Every Day Matter?
Does Coding Every Day Matter?
Ā 
Accidentally Becoming a Digital Librarian
Accidentally Becoming a Digital LibrarianAccidentally Becoming a Digital Librarian
Accidentally Becoming a Digital Librarian
Ā 
2014: John's Favorite Thing (Neo4j)
2014: John's Favorite Thing (Neo4j)2014: John's Favorite Thing (Neo4j)
2014: John's Favorite Thing (Neo4j)
Ā 
Computer Vision as Art Historical Investigation
Computer Vision as Art Historical InvestigationComputer Vision as Art Historical Investigation
Computer Vision as Art Historical Investigation
Ā 
Hacking Art History
Hacking Art HistoryHacking Art History
Hacking Art History
Ā 
Using JS to teach JS at Khan Academy
Using JS to teach JS at Khan AcademyUsing JS to teach JS at Khan Academy
Using JS to teach JS at Khan Academy
Ā 
Applying Computer Vision to Art History
Applying Computer Vision to Art HistoryApplying Computer Vision to Art History
Applying Computer Vision to Art History
Ā 
NYARC 2014: Frick/Zeri Results
NYARC 2014: Frick/Zeri ResultsNYARC 2014: Frick/Zeri Results
NYARC 2014: Frick/Zeri Results
Ā 
EmpireJS: Hacking Art with Node js and Image Analysis
EmpireJS: Hacking Art with Node js and Image AnalysisEmpireJS: Hacking Art with Node js and Image Analysis
EmpireJS: Hacking Art with Node js and Image Analysis
Ā 
Applying Computer Vision to Art History
Applying Computer Vision to Art HistoryApplying Computer Vision to Art History
Applying Computer Vision to Art History
Ā 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
Ā 
Introduction to jQuery (Ajax Exp 2006)
Introduction to jQuery (Ajax Exp 2006)Introduction to jQuery (Ajax Exp 2006)
Introduction to jQuery (Ajax Exp 2006)
Ā 
jQuery Recommendations to the W3C (2011)
jQuery Recommendations to the W3C (2011)jQuery Recommendations to the W3C (2011)
jQuery Recommendations to the W3C (2011)
Ā 
jQuery Open Source Process (RIT 2011)
jQuery Open Source Process (RIT 2011)jQuery Open Source Process (RIT 2011)
jQuery Open Source Process (RIT 2011)
Ā 
jQuery Open Source Process (Knight Foundation 2011)
jQuery Open Source Process (Knight Foundation 2011)jQuery Open Source Process (Knight Foundation 2011)
jQuery Open Source Process (Knight Foundation 2011)
Ā 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
Ā 
Holistic JavaScript Performance
Holistic JavaScript PerformanceHolistic JavaScript Performance
Holistic JavaScript Performance
Ā 
New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)
Ā 
Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)
Ā 
Advanced jQuery (Ajax Exp 2007)
Advanced jQuery (Ajax Exp 2007)Advanced jQuery (Ajax Exp 2007)
Advanced jQuery (Ajax Exp 2007)
Ā 

Recently uploaded

+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@
Ā 

Recently uploaded (20)

+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...
Ā 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Ā 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Ā 
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
Ā 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
Ā 
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
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
Ā 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Ā 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Ā 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Ā 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Ā 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Ā 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜
Ā 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 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
Ā 

Open Source Success: jQuery

  • 1. Open Source Success: 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. Success? Personal Success vs. External Success āœ¦ Personal Success (for me) āœ¦ āœ¦ Someone else uses the project and ļ¬nds it useful Some Numbers: āœ¦ āœ¦ Downloads āœ¦ jQuery 1.2.6: 40+ million downloads āœ¦ (People probably include it directly in their pages) āœ¦ Total: Over 180+ million downloads
  • 7. Personal Success Google Analytics āœ¦ āœ¦ 1.5 million+ unique monthly visitors āœ¦ 125,000+ per day March ā€™09 to Dec ā€˜08: 50% Growth March ā€™09 to Feb ā€˜09: 8% Growth
  • 8. External Success No solid numbers for JS Libraries āœ¦ āœ¦ Scripts not indexed by Google āœ¦ Sites behind intranets A couple tools: āœ¦ āœ¦ Google Trends (Google searches for a term)
  • 9. External Success MAMA Opera āœ¦ āœ¦ An HTML search engine built by Opera āœ¦ Can search through script ļ¬les
  • 10. 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)
  • 11. 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. āœ¦
  • 12. H In Se te co om n gr ep at dA io ag e n pp Vi Ex ew AP pl ID or Tu to eA oc s ria PI l D Co m ow m Ex nl te un oa d nd ity AP I Tr y Tu to Tu Re t ad ria or ls So ial ur ce The First Year: Growth The First Month: Learning The First Day: Can this help me? Co Ex Ex nt pe pe rib r r im im ut e en en t t Watch the full process
  • 13. Attrition Failure at any step costs your project another user. Your project is your own worst enemy.
  • 14. 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/
  • 15. Homepage Set a good ļ¬rst impression āœ¦ Answer the questions: āœ¦ āœ¦ What is this? āœ¦ What can it do for me? āœ¦ Where can I go to learn more?
  • 16.
  • 17. Getting Started Tutorial Clear, focused āœ¦ Assume no background knowledge āœ¦
  • 18. Download Make it super-easy, remove any barriers āœ¦ (We link straight to the source, no .zip) āœ¦
  • 19. 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 ļ¬leā€
  • 20. 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
  • 21. Simplicity Simple APIs are king āœ¦ Users understand quicker āœ¦ Get started faster āœ¦ Become advanced quicker āœ¦
  • 22. 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
  • 23. Community Resources Provide places for users to ask questions āœ¦ jQuery: āœ¦ āœ¦ Mailing list āœ¦ IRC Channel External: āœ¦ āœ¦ jQueryHelp.com Forum āœ¦ StackOverļ¬‚ow.com āœ¦ Twitter āœ¦ Blogs
  • 24. Monitor Your Community Make sure that everyone is getting the āœ¦ help that they need Evangelism Team, run by Rey Bango āœ¦ Track all of the services they use āœ¦ āœ¦ Mailing List - Subscribe to the mailing list āœ¦ IRC - Sit in the IRC channel āœ¦ Blogs - Use Technorati and Google Blog Search āœ¦ Twitter - Use Twitter Search
  • 25. Service Treat every user as a potential, future, contributor.
  • 26. Service Today Mike Alsup and Michael Geary are āœ¦ part of the jQuery team
  • 27. Twitter Tracking Track people talking about the code: āœ¦ āœ¦ http://search.twitter.com/ Look for people having trouble, asking āœ¦ questions
  • 28. Answer Questions It takes a lot of time, but sometimes itā€™s āœ¦ really worth it You never know who could be having āœ¦ trouble
  • 29. 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 ļ¬le bugs - make āœ¦ sure that happens
  • 30. 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
  • 33. 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 ļ¬nish
  • 36. 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 ļ¬rst application?
  • 37. Growth You need to give users some place to grow to.
  • 38. 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
  • 39. 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.
  • 40. 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.
  • 42. 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.
  • 43. Overview Help your users at every step of the way āœ¦ Track them and help the stragglers āœ¦ Help them grow and ļ¬‚ourish āœ¦ Questions? āœ¦ āœ¦ jeresig@gmail.com āœ¦ http://ejohn.org/ āœ¦ http://twitter.com/jeresig