Date post: | 06-May-2015 |
Category: |
Technology |
Upload: | pamela-fox |
View: | 1,349 times |
Download: | 3 times |
The Developer ExperienceWHAT IT IS
WHY IT MATTERS
HOW TO MAKE IT NOT SUCK
pamelafox.org @pamelafox [email protected]/
gmail.comhttp://
User Experience
“The sum of all interactions and events, both positive and negative, between a
user and a web site.”
AKA“bla bla bla”
User ExperienceDo 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?
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 library, tool, or API.”
DEVELOPER EXPERIENCEDo 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?
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?
why should you care?
Who are you?
PROVIDERS CONSUMERS
Developer Experience
(Library, Tool, API, ...)
...who am I?
CONSUMER PROVIDER
Childhood University hood Now
CONSUMER
2002 2006 20112006
why does DX matter?
I have to use X.
Bad Experience
Low Barrier for LeavingBare Minimum Usage
why does DX matter?
I like to use X.
Good Experience
Innovative Usage External Evangelism
let’s break it down...
Do I want to use it?
Documentation Interactive Explorer
Does it have the features I need?
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?
No signup! No key!Best answer:
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?
Documentation
How do I learn how to use it?
Comprehensive Easy to Navigate
Reference & Guide Easy to Search
Running Code Feedback Loop
Documentation
When in doubt, document.
Comprehensiveshould be
Every method, parameter, return value, defaults, implementation notes, errors, side effects, deprecation notices.
Documentationshould include both Reference & Guide
Documentationshould include Runnable Code
Documentation should be Easy to Navigate
Documentation should be Easy to Search
Documentation should be Easy to Searchon Google, too
Familiarity
Do I enjoy using it?
API Design
Simplicity
Compatibility
Debuggability
API Design: HTTPFamiliarity
Simplicity
Compatibility
Debuggability
Use standards(when it makes sense)
REST, RPC, OAuth.
Support both JSON & XML.
Give meaningfulerror messages.
Don’t throttle.
Most importantly: Never ever use SOAP.
How do I get help?
Forum
Email & Feeds !SpamStats & Badges
Issue Tracker
Comments
Status
Votes
NotificationCategories
Search
THE EXPERIENCE CURVE
THE FEEDBACK LOOP..should be infinite..
Feedback Forms
Surveys
QT Survey Mozilla Add-Ons SDK Blackboard API Survey
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?
Paying Attention
Google Alerts
Conference Talks
Blog posts
MAKEOVER TIME!
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)
ZeptoJS
NOW WHAT?
providers:
1. Care
2. Prioritize
3. Improve
I
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!
The Developer ExperienceIT MATTERS
LETS MAKE IT NOT SUCK
developerexperience.org developer-support-handbook.org
for more...
@pamelafox