His comments on focusing on what the user is trying to do rather than on how it is going to be implemented is absolutely spot on. For me, this is one of the big advantages that TDD has. It gives you the opportunity to think about your API as a user first, before you try to do the implementation.
This is pretty awesome. I wish that more APIs were better designed, though I think that the best APIs come out when you can iterate on their design with enough flexibility to remove the pain points and common questions.<p>The author gets it exactly right on the topic of Java's GUI APIs, which are world-renowned for their terribleness.