How to design a good API and why it matters

Dries pointed me to a Google Tech Talk from Joshua Bloch called “How to design a good API and why it matters”. It is definitely worth an hour of attention, and it is especially interesting for everyone at Inventive Designers who writes APIs, both internal as well as external. (Some may have already seen this presentation at Javapolis 2005.) In Scriptura, backwards compatibility of APIs is very important, so the initial design deserves a lot of attention. (In the past we made some API mistakes, which we had to correct with backwards incompatible API changes, and we really need to avoid this inconvenience for our Scriptura customers in the future.)

I also found slides from this presentation in PDF format. In his presentation he gives away a one page summary of his talk. I couldn’t find that summary, but found something close to that. Every ‘API review task’ could start by reading this summary