jQuery Open Source      Process                 John Resighttp://ejohn.org/ - http://twitter.com/jeresig
http://trends.builtwith.com/javascript/jQuery
http://httparchive.org/interesting.php#flash
Things That Are Important✦   Technical    ✦ API Design      (Usability, documentation)    ✦ Code Quality      (Licensing, ...
What it all boils down to...✦   How quickly can you get your user hooked    - are you giving them room, and the    resourc...
Se                                                In                                                        H             ...
AttritionFailure 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 alot m...
Homepage✦   Set a good first impression✦   Answer the questions:    ✦ What is this?    ✦ What can it do for me?    ✦ Where ...
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 ...
Try the Tutorial✦   ...and subsequent Experimentation✦   All about code quality    ✦ For JavaScript libraries: Make sure y...
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 tohate javascript. WHAT HAS HAPPENED HERE?           Ja...
Community Resources✦   Provide places for users to ask questions✦   jQuery:    ✦ jQuery Forum    ✦ IRC Channel✦   External...
Monitor Your Community✦   Make sure that everyone is getting the    help that they need✦   We run an Evangelism Team    “D...
ServiceTreat 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...
Answer Questions✦   It takes a lot of time, but sometimes it’s    really worth it✦   You never know who could be having   ...
Follow-up With Large Users✦   Maintain a list of contacts with your large    users✦   Ping them every once in a while✦   M...
API Documentation✦   jQuery had API docs from the start (2006)✦   Two other major libraries: Dojo, Prototype    didn’t hav...
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 hol...
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 sou...
Core Development Process✦   Weekly, public, team meetings✦   Defined release dates and schedule✦   Frequent discussion in #...
Weekly Meeting Notes
Project-Wide Notes
Testing✦   A distributed team testing against dozens    of browsers✦   Must have a top-notch test suite    ✦ ...and distri...
Test Swarm
Test Swarm
Test Swarm on IRC
Browser Stack
Browser Stack
Bug Triage Team✦   Responsible for processing all the bugs in    the bug tracker    ✦ Make sure test cases are filed✦   Wor...
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 a...
Roadmap
Contributions✦   How does a user become a contributor?✦   Encouragement is the biggest factor    ✦ Encourage users to subm...
Missing Features
Extensibility✦   Your API isn’t perfect -    it can’t include everything    for everyone✦   Give users the ability to    a...
Complex Applications✦   Users will attempt to build increasingly    complex applications✦   Need to be there to help, othe...
jQuery UI
jQuery Mobile
jQuery Mobile Testing
Overview✦   Help your users at every step of the way✦   Track them and help the stragglers✦   Help them grow and flourish✦ ...
jQuery Open Source (Fronteer 2011)
jQuery Open Source (Fronteer 2011)
Upcoming SlideShare
Loading in...5
×

jQuery Open Source (Fronteer 2011)

1,237

Published on

Talk given at Fronteers 2011.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,237
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

jQuery Open Source (Fronteer 2011)

  1. 1. jQuery Open Source Process John Resighttp://ejohn.org/ - http://twitter.com/jeresig
  2. 2. http://trends.builtwith.com/javascript/jQuery
  3. 3. http://httparchive.org/interesting.php#flash
  4. 4. 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)
  5. 5. What it all boils down to...✦ How quickly can you get your user hooked - are you giving them room, and the resources, to grow?✦ Put yourself in your user’s shoes.
  6. 6. 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 ceThe 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
  7. 7. AttritionFailure at any step costs your project another user. Your project is your own worst enemy.
  8. 8. The First Day “After spending less than 3 hours reading blog posts and perusing the documentation I was able to do alot 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/
  9. 9. 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?
  10. 10. Getting Started Tutorial✦ Clear, focused✦ Assume no background knowledge
  11. 11. Download✦ Make it super-easy, remove any barriers✦ (We link straight to the source, no .zip)
  12. 12. 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”
  13. 13. 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
  14. 14. Simplicity✦ Simple APIs are king✦ Users understand quicker✦ Get started faster✦ Become advanced quicker
  15. 15. The First Month“Alright I am now really really into jQuery. I used tohate javascript. WHAT HAS HAPPENED HERE? Javascript people, speak to me.” http://twitter.com/_ralph/status/1123503553
  16. 16. Community Resources✦ Provide places for users to ask questions✦ jQuery: ✦ jQuery Forum ✦ IRC Channel✦ External: ✦ StackOverflow.com ✦ Twitter ✦ Blogs
  17. 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. 18. ServiceTreat every user as a potential, future, contributor.
  19. 19. Service✦ Today Mike Alsup and Michael Geary are part of the jQuery team
  20. 20. Twitter Tracking✦ Track people talking about the code: ✦ http://search.twitter.com/✦ Look for people having trouble, asking questions
  21. 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. 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. 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
  24. 24. API Example
  25. 25. Alternative Views
  26. 26. Alternate Views
  27. 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. 28. Tutorials New Learning Site Coming!
  29. 29. Getting Involved
  30. 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. 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
  32. 32. Weekly Meeting Notes
  33. 33. Project-Wide Notes
  34. 34. Testing✦ A distributed team testing against dozens of browsers✦ Must have a top-notch test suite ✦ ...and distributed testing capabilities✦ We use Test Swarm
  35. 35. Test Swarm
  36. 36. Test Swarm
  37. 37. Test Swarm on IRC
  38. 38. Browser Stack
  39. 39. Browser Stack
  40. 40. 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
  41. 41. Bugs bugs.jquery.com/ticketgraph?days=90
  42. 42. Bugs (cont.)
  43. 43. 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
  44. 44. Roadmap
  45. 45. 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
  46. 46. Missing Features
  47. 47. 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!
  48. 48. 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.
  49. 49. jQuery UI
  50. 50. jQuery Mobile
  51. 51. jQuery Mobile Testing
  52. 52. Overview✦ Help your users at every step of the way✦ Track them and help the stragglers✦ Help them grow and flourish✦ http://swarm.jquery.org/✦ Questions? ✦ jeresig@gmail.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×