I just wanted to post something to summarize the PDC 2005.

PDC started for me on Monday. Brad and I were presenting at a precon on Designing Reusable APIs. 6 hours total. The slides can be downloaded here.

We were tweaking slides till midnight. When we were done, one of us dragged and dropped an older version on the new version of the deck. We then set our alarm clocks for 6am and started again next morning, which was not really necessary as I did not sleep whole night anyway. Lesson learnt: computers should either come with a version control file system or sleeping pills :-)

Part of the presentation were short skits where Brad and I would role play WinFx API review, a team designing APIs, etc. I was concerned that people may not like them. They turned out to be hits. Several people approached me and said they felt like they added variety to the day long class. Lesson learnt: Even if you end up being a software engineer, high-school acting classes might not be a complete waste of time. :-)

We had a power outage right when we were starting a new part of the presentation. We waited for some time and then decided to speak in the dark without slides (what a crazy idea, wasn’t it?). The power was back 10 seconds after we started.

Attendees who registered for the talk received the Framework Design Guidelines book that Brad and I just wrote. It latter become the best selling book at the PDC. The publisher sent more than 600 copies to the PDC and on Friday morning the book sold out. The precon was also very well received. Last time I checked the feedback it was one of the highest rated precons and the highest rated in terms of “usefulness of the information presented” and “how relevant is the content of the session to your work?” This shows an amazing amount of interest in API design or that giving away goodies improves your feedback ratings :-)

I would like to thank all who attended the conference. I really enjoyed presenting, meeting, and talking to you all.

I was completely exhausted after the first day, so the next day I watched the keynotes from the hotel room and then went to lunch to talk to people. And in general, I spent the next 4 days just trying to talk to as many people as possible.

In total I talked to probably more than 30 people about API design. Many see well-designed APIs as the way to differentiate their components from the competition or to improve productivity of their teams. The main API design problem mentioned: it’s difficult to convince the management that the design work is worth the cost until it’s too late. I think that some managers, not being programmers themselves, don’t appreciate the difference between well and badly designed APIs until customers ignore their product (and maybe not even then). I have had a long term dream of starting to collect our before and after designs to better illustrate the huge benefits of API design. Well, maybe one day.

I found lots of post on the web by people who attended the talk or/and read the book. I recorded a few below but thanks to you all and see you at the next PDC!

Jeremy wrote: “On more pleasant news the session I'm in with Brad Abrams and Krzysztof Cwalina (say that 3 times fast!) is awesome.  Lots of really good information on Framework Design Guidelines.  They handed out free copies of their new book on the subject and they deserve a plug for it.  These guys know their stuff.  I wish I could make it required reading for some of my team members back home.”

Miguel wrote: “I got my copy at the PDC this week and it is a wonderful book. The book includes many of the design guidelines that Brad's blog is famous for. The book is not just a collection of rules, but it also includes the rationale for some of the design decisions and what really makes the book interesting are the commentaries from other developers and architects involved in .NET.”

Jim wrote: “This was a fabulous session. Krzysztof Cwalina and Brad Abrams did an amazing job. Not only was the content incredibly good, but they did a fabulous job presenting it. They provided review questions, role playing, and even a lab! I will be picking up a copy of their new book Framework Design Guidelines : Conventions, Idioms, and Patterns for Reusable .NET Libraries. They spell out all the best practices for framework design.”