Maybe you are standing in a book store, holding this book in your hand, and asking yourself: "Should I buy it?" Here is your answer: If you have ever written code and handed it to someone else to let them compile their code against yours, the answer is: "You are ready to enter the API design world and this book will help you explore it."
However, this book does not attempt to "teach API design in five easy lessons". It cannot be read in "only three days!". If you are looking for a quick handbook, probably this book is not for you. On the other hand, if you are interested in a deeper knowledge of API design, in knowing not only the how, but also the why, let me introduce myself to you before you put this book back on the shelf.
My name is Jaroslav Tulach and I am the founder and initial architect of NetBeans, which is not just a well known IDE, but also the first modular desktop application framework written in Java. This book is based on notes that I have collected over the last ten years, while designing and maintaining NetBeans APIs and transferring this knowledge to the rest of our developers. It is a journal from the heart of the NetBeans laboratory, describing our problems, our growing understanding of them, the solutions we have chosen and the conclusions we made after applying them. Although our knowledge has been gathered while working on NetBeans, it is general enough to be useful for most software projects.