'. '

API Designer

From APIDesign

Revision as of 08:15, 30 August 2012 by JaroslavTulach (Talk | contribs)
Jump to: navigation, search

Why did I decided to be an API Designer with a strong emphasis on BackwardCompatibility?

I've been working on the NetBeans project since middle of nineties. One day, I guess in a year 1999, a product manager stopped by and started to shout at me:"We need partners, we need people to code plugins for NetBeans. We need compatibility. Are we compatible or not?" I started to explain we are compatible - just a few methods and classes were renamed, deleted, but nobody was supposed to use them anyway. The shouting however got even worse: "That is not compatible! We need full backward compatibility! Keep it!"

Up until that moment we treated BackwardCompatibility from a practical point of view. We were ready to sacrifice it when we had a vague feeling it does not matter to keep it. However that one moment changed everything.

Since then I decided to treat compatibility seriously and keep 100% BackwardCompatibility. As I studied computer science at mathematics and physics faculty, I decided to apply as mathematical approach as I was able and find ways to really keep absolute compatibility. To transfer that knowledge to my colleagues I invented an APIFest game (described in Chapter 17 of TheAPIBook). Playing that came really seems to master the 100% backward compatibility skills. It is a bit academic approach, in real world one is usually OK with "99%" compatibility, but by taking things to extreme, the APIFest nicely shows the point.

Don't be afraid to ask us to prepare an APIFest game for you!

Personal tools
buy