API Designer
From APIDesign
Line 10: | Line 10: | ||
Since then I decided to treat compatibility seriously and keep 100% [[BackwardCompatibility]]. As I studied computer science at [[MatFyz|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. | Since then I decided to treat compatibility seriously and keep 100% [[BackwardCompatibility]]. As I studied computer science at [[MatFyz|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 [[Talkback|ask us]] to prepare an [[APIFest]] game for you! Find out why [[BackwardCompatibility]] matters | + | Don't be afraid to [[Talkback|ask us]] to prepare an [[APIFest]] game for you! Find out why [[BackwardCompatibility]] matters! |
Revision as of 08:16, 30 August 2012
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! Find out why BackwardCompatibility matters!