Successful developers

14

Click here to load reader

description

How to support the developers of your API, give them skills and tools to be successful. Webex of my presentation at https://cisco.webex.com/ciscosales/lsr.php?AT=pb&SP=MC&rID=62417452&rKey=caa6309156837b7a

Transcript of Successful developers

Page 1: Successful developers

REST Developer Success

Kirsten Jones, Technical Leader, Cisco Systems

@synedrahttp://www.princesspolymath.com

Page 2: Successful developers

Who’s this talk for?

API Developers Application Developers Architects / Designers

Focus: Successful Developers

Page 3: Successful developers

What do developers need?

Good Documentation Common Pain Points HTTP Sniffing Understanding Error Codes Debugging Strategies

Page 4: Successful developers

Better Documentation

What can I do? Walk-throughs and tutorials Lots of working code Small chunks with frequent

successes Example applications Examples:

LinkedIn Javascript Tutorials LinkedIn Getting Started

Page 5: Successful developers

Common REST Pain Points

Lack of understanding of HTTP structure

Libraries “masking” responses Error code confusion Authentication

Page 6: Successful developers

Understanding HTTP

Many developers don’t understand HTTP basics

Libraries allow them to interact with the API but not understand issues

REST feels like a “black box”

Page 7: Successful developers

Facilitating HTTP Understanding

Clear and complete tutorials, with and without libraries

Pointers to HTTP basics My OSCON presentation has good info

Developer tools demonstrating successful calls (OAuth Test Console, IODocs)

Page 8: Successful developers

3rd Party Libraries

3rd Party (or company-supported) libraries are great but…

Frequently error codes or other responses are masked

Can get out of sync Supporting the API is different from

supporting a library

Page 9: Successful developers

Error codes

HTTP status is very helpful 50x: we screwed up. 40x: you screwed up. 30x: ask that dude over there. 20x: cool.

Consistency within the API is critical Useful error messages for broad errors

(4xx errors)

Document, explain, demonstrate!

Page 10: Successful developers

Helping Developers Debug

Teach your developers to be successful

Watch the traffic with a sniffer All requests should include headers,

body, exact URL

A great bug report: I did X I expected Y to happen To my dismay, Z happened instead

Page 11: Successful developers

Preventing preventable issues

Use existing, tested libraries Code defensively Servers aren’t that smart

In most cases a working example will help Lots of code samples, well documented Use case based

Page 12: Successful developers

HTTP Sniffers

Macintosh: HTTPScoophttp://tuffcode.com/

Macintosh: Charles (supports SSL) http://www.charlesproxy.com/

Windows: Fiddlerhttp://www.fiddler2.com/fiddler2/

Unix (or Mac): Wireshark (X11)http://www.wireshark.org/

Page 13: Successful developers

Common Issues

401 authentication errors (signatures, tokens)

403 authorization errors (throttles, permissions)

400 errors – parameters, headers Content-type errors

Page 14: Successful developers

Questions?

Pain points HTTP Sniffers Good questions