What is an API? A documented means of interacting with one application from another. A successful API obscures the storage format and the details of the retrieval process.
Who has an API? Everyone here today and then some.
Who is using these APIs? Who isn’t? There’s websites, desktop apps, dashboard widgets, etc.
Shaun gives ten reasons to use APIs.
- Increase brand awareness. Early adopters are technophiles. Give ‘em an API and you’re empowering them. They’ll talk that up. It builds buzz.
- Allow users to own their own data. You’ll feel more comfortable knowing that you can take your data with you at any time (just as Cal discussed with third-party DVD export from Flickr).
- Build goodwill with developers.
- A perfect excuse for a community. This ties in with the brand awareness. Acquiring and sharing API knowledge pulls people together.
- Solving programming problems with an API can improve code quality.
- Simplify internal reuse of data.
- Allow others to extend the functionality of your application. People can use an API to add functionality that you’re not interested in doing yourself.
- Alternate input mechanisms. Allows for desktop software for entering data.
- Unanticipated applications of your data. Like the Grey Album: mashing things up in unexpected ways.
- Turn your program into a platform. This is the key reason.
Questions?
What is Mint? Stats tracking.
What font are you using in your slides? FF Din.
What kind of API is Pepper? Plug-in rather than web service.
How quickly after releasing Mint did you see Peppers? Really quickly.
How can you make an API attractive to developers? You must have a service that is attractive. Find your own itch and scratch it, then you know the requirements of the API.
Once you release an API, how do you make changes to it? Shaun hasn’t really had to address that yet. But he talks a lot in the forums with developers.
Without ShortStat, would there have been Mint? Probably not.
How have you dealt with piracy and the fact that the code is “open” (as in viewable)? First, it was just some comments in the code. That worked for a while. Ideas are being tossed around on the blog. How about a Firefox extension that checks if Mint is installed on the website being used and, if so, find out if it’s licensed and call back to the mothership.