API Design Checklist
From APIDesign
JaroslavTulach (Talk | contribs)
(New page: There are essential aspects of good API design that influence the level of acceptance of your API and through the API's perspective also success of your products. One can l...)
Next diff →
Current revision
There are essential aspects of good API design that influence the level of acceptance of your API and through the API's perspective also success of your products. One can learn the important facts through own practical experience (and do a lot of mistakes meanwhile) or gain the experience from others (who has already done the mistakes like me when designing NetBeans Platform). Both approaches are possible, yet both require a lot of personal investment.
There is a however simpler and more clueless way: Let's follow an API Design Checklist!
In this short presentation we'll provide an introduciton to ten easy to answer questions and follow checkpoints that will guide you through the process of API design and ensure your API satisfies all the aspects of good technology: it helps its users to speed up their Time To Market, it reduces their total Cost of Ownership and also is cool enough to attract their attention.
The presented checklist will be generally applicable - e.g. useful for any APIs, not only written in Java. The provided examples will be Java related, showing our own experience of designing slick, easy to use, compact, effective, hard to misuse APIs for communication between Java and JavaScript. During the talk we will show how to use JavaC plugin infrastructure effectively to increase comfort of your API users and to build cross-IDE tooling that ensures the best edit/compile feedback possible. We will demonstrate the process of reviewing the APIs and show the increase of quality a good usability study can bring. We show how to create an API that leads to code shorter than in scripting languages while keeping all the benefits of strongly typed language like Java!