Successfully reported this slideshow.
Your SlideShare is downloading. ×

jQuery Keynote 2011: Boston

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 45 Ad

More Related Content

Similar to jQuery Keynote 2011: Boston (20)

Advertisement

More from jeresig (20)

Recently uploaded (20)

Advertisement

jQuery Keynote 2011: Boston

  1. 1. jQuery Keynote John Resig http://ejohn.org/ - http://twitter.com/jeresig
  2. 2. http://trends.builtwith.com/javascript/jQuery
  3. 3. http://httparchive.org/interesting.php#flash
  4. 4. jQuery 1.7 Beta 1 is out!
  5. 5. 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/
  6. 6. 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.
  7. 7. 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)
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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)
  13. 13. 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
  14. 14. Attrition Failure at any step costs your project another user. Your project is your own worst enemy.
  15. 15. Community Resources ✦ Provide places for users to ask questions ✦ jQuery: ✦ jQuery Forum ✦ IRC Channel ✦ External: ✦ StackOverflow.com ✦ Twitter ✦ Blogs
  16. 16. 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
  17. 17. Service Treat every user as a potential, future, contributor.
  18. 18. Service ✦ Today Mike Alsup and Michael Geary are part of the jQuery team
  19. 19. Twitter Tracking ✦ Track people talking about the code: ✦ http://search.twitter.com/ ✦ Look for people having trouble, asking questions
  20. 20. Answer Questions ✦ It takes a lot of time, but sometimes it’s really worth it ✦ You never know who could be having trouble
  21. 21. 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
  22. 22. 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
  23. 23. API Example
  24. 24. Alternative Views
  25. 25. Alternate Views
  26. 26. 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
  27. 27. Tutorials New Learning Site Coming!
  28. 28. Getting Involved
  29. 29. 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
  30. 30. 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
  31. 31. Weekly Meeting Notes
  32. 32. Project-Wide Notes
  33. 33. 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
  34. 34. Bugs bugs.jquery.com/ticketgraph?days=90
  35. 35. Bugs (cont.)
  36. 36. 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
  37. 37. Roadmap
  38. 38. 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
  39. 39. Missing Features
  40. 40. 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!
  41. 41. 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.
  42. 42. jQuery UI
  43. 43. jQuery Mobile
  44. 44. Keynotes ✦ jQuery Mobile Keynote Next! ✦ jQuery UI Keynote Tomorrow. ✦ Thank our sponsors!

×