Providing Code Libraries is Not Enough for Your API17 Sep 2011
Code libraries have been a staple of open API communities for quite a few years now. API owners provide developers with working samples of code in a variety of programming languages, to get started working with an API. Sample code helps developer get up and running quicker, and increases the chances a developer will actually adopt an API.
I was reviewing how Google approached the release of the Google+ API this week, and noticed their download section not only contained the usual code libraries, but also contain whats called "starter projects". These starter projects provide a complete framework with everything you need to get start with OAuth, and to start building an application on top of the Google+ API.
Does this reflect the future of what API owners should be providing for their developers? Should we be providing web and mobile app starter projects to help get developers up and running with our APIs? These kits could assist them in moving from idea to integration, but starter kits might go even further than that.
By providing starter applications projects to our developers we can go beyond faster integration, and also help steer the quality of how applications are designed, ensure they using best coding practices, following security standards, and ultimately delivering better applications that are in line with the goals of the API owner.
Companies don't just want developers using their APIs, they want them building quality applications around them, that reflect positively on the API. Starter projects, may be just the way to steer how developers build around an API, and guide them in a positive direction.
Starter projects do this from a functional perspective, but another example of this from the UI and branding perspective, can be seen with Twitter's Bootstrap toolkit. Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites, and includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation and everything developers need to build sharp looking Twitter web apps.
I'm sure Twitter is interested in helping developers kickstart development, but ultimately they are helping developers build better looking apps that fall in line with Twitter's vision of what a Twitter client should look like. The Twitter Bootstrap toolkit helps jump start developers, but it also guides their UI to reflect the standards of the API owners, and can also help developers adhere to branding requirements.
I anticipate that providing code libraries and samples will not be enough in the future, and API owners will have to provide more complete UI toolkits, as well as starter web and mobile application starter projects that encourage developers to integrate, while also guiding them when it comes to best practices for their user interface, coding and security.
This isn't my idea, I"m just taking cues from two of the leading API providers, Google and Twitter. Will providing more building blocks like starter projects and UI toolkits be the future? Or will it look more like what Facebook and Heroku are doing when it comes to application development?