Your SlideShare is downloading. ×
jQuery Keynote 2011: Boston
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

jQuery Keynote 2011: Boston


Published on

Keynote talk that I gave at jQuery Con 2011 in Boston.

Keynote talk that I gave at jQuery Con 2011 in Boston.

Published in: Technology, Design
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. jQuery Keynote John Resig -
  • 2.
  • 3.
  • 4. jQuery 1.7 Beta 1 is out!
  • 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.
  • 6. Event Property Hooks✦ jQuery has it’s own custom event object .click(function(e) {, 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. 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. 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. 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. 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. 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. 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. 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
  • 14. AttritionFailure at any step costs your project another user. Your project is your own worst enemy.
  • 15. Community Resources✦ Provide places for users to ask questions✦ jQuery: ✦ jQuery Forum ✦ IRC Channel✦ External: ✦ ✦ Twitter ✦ Blogs
  • 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. ServiceTreat every user as a potential, future, contributor.
  • 18. Service✦ Today Mike Alsup and Michael Geary are part of the jQuery team
  • 19. Twitter Tracking✦ Track people talking about the code: ✦✦ Look for people having trouble, asking questions
  • 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. 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. 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. API Example
  • 24. Alternative Views
  • 25. Alternate Views
  • 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. Tutorials New Learning Site Coming!
  • 28. Getting Involved
  • 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. 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. Weekly Meeting Notes
  • 32. Project-Wide Notes
  • 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. Bugs
  • 35. Bugs (cont.)
  • 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. Roadmap
  • 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.✦
  • 39. Missing Features
  • 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. 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. jQuery UI
  • 43. jQuery Mobile
  • 44. Keynotes✦ jQuery Mobile Keynote Next!✦ jQuery UI Keynote Tomorrow.✦ Thank our sponsors!