Your API Sucks

36
Your API Sucks Why developers hang up and how to stop that. Marsh Gardiner @earth2marsh Product Manager, Apigee

description

We've learned the hard way that websites need great user experiences to survive. So why aren't we being this aggressive with API design? What are the deeper reasons behind why REST killed SOAP? And why aren't all API providers thinking about the truly important issues, making APIs that will be used by people? Come for the hall of shame and stay for the wake-up call.

Transcript of Your API Sucks

Page 1: Your API Sucks

Your API Sucks

Why developers hang up and how to stop that.

Marsh Gardiner @earth2marshProduct Manager, Apigee

Page 2: Your API Sucks

• User experience wins• API users = developers• Developer experiences (generally) suck• But they don’t have to…

IN A NUTSHELLTHIS TALK

Page 3: Your API Sucks

Simple things should be simple.

Complex things should be possible.

— Alan Kay

Page 4: Your API Sucks
Page 5: Your API Sucks
Page 6: Your API Sucks
Page 7: Your API Sucks
Page 8: Your API Sucks
Page 9: Your API Sucks
Page 10: Your API Sucks
Page 11: Your API Sucks
Page 12: Your API Sucks
Page 13: Your API Sucks
Page 14: Your API Sucks

POST /InStock HTTP/1.1Host: www.example.orgContent-Type: application/soap+xml; charset=utf-8Content-Length: 299 <?xml version="1.0"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header> </soap:Header> <soap:Body> <m:GetStockPrice xmlns:m="http://www.example.org/stock"> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body></soap:Envelope>

Page 15: Your API Sucks

http://api.twitter.com/1/statuses/public_timeline.json

Why REST is winning:

Page 16: Your API Sucks
Page 17: Your API Sucks

Why did youbuild an API?

Page 18: Your API Sucks
Page 19: Your API Sucks
Page 20: Your API Sucks

Why is this so hard?

Page 21: Your API Sucks

Why does Freemium work?

Page 22: Your API Sucks
Page 23: Your API Sucks
Page 24: Your API Sucks
Page 25: Your API Sucks

Do it better

Page 26: Your API Sucks

Your API is a product.

Treat it that way.Your developers are your customers.

Page 27: Your API Sucks
Page 28: Your API Sucks
Page 29: Your API Sucks

Your engineers may be great at writing the code behind your API.

Are they great at writing API docs?

Page 30: Your API Sucks

“Because you can,” doesn’t mean, “you should.”

Good visual design involves restraint. Good code involves restraint. Good API design involves restraint.

Page 31: Your API Sucks
Page 32: Your API Sucks

Opacity is inscrutable. (Also, unforgivable.)

Give devs the information they need to succeed.

Page 33: Your API Sucks
Page 34: Your API Sucks
Page 35: Your API Sucks

Put yourself in their shoes.

Page 36: Your API Sucks

THANK YOUQuestions, examples, and ideas to:

@[email protected]