Preface

 

From the time I started working with REST APIs at Socialtext in 2005, I’ve been fascinated by web services platforms. At Socialtext, we created a solid, consistent REST API, but it was only truly usable by our own team because the developer experience was immature. The documentation didn’t have great tutorials, and our outreach was limited. I learned to love the idea of a platform built on a solid protocol like HTTP and the extensibility of REST APIs.

Ever since getting struck by the bug, I’ve been an enthusiastic advocate for the design and usability of web APIs. I’ve spent many a weekend creating mashups with Twitter, Facebook, Freebase (RIP), LinkedIn, Netflix, and tens of other web services. As I used these APIs, I started to develop an overall definition for platforms with irresistible APIs—platforms that offered amazing developer experiences. I came to realize that an irresistible API needs more than excellent, consistent interfaces. It’s hard to succeed without great documentation, fantastic sample code, and an enthusiastic support structure.