API Designer
From APIDesign
Line 8: | Line 8: | ||
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. | 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 [[MatFyz|mathematics and physics faculty]], I decided to apply as mathematical approach as I was able | + | 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 to find ways to really keep absolute compatibility. No excuses, no cheating, just 100% [[BackwardCompatibility]]. I guess [[NetBeans]] platform [[API]] compatibility history is a [[good]] proof showing we gained some knowledge in this respect. |
+ | |||
+ | To transfer that knowledge to my colleagues I invented an [[APIFest]] game (described in [[Chapter 17]] of [[TheAPIBook]]). Playing such game really seems to improve the 100% backward compatibility skills. It comes with 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 10:54, 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 to find ways to really keep absolute compatibility. No excuses, no cheating, just 100% BackwardCompatibility. I guess NetBeans platform API compatibility history is a good proof showing we gained some knowledge in this respect.
To transfer that knowledge to my colleagues I invented an APIFest game (described in Chapter 17 of TheAPIBook). Playing such game really seems to improve the 100% backward compatibility skills. It comes with 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!