There’s a fundamental challenge that many standards maintenance groups and standards implementers deal with from time to time: how can standards evolve, and implementers innovate, while maintaining the sort of reliable and well-documented interoperability that standardization enables?
Standards maintenance processes add new functionality slowly and carefully, but the products that implement those standards may progress much more rapidly at times, to address new needs in the marketplace, new technologies, and ever-changing market dynamics. Is it possible to “loosely couple” a standard and its implementations in a way that allows implementers to deliver innovations while remaining interoperable and conformant to the standard?
I recently had the opportunity to work with a few of my Microsoft colleagues to put together a whitepaper (attached below) that touches on some of these issues. The paper was delivered at an interoperability event in Beijing earlier this month, and it provides an overview of MCE (Markup Compatibility and Extensibility, Part 3 of ISO/IEC 29500) and how it has been used to enable interoperability between various versions of the standard and its implementations.
There are several other strategies that have also been used to address this challenge in document formats:
MCE is designed to address the limitations of some of these alternative approaches, and it has shown great promise for the types of issues that arise in the evolution of document formats. Each implementer can create their own MCE-based extensions, and documents containing those extensions can be gracefully handled by products that support varying sets of extension functionality (or none at all). MCE is not an unproven theory, but rather an approach informed by the things Office engineers learned from many years of dealing with these same sorts of issues in the binary file formats. We used MCE for all of the new innovations in Office 2010, and this has enabled interoperability between Office 2010 and other applications that don’t have that new functionality, as covered in the attached whitepaper. (For further information on Office’s use of MCE, see also the Microsoft Office File Formats Documentation on MSDN.)
As time goes on, of course, any new features used by more than one implementation should probably be integrated into the standard. The question of how and when to standardize these is one that WG4 have been discussing a lot this year. In October, the Japanese National Body submitted a proposal for a new multi-part standard containing standardized MCE-based extensions to IS 29500. Allowing standardized extensions inside MCE will permit implementers of the core IS 29500 standard to remain conformant while still allowing new features to be standardized.