Having looked at and created quite a few APIs, I thought I'd put together a few hints on how to create a good, portable API. First, understand what you're trying to do. Seriously. Writing an application and writing an API are two different things. I've