SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
jQuery Keynote
                 John Resig
http://ejohn.org/ - http://twitter.com/jeresig
http://trends.builtwith.com/javascript/jQuery
http://httparchive.org/interesting.php#flash
jQuery 1.7
 Beta 1 is out!
HTML5 in IE
✦   It’s now possible to create HTML 5
    elements in older IE browsers:
✦   $(“#foo”).append(“<footer>...</footer>”);
✦   (Previously nodes might’ve ended up
    broken and not rendering properly.)
✦   We do this by having a fragment with the
    nodes already in it (fixes the issue!).
✦   You’ll still need to use a HTML 5 shim.
    http://code.google.com/p/html5shim/
Event Property Hooks
✦   jQuery has it’s own custom event object
    .click(function(e) { e.target, etc. });
✦   We do this to work around browser issues
    and add in missing features.
✦   Now it’s extensible, faster loading, and
    works around some browser issues.
✦   This will help to reduce possible bug
    weirdness relating to this piece of code.
Event .on(), .off()
✦   Two new methods:
    .on() and .off()
✦   These serve as simple shortcuts for:
    .bind(), .live(), and .delegate()
✦   .on( “click” ) // bind
✦   .on( “click”, “div.test” ) // delegate
✦   (.live is the same as delegate, but on a
    document)
Selector Attribute Rewrite
✦   Following up on the attribute module
    rewrite
✦   We now use our new attribute handling in
    the Sizzle selector engine
✦   Makes cross-browser compatibility that
    much better
Animation Ordering
✦   We now catch and prevent issues with
    animations not returning to their full
    height/width
✦   We handle the queueing better internally
    to work around issues relating to pausing
    animations
Submit / Focus Events
✦   We’ve improved the quality and stability of
    the submit and focus event handling
✦   IE doesn’t bubble these events, normally
✦   We’ve worked around its shortcomings for
    a while now - this just makes that support
    that much better
Related Talks
✦   Attributes and Properties
    Today (after Keynote), Timmy Willison
✦   Deferreds and Callbacks
    Today, 11:45, Julian Aubourg
✦   Animation Engine
    Today, 1:15, Corey Frang
✦   Events Rewrite
    Tomorrow, 11:45, Dave Methvin
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)
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.
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
Alternate 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


            New Learning
            Site Coming!
Getting Involved
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
Project-Wide 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




  bugs.jquery.com/ticketgraph?days=90
Bugs (cont.)
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 publicly and discussed
      in a public meeting
Roadmap
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

✦   Communication is a huge factor here,
    “dead” bugs or mailing list threads cripple
    participation.
✦   http://docs.jquery.com/Getting_Involved
Missing Features
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.
✦   We’re working on a new
    plugins site!
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 Mobile - A complete interface for
    developing mobile web apps.
jQuery UI
jQuery Mobile
Keynotes
✦   jQuery Mobile Keynote Next!
✦   jQuery UI Keynote Tomorrow.
✦   Thank our sponsors!

Contenu connexe

Tendances

Consumer trend 2011 12
Consumer trend 2011 12Consumer trend 2011 12
Consumer trend 2011 12
PESHWA ACHARYA
 
Fringe eu procurement - sara piller
Fringe   eu procurement - sara pillerFringe   eu procurement - sara piller
Fringe eu procurement - sara piller
lgconf11
 

Tendances (15)

JESS3 Deck Jan10
JESS3 Deck Jan10JESS3 Deck Jan10
JESS3 Deck Jan10
 
2010 Honda Insight Hybrid Virginia Beach
2010 Honda Insight Hybrid Virginia Beach2010 Honda Insight Hybrid Virginia Beach
2010 Honda Insight Hybrid Virginia Beach
 
Fiber Composite Solutions
Fiber Composite SolutionsFiber Composite Solutions
Fiber Composite Solutions
 
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
 
