API Studies

Last night I went and heard a talk from Steven Clarke on API usability.  I always heard knew about this, but after hearing Steven talk last night, man I am starting to get my head around how different developers approach an API.

Now if there was one take away from this talk that really hit home with me : write your sample code first ; decide how you want your user to use the API before writing the API.  Now that seems like a test-first promo to me .

Apperantly I lost the ability to spell in this talk.

Comments (1)

  1. Brian Button says:

    Hear, hear!!! I agree with this completely. If your output is an API, you MUST write some clients to use the API before you actually WRITE the API. At one point there was a great story about this on the objectmentor site, but I can’t seem to find it right now.

    They wrote this huge C++ framework that was supposed to be reusable across a family of applications, and they weren’t as successful as they might have hoped. Their framework worked just fine, but it just was hard to use, and they ended up throwing it away and starting over. Their (much more successful) approach this time was to write several client apps and factor out the common bits into the framework.

    Kind of the same idea you’re talking about Scott, taken one step further. To be honest, this is one of the things I kept asking for on the Offline project, but we never did it. That was a project where the API was designed in a vacuum, resulting in a system that works, but is not as simple to use as it could have been.

    — bab