Saturday, 6 August 2011

Yet more on the importance of backward compatibility

David Berlind: “With barely five days to go before long-anticipated January 30 launch of Vista is history, a familiar problem and the linchpin to adoption of any major operating system upgrade (Windows Vista qualifies) is crashing the party: backwards compatibility. Intuit, developer of one of the world’s most popular accounting applications used in small, medium and large businesses (Quickbooks), has notified its customers by email that Windows Vista is incompatible with some of the features of Quickbooks 2006.”
Mary Jo Foley: “Is it Intuit’s fault that its older products don’t work on Vista? Or Microsoft’s fault for changing the operating system in a way that it breaks them?”
George Ou: “As it turns out, it isn’t QuickBooks 2006 itself that has the problem with Vista but all the Intuit and third party add-on software that communicates with QuickBooks 2006 that’s the problem. More to the point, it’s the intercommunication between all those applications and the fact that they’re using forbidden techniques that have been banned since 2001 with Windows XP certification requirements that’s the issue. Intuit admitted to me that they declined to seek Windows XP certification for all these years and they’re just now making the necessary modifications for QuickBooks 2007. The reason this is relevant is because most software that is certified for Windows XP will automatically be compatible with Windows Vista.”
David Berlind: “So, while Microsoft’s response doesn’t point the finger directly at Intuit as the culprit in this situation, it makes it clear that its certification programs — programs that Intuit has apparently eschewed since 2001 — are the centerpiece of its efforts to guarantee backwards compatibility.”
Interesting discussion. Whose fault is it? It doesn’t really matter, as the end result is the same—Microsoft potentially loses customers (those who won’t upgrade to Vista because QuickBooks will break), and Intuit potentially loses customers (those who won’t upgrade to QuickBooks 2007 but rather will move to an on demand solution like NetSuite—customers tend to dislike forced upgrades).
David Berlind’s observation is interesting though, namely that Microsoft has been using its certification programs to limit the scope of the backward compatibility problem to a well defined subset around which it can presumably do thorough compatibility testing. Note that Red Hat too only guarantees backward compatibility for a subset of its platform, and that the LSB doesn’t cover the entire Linux platform either, just the subset that’s import for application portability.
What are the lessons here, from my point of view? First of all, and not surprisingly, backward compatibility matters, and it matters (or should matter) to both sides. Second, to achieve that backward compatibility, both sides have to work at it, and because a typical platform has so many moving parts, limiting the scope is key to understanding the “contract” between OS and application. Finally, some formal way of stating “I am following the contract”, such as a certification program, can make compatibility a lot easier to articulate to mutual customers.
Related: On the importance of backward compatibility, More on the importance of backward compatibility