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.
28. Your API is a product. Treat it that way. Your developers are your customers.
29.
30.
31. Your engineers may be great at writing the code behind your API. Are they great at writing API docs?
32. “Because you can,” doesn’t mean, “you should.” Good visual design involves restraint. Good code involves restraint. Good API design involves restraint.
33.
34. Opacity is inscrutable. (Also, unforgivable.) Give devs the information they need to succeed.
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.
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.
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