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

Like this? Share it with your network

Share

jQuery Keynote 2011: Boston

on

  • 5,993 views

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

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

Statistics

Views

Total Views
5,993
Views on SlideShare
5,870
Embed Views
123

Actions

Likes
6
Downloads
37
Comments
0

6 Embeds 123

http://paper.li 27
http://paper.li 27
http://lanyrd.com 25
http://a0.twimg.com 21
http://a0.twimg.com 21
http://us-w1.rockmelt.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

jQuery Keynote 2011: Boston Presentation Transcript

  • 1. jQuery Keynote John Resighttp://ejohn.org/ - http://twitter.com/jeresig
  • 2. http://trends.builtwith.com/javascript/jQuery
  • 3. http://httparchive.org/interesting.php#flash
  • 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. http://code.google.com/p/html5shim/
  • 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. 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: ✦ StackOverflow.com ✦ 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: ✦ http://search.twitter.com/✦ 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 bugs.jquery.com/ticketgraph?days=90
  • 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.✦ http://docs.jquery.com/Getting_Involved
  • 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!