Most of us do not write APIs, we consume them. We love some. We hate others. But why?
There's a subtle difference in the UX (User Experience) when working with an API like jQuery (most people find it very nice to use) and java.util.Calendar (few people like it). But what is that difference? What distinguishes a user friendly API from an "inconvenient" one?
In this fun and ranty talk, I'll look at patterns and anti patterns of designing APIs, comparing different successful and less successful APIs in the market.