'. '


From APIDesign

Jump to: navigation, search

For the last decade Bode Miller is the most famous American sportsman (at least in Austria; as Austria is the country dedicated to alpin skiing). Bode decided to write a biography and I had the chance to read it during 2011 Christmas break. It is an amazing book. It can even help us better understand the API design!

I have found Bode's book interesting for at least three reasons. The question is how to present it in an interesting way for expected audience of this website? I'll do it with three easy to remember quotations.

Be Fast!

Is style more important than results?

At one moment Bode asks: is it important to have good style or be fast? And he continues: given the fact that we are talking about a discipline that measures the performance in seconds, the primary measure is speed.

Can we apply that to API design? Sure, because we often have to ask whether it is more important to be backward compatible or have nice internals of our libraries. I am amazed that the philosophy of a ski racer (be faster than have a nice style) is the same as a philosophy of a good API designer!

Why should we believe in old those advices telling us that clean code is going to help us? Sure, if we teach many people good style, some of them may get fast. But you can be fast, without having a good style. You can have good API even if the internals are not nice. Calling for a clean code is like asking Bode to finish the race at any cost!

Editorial note: Bode was famous for not finishing a lot of races due to too wild ride. But when he finished, he usually won.


Grow up in woods, become extraordinary!

I have not grew up in the woods like Bode did, but still I am from a village with few voters on the edge of mountains. Since 1920s we were a computer oriented area (as the origin of the word robot comes from our county). Maybe it is good to grow up in wood-like parts of the world. Maybe that helps to look at things (including skiing and API design) from new angles.

Possibly, the more redneck you are, the more radical ideas you can have. Bode was always radical enough! Sometimes he was too radical to allow me to understood, but after reading his book, things make sense. Maybe you want to read TheAPIBook to understand API design!


Can't turn? Become an API designer!

Bode complains that for a while, around 1997 he could not find good enough skis to turn. Bode also admits that his snowboard experience showed him what capabilities skis should have. At the end of 1996 (during the winter design trip the Xelfi team decided to have), I had the chance to try snowboarding for the first time. It went surprisingly well, thus I bought my first Nidecker board. Snowboard was immediately on par with my Völkl P30. However the progress have not stopped. In 1998 I had the chance to use Völkl Rentiger snowboard. Immediately I gave up on skis - the rentiger snowboard was just so much easier to turn!

Bode mentions this in one or two paragraphs of his book. At that time the snowboard was easier to make turns than skis. But (unlike me) Bode has not given up and waited for skis that would be at least comparable to snowboard. Looks like he succeeded (being Olympic medalist in 2002 and 2006).

When struggling with an API, don't give up and don't workaround it. Change it! Make the system better. Become an API designer, contribute patches. Push the limits like BodeMiller did!

Personal tools