Your SlideShare is downloading. ×
0
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Your API Sucks
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Your API Sucks

8,448

Published on

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 …

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.

Published in: Technology
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,448
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
118
Comments
0
Likes
12
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Creative Commons Attribution-Share Alike 3.0 United States License
  • This is one of my favorite design quotes. We use it all the time as we plan out Apigee’s web interface.
  • This book has been out for over 10 years now. How many of you have read this?It’s not rocket surgery.What is usability? It’s making things easier.Heroku making deployment easier.Facebook making pubsub easier.GitHub making version control easier.
  • The infamous butterfly ballots.
  • http://www.businessinsider.com/why-tumblr-is-kicking-posterous-ass-2010-1
  • http://www.csuchico.edu/~curban/DarwinSP2002Phil108.htmDarwin’s Finches
  • Design. Brand identity. Inviting. A place you’d prefer to be.SyntaxhighlightingList of methodsSimplified
  • Here’s an example SOAP request
  • Easier. Make it. easier.
  • Seriously. Why?
  • http://www.flickr.com/photos/programmerman/2315566040/Developers, developers, developers, developers
  • If you build it, will they come?
  • Try before you buy.No barrier to engaging.What does this mean for APIs?
  • http://www.flickr.com/photos/psi_mon/3473153641/Signup to get a keyWait to be acceptedFigure out authenticationOAuth 1 vOAuth 2EULA storyReference call (public_timeline) no auth req’d. Salesforce example. Twitter public timeline
  • http://www.flickr.com/photos/chdot/2978611346/
  • http://www.flickr.com/photos/35034348080@N01/393214858/Get them riding asap.Constructionism,seymourpapert. Related to constritivism. construct mental models to understand the world around themThe experience has continuity and interaction.Continuity is the idea that the experience comes from and leads to other experiences, in essence propelling the person to learn more. Interaction is when the experience meets the internal needs or goals of a person.
  • Author of Gowalla Tools, a very popular sdk, put it on hiatus.http://gowallatools.com/api/
  • API request is a transaction between two parties. If you look at it from one or the other.Just because you’re the person who’s implemented something doesn’t mean you’re the best person to explain how it works. For one, people are going to use it in ways you didn’t intend, just like the do with websites.
  • Make it as easy as possible for people to use your API.
  • http://developer.truveo.com/methodJSON.php?name=truveo.videos.getVideos
  • Rate limit policies and remaining
  • http://app.apigee.com/console/apigee-console-snapshots-1291179600000_3c78ee51-8a85-4c40-b0c0-052c3d908e55/rendersnapshotview
  • http://developers.facebook.com/live_status
  • There is no one way. Have an opinion. Be passionate about this.How simple API design patterns facilitate adoption, a la Twitter Grandma test.Just because devs are smart doesn’t mean you can make it complicatedError simulationoauthpocalypseGiving enough awayUseless response codesGet when you should putThe Fox Sports Bar TestPoor experience is opportunity
  • Transcript

    • 1. Your API Sucks<br />Why developers hang up and how to stop that.<br />Marsh Gardiner @earth2marsh<br />Product Manager, Apigee <br />
    • 2. THIS TALK<br />IN A NUTSHELL<br /><ul><li>User experience wins
    • 3. API users = developers
    • 4. Developer experiences (generally) suck
    • 5. But they don’t have to…</li></li></ul><li>Simple things should be simple.<br />Complex things should be possible.<br />— Alan Kay<br />
    • 6.
    • 7.
    • 8.
    • 9.
    • 10.
    • 11.
    • 12.
    • 13.
    • 14.
    • 15.
    • 16. POST /InStock HTTP/1.1<br />Host: www.example.org<br />Content-Type: application/soap+xml; charset=utf-8<br />Content-Length: 299<br />&lt;?xml version=&quot;1.0&quot;?&gt;<br />&lt;soap:Envelopexmlns:soap=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;<br /> &lt;soap:Header&gt;<br /> &lt;/soap:Header&gt;<br /> &lt;soap:Body&gt;<br /> &lt;m:GetStockPricexmlns:m=&quot;http://www.example.org/stock&quot;&gt;<br /> &lt;m:StockName&gt;IBM&lt;/m:StockName&gt;<br /> &lt;/m:GetStockPrice&gt;<br /> &lt;/soap:Body&gt;<br />&lt;/soap:Envelope&gt;<br />
    • 17. Why REST is winning:<br />http://api.twitter.com/1/statuses/public_timeline.json<br />
    • 18.
    • 19. Why did you<br />build an API?<br />
    • 20.
    • 21.
    • 22. Why is this so hard?<br />
    • 23. Why does Freemium work?<br />
    • 24.
    • 25.
    • 26.
    • 27. Do it better<br />
    • 28. Your API is a product.<br />Treat it that way.<br />Your developers are your customers.<br />
    • 29.
    • 30.
    • 31. Your engineers may be great at writing the code behind your API. <br />Are they great at writing API docs? <br />
    • 32. “Because you can,” doesn’t mean, “you should.”<br />Good visual design involves restraint. <br />Good code involves restraint. <br />Good API design involves restraint.<br />
    • 33.
    • 34. Opacity is inscrutable. (Also, unforgivable.)<br />Give devs the information they need to succeed.<br />
    • 35.
    • 36.
    • 37. Put yourself in their shoes.<br />
    • 38. THANK YOU<br />Questions, examples, and ideas to:<br />@earth2marsh<br />marsh@apigee.com<br />

    ×