Advertisement
Advertisement

More Related Content

Advertisement

User-centric Development in the Early Days of jQuery

  1. User-centric Development in the Early Days of jQuery John Resig
  2. Early JS Libraries • in 2004-2009 the market was very saturated • Dojo Toolkit, Prototype, MochiKit, YUI, MooTools, jQuery • All scratched similar itches (simplifying DOM manipulation)
  3. Assume All Code is Equal… • Given that all the code is “good enough” • How do you differentiate a library? • You focus on all the things that “aren’t code” • Most of these are user-centric and require intimate knowledge of how the user will use your framework
  4. You are your own worst enemy • Virtually every time someone stops using your library it’s your own fault • Something was not communicated clearly enough • You had bugs that the user couldn’t overcome • There were issues that the user didn’t understand and couldn’t find a good answer to
  5. What it all boils down to… • Can you help your users overcome the initial hurdles they overcome - and are you giving them room, and the resources, to grow? • Put yourself in your user’s shoes — empathize with them!
  6. The First Day: Can this help me?H om epage View Tutorial D ow nload TryTutorial Experim ent The First Month: Learning Integration APID ocs Tutorials Experim ent Com m unityThe FirstYear: Growth SecondApp ExploreAPI ExtendAPI Read Source Contribute
  7. The First Day: Can this help me?H om epage View Tutorial D ow nload TryTutorial Experim ent The First Month: Learning Integration APID ocs Tutorials Experim ent Com m unityThe FirstYear: Growth SecondApp ExploreAPI ExtendAPI Read Source Contribute
  8. Lack of Empathy -> Attrition Failure at any step costs your project another user. Your project is your own worst enemy.
  9. The First Day “After spending less than 3 hours reading blog posts and perusing the documentation I was able to do a lot 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/
  10. 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?
  11. Download • Make it super-easy, remove any barriers • (We link straight to the source, no .zip)
  12. Licensing • Not a concern for more 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 us the MIT license for jQuery • “Leave my name on the source file”
  13. Getting Started Tutorial • Clear, focused • Assume no background knowledge
  14. 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
  15. Simplicity in API Design • Simple APIs are king • Users understand quicker • Get started faster • Become advanced quicker
  16. The First Month “Alright I am now really really into jQuery. I used to hate javascript. WHAT HAS HAPPENED HERE? Javascript people, speak to me.” http://twitter.com/_ralph/status/1123503553
  17. Community Resources • Provides places for users to ask questions • jQuery: • Mailing list -> Forum • IRC Channel • External: • Stack Overflow • Twitter • Blogs
  18. Monitor Your Community • Make sure that everyone is getting the help that they need • Evangelism Team, was run by Rey Bango • Track all of the services they use • Mailing lists, IRC, Blogs, Twitter
  19. Service Treat every user as a potential, future, contributor.
  20. Service • Mike Alsup and Michael Geary both became long-time contributors!
  21. Tracking Twitter • Track people talking about the code • Look for people having trouble, asking questions
  22. Answer Questions • It takes a lot of time but sometimes it’s not worth it • You never know you could be having trouble
  23. 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 a bugs - make sure that happens
  24. API Documentation • jQuery had API docs from the start (2006) • Two other major libraries: Dojo, Prototype didn’t have any official docs until 2007 • Clarity and usability of documentation is huge
  25. API Example
  26. Alternative Views
  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
  29. Other “Secondary” Concerns When Coding Responsive Design Internationalization Accessibility Performance/Bandwidth
  30. Release Timing
  31. Overview • Help your users at every step of the way • Track them and help the stragglers • Help them grow and flourish • Questions? • jeresig@gmail.com • http://ejohn.org/ • http://twitter.com/jeresig
Advertisement