Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Developer Experience

The Developer Experience

What makes for a good developer experience? How do you improve yours? That's what I explore in this talk, given at Atlassian Summit 2012.

Pamela Fox

June 05, 2012
Tweet

More Decks by Pamela Fox

Other Decks in Technology

Transcript

  1. The Developer Experience WHAT IT IS WHY IT MATTERS HOW

    TO MAKE IT NOT SUCK pamelafox.org @pamelafox pamelafox@ twitter.com/ gmail.com http://
  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. DEVELOPER EXPERIENCE “The sum of all interactions and events, both

    positive and negative, between a developer and a library, tool, or API.”
  5. 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?
  6. why does DX matter? I have to use X. Bad

    Experience Low Barrier for Leaving Bare Minimum Usage
  7. why does DX matter? I like to use X. Good

    Experience Innovative Usage External Evangelism
  8. Can I safely build a business on top of it?

    Licensing Pricing Stability
  9. How do I use it? How do I learn how

    to use it? Do I enjoy using it?
  10. Documentation How do I learn how to use it? Comprehensive

    Easy to Navigate Reference & Guide Easy to Search Running Code Feedback Loop
  11. Documentation When in doubt, document. Comprehensive should be Every method,

    parameter, return value, defaults, implementation notes, errors, side effects, deprecation notices.
  12. API Design: HTTP Familiarity Simplicity Compatibility Debuggability Use standards (when

    it makes sense) REST, RPC, OAuth. Support both JSON & XML. Give meaningful error messages. Don’t throttle. Most importantly: Never ever use SOAP.
  13. Usability Testing AT&T Usability Testing Did you complete the task?

    How hard was it? Would you recommend this API? What would have made the experience of using the API better? Whose API does it better than we do?
  14. Google Maps API v2 v3 keys no keys! bloated library

    MVC architecture (smaller download) GMap, GMarker,... google.maps.* GPolygon(latlngs, strokeColor, strokeWeight, strokeOpacity, fillColor, fillOpacity, opts) google.maps.Polygon(options)
  15. CONSUMERS 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! Thanks!
  16. The Developer Experience IT MATTERS LETS MAKE IT NOT SUCK

    developerexperience.org developer-support-handbook.org for more... @pamelafox