Here at Mozilla, we're currently designing an interface to Firefox's Places API for the Jetpack API. This feature has got me thinking about what qualities make a good API. An interface should enhance, never hinder, and so, to distill this thought into crude words, we want to provide the most intuitive and flexible interface possible to our add-on developers. From our perspective, we also want our features to be maintainable. While these terms may sound like buzzwords, they provide a standard and verifiable vocabulary for discussing API design, allowing us to ignore arguments of object-oriented versus functional, inheritence versus composition, comma-first, required semi-colons, and the like, as these are all building blocks to achieve the goal of a good API. A means to an end.
Last week at Node Philly, we had a hack-and-meet event, where there were tutorials on the HTTP module in node, using Express, and having released and presented Poet at the previous meetup, I helped out those going through the set up. Here's the tutorial I wrote for a hack and covers everything, so once you have node and npm installed with no further knowledge, you should be able to follow along and get a blog up and running!