Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
THE DEVELOPER EXPERIENCE                WHAT IT IS              WHY IT MATTERS     HOW TO MAKE IT NOT SUCK                ...
USER EXPERIENCE“The sum of all interactions and events, both positive and negative, between a        user and a web site.”...
USER EXPERIENCE    Do I want to use it?    How do I sign up?   How do I get started?     How do I use it?    How do I get ...
DO I WANT TO USE IT?
HOW DO I SIGN UP?
HOW DO I SIGN UP?
HOW DO I GET STARTED?
HOW DO I USE IT?
HOW DO I GET HELP?
DEVELOPER EXPERIENCE“The sum of all interactions and events, both positive and negative, between a  developer and a librar...
DEVELOPER EXPERIENCE      Do I want to use it?      How do I sign up?     How do I get started?       How do I use it?    ...
DO I WANT TO USE IT?
HOW DO I SIGN UP?
HOW DO I GET STARTED?
HOW DO I GET STARTED?
HOW DO I USE IT?
HOW DO I GET HELP?
WHY SHOULD YOU CARE?
WHO ARE YOU?               Developer Experience                (Library, Tool, API, ...)PROVIDERS                         ...
...WHO AM I?Childhood          University               hood          Now            2002                2006             ...
WHY DOES DX MATTER?               Bad Experience                      I have to use X.Bare Minimum Usage       Low Barrier...
WHY DOES DX MATTER?             Good Experience      I like to use X.Innovative Usage         External Evangelism
LET’S BREAK IT DOWN...
Do I want to use it?
Does it have the features I need?Documentation         Interactive Explorer
Can I safely build a business on top of it?  Licensing                   Pricing              Stability
Case Studies
How do I sign up?
How do I sign up?Best answer: No signup! No key!
Automated Key Signup
Usage Dashboard
How do I get started?
Downloads for Every Environment
Client Libraries for Every Language
“Hello World”(From 0 to 60 in 15 minutes)
How do I use it?How do I learn how to use it?     Do I enjoy using it?
How do I learn how to use it?       Documentation Comprehensive      Easy to NavigateReference & Guide    Easy to Search  ...
Documentation                      should be Comprehensive      Every method, parameter, return value, defaults,implementa...
Documentation    should include both Reference & Guide
Documentation       should include Runnable Code
Documentation should be   Easy to Navigate
Documentation should be   Easy to Search
Documentation should be   Easy to Search                             on Google, too
Do I enjoy using it?        API DesignFamiliarity      CompatibilitySimplicity       Debuggability
API Design:          HTTP   Familiarity           Compatibility   Use standards          Support both(when it makes sense)...
API Design: JavaScript      Familiarity                    Compatibility Use object literals for             Use a namespa...
How do I get help?
ForumEmail Subscription     & FeedsSpam Handling &  ModerationPoster Statistics   & Badging
Forum
Forum
GETTING FEEDBACK
Documentation can have   Comments
But they’re not for everybody.
Documentation can have   Feedback Form
Documentation can be   Editable
Documentation can be   Forkable
Issue Tracker Comments     Votes Status      NotificationCategories    Search
Issue Tracker
Issue Tracker
HUNGRY FOR MORE?
developerexperience.org
developer-support-handbook.org
BOOKS “If there is any one secret of success, it                                           “The downside of attending to t...
NOW WHAT?
PROVIDERS:                   1. CareI                 2. Prioritize                 3. Improve
CONSUMERS                                Thanks!It’d be great if you     changed X.    I’d use it more if it had          ...
CONFERENCE ATTENDEES                      ...that’s all of you. What do   I like about X? Whatcould be bet ter? What can I...
THE DEVELOPER EXPERIENCE                   IT MATTERS              LETS MAKE IT NOT SUCK                        twitter.co...
Upcoming SlideShare
Loading in …5
×

The Developer Experience

22,733 views

Published on

A talk given at WDCNZ 2011. Abstract:

"We all know what “user experience” is and we know that it’s important. We analyze drop-off rates for sign-in flows, do A/B testing on color schemes, and organize user focus groups for new features. But we rarely talk about the “developer experience” - what we all go through each time we try to use a developer tool, library, or API. How do we decide what tool to use? Is it easy to integrate with our development environment? How flexible is the API? Where do we go when something goes wrong? Those are the sort of questions that we can ask to understand what it’s like for a developer to use a product - and where it can be improved.

Whether you simply use developer products or you actually build one yourself, you should walk away from this talk with ideas on how to make a great developer experience - and why it matters."

Published in: Technology
  • Be the first to comment

