The Developer Experience
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

The Developer Experience

on

  • 2,437 views

We all know what “user experience” is and we know that it’s important. But we rarely talk about the “developer experience” - what we all go through each time we try to use a developer tool, ...

We all know what “user experience” is and we know that it’s important. 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.

Statistics

Views

Total Views
2,437
Views on SlideShare
1,553
Embed Views
884

Actions

Likes
1
Downloads
7
Comments
0

9 Embeds 884

http://summit.atlassian.com 398
http://www.webteacher.ws 334
https://summit.atlassian.com 128
http://murtza.org 16
http://magnolia-staging.private.atlassian.com 4
http://qa-wac.atlassian.com 1
http://translate.googleusercontent.com 1
http://feeds.feedburner.com 1
http://a030bba359890263 1
More...

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

The Developer Experience Presentation Transcript

  • 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 USE IT?
  • 16. HOW DO I GET HELP?
  • 17. why should you care?
  • 18. Who are you? Developer Experience (Library, Tool, API, ...) PROVIDERS CONSUMERS
  • 19. ...who am I? Childhood University hood Now 2002 2006 2011 CONSUMER PROVIDER CONSUMER
  • 20. why does DX matter? Bad Experience I have to use X. Bare Minimum Usage Low Barrier for Leaving
  • 21. why does DX matter? Good Experience I like to use X. Innovative Usage External Evangelism
  • 22. let’s break it down...
  • 23. Do I want to use it?
  • 24. Does it have the features I need? Documentation Interactive Explorer
  • 25. Can I safely build a business on top of it? Licensing Pricing Stability
  • 26. Case Studies
  • 27. How do I sign up?
  • 28. How do I sign up? Best answer: No signup! No key!
  • 29. Automated Key Signup
  • 30. Usage Dashboard
  • 31. How do I get started?
  • 32. Downloads for Every Environment
  • 33. Client Libraries for Every Language
  • 34. “Hello World” (From 0 to 60 in 15 minutes)
  • 35. How do I use it? How do I learn how to use it? Do I enjoy using it?
  • 36. How do I learn how to use it? Documentation Comprehensive Easy to Navigate Reference & Guide Easy to Search Running Code Feedback Loop
  • 37. Documentation should be Comprehensive Every method, parameter, return value, defaults,implementation notes, errors, side effects, deprecation notices. When in doubt, document.
  • 38. Documentation should include both Reference & Guide
  • 39. Documentation should include Runnable Code
  • 40. Documentation should be Easy to Navigate
  • 41. Documentation should be Easy to Search
  • 42. Documentation should be Easy to Search on Google, too
  • 43. Do I enjoy using it? API Design Familiarity Compatibility Simplicity Debuggability
  • 44. 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.
  • 45. How do I get help?
  • 46. Forum Email & Feeds Stats & Badges !Spam
  • 47. Issue Tracker Comments Votes Search Status Categories Notification
  • 48. THE EXPERIENCE CURVE
  • 49. THE FEEDBACK LOOP ..should be infinite..
  • 50. Feedback Forms
  • 51. Surveys QT Mozilla Add-Ons SDK Blackboard API Survey Survey
  • 52. 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? AT&T Usability Testing
  • 53. Paying Attention Twitter Conference Talks Blog posts Google Alerts
  • 54. MAKEOVER TIME!
  • 55. Google Maps API v2 v3 keys no keys! MVC architecture bloated library (smaller download) GMap, GMarker,... google.maps.* GPolygon(latlngs, strokeColor,strokeWeight, strokeOpacity, google.maps.Polygon(options) fillColor, fillOpacity, opts)
  • 56. ZeptoJS
  • 57. NOW WHAT?
  • 58. providers: 1. Care I 2. Prioritize 3. Improve
  • 59. 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!
  • 60. The Developer Experience IT MATTERS LETS MAKE IT NOT SUCK for more... developerexperience.org developer-support-handbook.org @pamelafox