2010 Honda Insight Hybrid San Fernando
2010 Honda Insight Hybrid San Fernando2010 Honda Insight Hybrid San Fernando
2010 Honda Insight Hybrid San Fernando
 
Gpa
GpaGpa
Gpa
 
2010 Honda Insight Hybrid San Leandro
2010 Honda Insight Hybrid San Leandro2010 Honda Insight Hybrid San Leandro
2010 Honda Insight Hybrid San Leandro
 
Visual Resume
Visual ResumeVisual Resume
Visual Resume
 
Consumer trend 2011 12
Consumer trend 2011 12Consumer trend 2011 12
Consumer trend 2011 12
 
AboutFace Media Capabilities Presentation
AboutFace Media Capabilities PresentationAboutFace Media Capabilities Presentation
AboutFace Media Capabilities Presentation
 
IWB in the Prep Classroom
IWB in the Prep ClassroomIWB in the Prep Classroom
IWB in the Prep Classroom
 
Person schedule
Person schedulePerson schedule
Person schedule
 
Prompt prezi online_educa_2010
Prompt prezi online_educa_2010Prompt prezi online_educa_2010
Prompt prezi online_educa_2010
 
6.09 Develop A Plan And Execute
6.09 Develop A Plan And Execute6.09 Develop A Plan And Execute
6.09 Develop A Plan And Execute
 
Fringe eu procurement - sara piller
Fringe   eu procurement - sara pillerFringe   eu procurement - sara piller
Fringe eu procurement - sara piller
 

Similaire à jQuery Keynote 2011: Boston

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
 
ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1
tutorialsruby
 
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 Concurrency
Hiroshi Ono
 
JESS3 Portfolio
JESS3 PortfolioJESS3 Portfolio
JESS3 Portfolio
JESS3
 
Bookbuzz imagination and innovation
Bookbuzz   imagination and innovationBookbuzz   imagination and innovation
Bookbuzz imagination and innovation
Alan Jordan MSc
 

Similaire à jQuery Keynote 2011: Boston (20)

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)
 
ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1ete2009-jquery-success-ete-1
ete2009-jquery-success-ete-1
 
Soffer CollectIve Master
Soffer CollectIve MasterSoffer CollectIve Master
Soffer CollectIve Master
 
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...
 
Intalio Corporate Presentation
Intalio Corporate PresentationIntalio Corporate Presentation
Intalio Corporate Presentation
 
Ras
RasRas
Ras
 
Intalio Corporate Presentation (BPMS)
Intalio Corporate Presentation (BPMS)Intalio Corporate Presentation (BPMS)
Intalio Corporate Presentation (BPMS)
 
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
 
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
 
1
11
1
 
2010 Honda Insight Boston
2010 Honda Insight Boston2010 Honda Insight Boston
2010 Honda Insight Boston
 
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
 
JESS3 Portfolio
JESS3 PortfolioJESS3 Portfolio
JESS3 Portfolio
 
2010 Honda Insight Hybrid Boston
2010 Honda  Insight Hybrid Boston2010 Honda  Insight Hybrid Boston
2010 Honda Insight Hybrid Boston
 
Making social media work for you | StreetGames National Conference 2013
Making social media work for you | StreetGames National Conference 2013Making social media work for you | StreetGames National Conference 2013
Making social media work for you | StreetGames National Conference 2013
 
2010 Honda Insight Hybrid Jackson
2010 Honda Insight Hybrid Jackson2010 Honda Insight Hybrid Jackson
2010 Honda Insight Hybrid Jackson
 
Reconsidering the Digital Divide, by Hovig Tchalian
Reconsidering the Digital Divide, by Hovig TchalianReconsidering the Digital Divide, by Hovig Tchalian
Reconsidering the Digital Divide, by Hovig Tchalian
 
Bookbuzz imagination and innovation
Bookbuzz   imagination and innovationBookbuzz   imagination and innovation
Bookbuzz imagination and innovation
 

