
The Little Manual of API Design - trucious
http://chaos.troll.no/~shausman/api-design/api-design.pdf
======
Chris_Newton
One of the most interesting things I ever saw about API design was a
presentation by Casey Muratori called "Designing and Evaluating Reusable
Components".

It's the first time I saw anyone acknowledge this profound insight: sometimes,
writing a practically useful API entirely at the same level of abstraction
simply isn't possible.

Looks like it's available here, now:

<http://mollyrocket.com/9438>

------
aleemb
Also noteworthy is the "How to Design a Good API & Why it Matters" talk

video: <http://www.youtube.com/watch?v=aAb7hSCtvGw>

pdf: <http://lcsd05.cs.tamu.edu/slides/keynote.pdf>

------
wickedchicken
One library I've found very useful to study is libcurl -- it has a very
elegant degradation system. Easy things start out easy, and when the user
chooses to handle more complexity she can switch to a lower-level set of
calls.

------
wmat
Thanks for this post! This is the kind of content I wish HN had more of.

~~~
smunz
Absolutely. Any suggestions for places to find more content like this?

Not to leave HN, just to complement it ;)

~~~
aeden
There is surprisingly little written about good API design. Maybe it's because
the important things to say have already been said, but I have my doubts that
that is the reason.

~~~
robbles
I suspect it's partly because of the difficulty involved in measuring the
quality of a given API's design. How do you separate the success resulting
from the usefulness or popularity of the technology from the design of the
API?

That was the first thing I though on starting to read this. How do they know
they've actually got it right? Feedback from users?

------
clintjhill
I appreciate the small reference to "The Elements of Style" by Strunk. That
book has helped me refine not only my writing but also my software design.

------
aeden
This is an excellent little PDF that was very useful to me when I put together
a recent talk titled "API Design Matters". It's amazing how a bit of energy
spent focusing on an API's design can improve so many aspects of both using
and developing said API.

------
robjohnson
API design is something I have been meaning to look into - thanks for the
link.

------
rplacd
If you're looking to save this link, it's on Proggit.

~~~
__rkaup__
If you click your name in the orange bar at the top _here_ , and click 'saved
stories', you can find all the stories you have upvoted.

~~~
rplacd
Never understood what that link meant - thanks.

------
woogley
PDF version: <http://www4.in.tum.de/~blanchet/api-design.pdf>

~~~
ramchip
The link is to the PDF version already. It will take you to Scribd only if you
click the [scribd] part.

