API facilitates requesting, manipulating and exchanging data. Successful API obscures the storage format of the requested data as well as the details of the retrieval process. Don’t want your API to break if you break your storage.
Everyone has an API these days. Who is using APIs? Well, who isn’t?
Websites, widgets, desktops apps, bloggers.
– Increase brand awareness
Lay people don’t care about APIs. But you’re empowering people to do something with your data. People like to talk about things that empower them, so if someone is using your API in a way that’s new, they’ll talk about it, build more buzz.
– Allows people to use their own data
Feel more comfy if you can pull your own data out and take it with you wherever you want.
– Build goodwill with developers
– A perfect excuse for a community
Pulls people together around a common feature central to your app.
– Solving programming problems with an API in mind can improve code quality
Less work, less revisions.
– Simplify internal reuse of data
Present your data in different ways.
– Allows others to extend the functionality of your application
Means people can do things that you weren’t going to do, or didn’t think of.
– Allows alternate input mechanisms
E.g. Ecto or MarsEdit for blogs.
– Unanticipated applications of your data
Sort of like the Grey Album, an unanticipated use of the White Album and the Black Album. Chicago real-time crime maps.
– Turn your program into a platform