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...

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 learn the important facts through own [[TheAPIBook|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 [[API]]s, 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 [[API]]s 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 [https://twitter.com/ApiUsabilityTst 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]]!

We give you ten easy steps to become [[good]] [[API]] designer!

{{#ev:youtube|t96eblo8Lnk}}

[[Category:Video]]