Plus de 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
 

Plus de 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 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)
 
JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)
 
Meta Programming with JavaScript
Meta Programming with JavaScriptMeta Programming with JavaScript
Meta Programming with JavaScript
 

Dernier

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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

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
 
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...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

jQuery Keynote 2011: Boston

  • 1. jQuery Keynote John Resig http://ejohn.org/ - http://twitter.com/jeresig
  • 4.
  • 5. jQuery 1.7 Beta 1 is out!
  • 6. HTML5 in IE ✦ It’s now possible to create HTML 5 elements in older IE browsers: ✦ $(“#foo”).append(“<footer>...</footer>”); ✦ (Previously nodes might’ve ended up broken and not rendering properly.) ✦ We do this by having a fragment with the nodes already in it (fixes the issue!). ✦ You’ll still need to use a HTML 5 shim. http://code.google.com/p/html5shim/
  • 7. Event Property Hooks ✦ jQuery has it’s own custom event object .click(function(e) { e.target, etc. }); ✦ We do this to work around browser issues and add in missing features. ✦ Now it’s extensible, faster loading, and works around some browser issues. ✦ This will help to reduce possible bug weirdness relating to this piece of code.
  • 8. Event .on(), .off() ✦ Two new methods: .on() and .off() ✦ These serve as simple shortcuts for: .bind(), .live(), and .delegate() ✦ .on( “click” ) // bind ✦ .on( “click”, “div.test” ) // delegate ✦ (.live is the same as delegate, but on a document)
  • 9. Selector Attribute Rewrite ✦ Following up on the attribute module rewrite ✦ We now use our new attribute handling in the Sizzle selector engine ✦ Makes cross-browser compatibility that much better
  • 10. Animation Ordering ✦ We now catch and prevent issues with animations not returning to their full height/width ✦ We handle the queueing better internally to work around issues relating to pausing animations
  • 11. Submit / Focus Events ✦ We’ve improved the quality and stability of the submit and focus event handling ✦ IE doesn’t bubble these events, normally ✦ We’ve worked around its shortcomings for a while now - this just makes that support that much better
  • 12. Related Talks ✦ Attributes and Properties Today (after Keynote), Timmy Willison ✦ Deferreds and Callbacks Today, 11:45, Julian Aubourg ✦ Animation Engine Today, 1:15, Corey Frang ✦ Events Rewrite Tomorrow, 11:45, Dave Methvin
  • 13. 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)
  • 14. 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
  • 15. Attrition Failure at any step costs your project another user. Your project is your own worst enemy.
  • 16. Community Resources ✦ Provide places for users to ask questions ✦ jQuery: ✦ jQuery Forum ✦ IRC Channel ✦ External: ✦ StackOverflow.com ✦ Twitter ✦ Blogs
  • 17. 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
  • 18. Service Treat every user as a potential, future, contributor.
  • 19. Service ✦ Today Mike Alsup and Michael Geary are part of the jQuery team
  • 20. Twitter Tracking ✦ Track people talking about the code: ✦ http://search.twitter.com/ ✦ Look for people having trouble, asking questions
  • 21. Answer Questions ✦ It takes a lot of time, but sometimes it’s really worth it ✦ You never know who could be having trouble
  • 22. 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
  • 23. 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
  • 27. 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
  • 28. Tutorials New Learning Site Coming!
  • 30. 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
  • 31. 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
  • 34. 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
  • 37. 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 publicly and discussed in a public meeting
  • 39. 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 ✦ Communication is a huge factor here, “dead” bugs or mailing list threads cripple participation. ✦ http://docs.jquery.com/Getting_Involved
  • 41. 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. ✦ We’re working on a new plugins site!
  • 42. 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 Mobile - A complete interface for developing mobile web apps.
  • 45. Keynotes ✦ jQuery Mobile Keynote Next! ✦ jQuery UI Keynote Tomorrow. ✦ Thank our sponsors!