CDF and interoperability
Andy Updegrove published an enlightening piece on why the recent claims from the founders of the OpenDocument Foundation regarding the W3C Compound Document Format (CDF) have been puzzling many of us. I just want to add a tidbit of information regarding CDF which is in line with my previous post on XML vs Open.
CDF is just another piece of technology that helps raising the level of interoperability achievable between software components exchanging XML data. It provides us with a formal way of describing how various XML vocabularies are being used together. This is definitely useful and that’s why IBM, for one, has been participating in its development. Yet, this is no magic bullet either.
CDF is merely a framework, a container. As such, CDF itself does not ensure interoperability. Interoperability can only be achieved with regard to a specific “CDF profile”. A CDF profile lists a specific set of XML vocabularies and how they are to be mixed. Interoperability is only achieved between applications that support the same CDF profile(s).
This is applications that not only support CDF but also support every one of the XML vocabularies being used in that particular profile as well as the particular way they are being used together (CDF supports various combination models).
I’m sure you’ve had the same experience as I have with video files you can open but your media player won’t play because it doesn’t have the right codec. That’s the exact same problem. The MPEG video format is a container that lets the player discover what video compression is used in a standard way. This is nice but, as experience shows, it doesn’t guarantee that your player will be able to render all videos, merely that it can figure out what’s in the file and whether it can render it or not.
So, again, let’s be careful not to jump to conclusions too fast. Just like XML itself and many other technologies, CDF is useful but it does not in and of itself guarantee interoperability.