I am going to build an API. Who wants to help me shape it? After all, every self-respecting web 2.0 service has an API. And my self-respecting web 2.0 service wants to be the best platform in the cloud for developers to build super-profitable applications.
For those of you who aren't familiar with the concept of an API on a web-based service (for those of you that are, bear with me) the API is like Lego for geeks - it gives smart developers with a wish to "get rich quick" the opportunity to build out their killer-app, using the building blocks of an application that already has done some of the grunt work for them. This isn't just a way for developers to leach off the hard work of others. Its really about a service being able to bring in smart, innovative individuals, at minimal cost, and in return for the talent and ideas they put into building applications around your service you take much of the mundane stuff out of the picture for them. Innovation can thrive and isn't stifled by maintaining servers, doing backups, or building login and security. And both developers and service providers make sure that there is a way they can make a good healthy profit if one or other sells the new application.
APIs are great if the service that you build on hits one of two criteria:
- It is so successful that you stand a chance of picking up some of the available market of 50 million people using it
- It is so useful and makes the development of your applications so much faster that your app can offer real business benefits
- Workflow - real, structured workflow, tracking work as it flows through a series (possibly very long) of activities performed by people
- Task tracking - allowing simple ad-hoc tasks to be created, delivered to users and tracked through time
- Structure - an obvious way of structuring applications where work or activities performed by one or many people fit together really easily
- Notification - configuration by users of how they want to be informed about work targeted at them
- Search - ensuring that work you create can be found
- Storage - of data, documents and related information
- UI - yeah, you don't necessarily want to have to build all the stuff that's been done before, just build on it
- Security - authentication, authorization, roles, audit, user and password management, etc
A post from the Improving It blog