The Developer Experience

  1. THE DEVELOPER EXPERIENCE WHAT IT IS WHY IT MATTERS HOW TO MAKE IT NOT SUCK twitter.com/ pamelafox.org @pamelafox pamelafox@ http:// gmail.com
  2. USER EXPERIENCE“The sum of all interactions and events, both positive and negative, between a user and a web site.” AKA “bla bla bla”
  3. USER EXPERIENCE Do I want to use it? How do I sign up? How do I get started? How do I use it? How do I get help?
  4. DO I WANT TO USE IT?
  5. HOW DO I SIGN UP?
  6. HOW DO I SIGN UP?
  7. HOW DO I GET STARTED?
  8. HOW DO I USE IT?
  9. HOW DO I GET HELP?
  10. DEVELOPER EXPERIENCE“The sum of all interactions and events, both positive and negative, between a developer and a library, tool, or API.”
  11. DEVELOPER EXPERIENCE Do I want to use it? How do I sign up? How do I get started? How do I use it? How do I get help?
  12. DO I WANT TO USE IT?
  13. HOW DO I SIGN UP?
  14. HOW DO I GET STARTED?
  15. HOW DO I GET STARTED?
  16. HOW DO I USE IT?
  17. HOW DO I GET HELP?
  18. WHY SHOULD YOU CARE?
  19. WHO ARE YOU? Developer Experience (Library, Tool, API, ...)PROVIDERS CONSUMERS@jamespearce @paul_irish @avon
  20. ...WHO AM I?Childhood University hood Now 2002 2006 2011 CONSUMER PROVIDER CONSUMER
  21. WHY DOES DX MATTER? Bad Experience I have to use X.Bare Minimum Usage Low Barrier for Leaving
  22. WHY DOES DX MATTER? Good Experience I like to use X.Innovative Usage External Evangelism
  23. LET’S BREAK IT DOWN...
  24. Do I want to use it?
  25. Does it have the features I need?Documentation Interactive Explorer
  26. Can I safely build a business on top of it? Licensing Pricing Stability
  27. Case Studies
  28. How do I sign up?
  29. How do I sign up?Best answer: No signup! No key!
  30. Automated Key Signup
  31. Usage Dashboard
  32. How do I get started?
  33. Downloads for Every Environment
  34. Client Libraries for Every Language
  35. “Hello World”(From 0 to 60 in 15 minutes)
  36. How do I use it?How do I learn how to use it? Do I enjoy using it?
  37. How do I learn how to use it? Documentation Comprehensive Easy to NavigateReference & Guide Easy to Search Running Code Feedback Loop
  38. Documentation should be Comprehensive Every method, parameter, return value, defaults,implementation notes, errors, side effects, deprecation notices. When in doubt, document.
  39. Documentation should include both Reference & Guide
  40. Documentation should include Runnable Code
  41. Documentation should be Easy to Navigate
  42. Documentation should be Easy to Search
  43. Documentation should be Easy to Search on Google, too
  44. Do I enjoy using it? API DesignFamiliarity CompatibilitySimplicity Debuggability
  45. API Design: HTTP Familiarity Compatibility Use standards Support both(when it makes sense) JSON & XML. REST, RPC, OAuth. Simplicity Debuggability Don’t throttle. Give meaningful error messages. Most importantly: Never ever use SOAP.
  46. API Design: JavaScript Familiarity Compatibility Use object literals for Use a namespace. method options, not Don’t extend native additional arguments. objects. Simplicity DebuggabilityOffer common methods in core API, Offer a debugging everything else as plugins. extension. Do all that while keeping file size small.
  47. How do I get help?
  48. ForumEmail Subscription & FeedsSpam Handling & ModerationPoster Statistics & Badging
  49. Forum
  50. Forum
  51. GETTING FEEDBACK
  52. Documentation can have Comments
  53. But they’re not for everybody.
  54. Documentation can have Feedback Form
  55. Documentation can be Editable
  56. Documentation can be Forkable
  57. Issue Tracker Comments Votes Status NotificationCategories Search
  58. Issue Tracker
  59. Issue Tracker
  60. HUNGRY FOR MORE?
  61. developerexperience.org
  62. developer-support-handbook.org
  63. BOOKS “If there is any one secret of success, it “The downside of attending to the emotional lies in the ability to get the other “Any extrinsic reward should be life of groups is that it can swamp the ability person’s point of view and see things unexpected and offered only after the to get anything done; a group can become more concerned with satisfying its membersfrom that person’s angle as well as from task is complete.” than with achieving its goals.” your own.” Take notes. Write up learnings. Share.
  64. NOW WHAT?
  65. PROVIDERS: 1. CareI 2. Prioritize 3. Improve
  66. CONSUMERS Thanks!It’d be great if you changed X. I’d use it more if it had feature Y. Thanks - look what I made with it!
  67. CONFERENCE ATTENDEES ...that’s all of you. What do I like about X? Whatcould be bet ter? What can I learn fro m my experience? Thanks for the talk! I have some feedback for you...
  68. THE DEVELOPER EXPERIENCE IT MATTERS LETS MAKE IT NOT SUCK twitter.com/ pamelafox.org @pamelafox pamelafox@ http:// gmail.com

×