Conformance classes should mirror stakeholder usage clusters

By Rick Jelliffe
February 4, 2009

It seems that both ODF and OOXML have reached the stage where the killer bee of conformance is buzzwording itself around the ears of the various committees. (I believe this is the worst opening sentence in the many years of this blog. I am quite proud in a Cold Country Farm kind of way.)

Conformance is the standards jargon meaning how someone who knows everything can objectively tell whether a document or application is naughty or nice against the standard.

Stakeholders have all sorts of odd angles on conformance. But you can reliably expect that a vendor/developer stakeholder will, after implementing a standard to about 90%, attempt to get the parts they found too difficult or too costly or too extraneous downplayed. This is not necessarily venal: if no-one implements part of a standard after a reasonable time, maybe that part should be removed. To align the standard with reality.

The difficulty is where the part being removed was in fact part of the value-proposition of the standard. At an extreme, the standard can become a bait-and-switch operation: sell people based on a set of capabilities then get rid of them.

In the case of the ODF, one of the conformance discussions relates to an issue I raised: the issue of how foreign elements in an ODF document are handled. See Wrapping with foreign elements in Office 2007 and Open Office Writer, which lead to Novel's Florian Reuter registering an issue with the Open Office site.

It seems that the response is coming through that rather than fix the bug in their software, some of the vendors would prefer to alter the standard to fit the current implementation. As I said, this is not always a bad approach, whether it is weasling is a matter of tradeoffs and judgement (and therefore reasonable people may reasonably differ.)

My take is that without an ability to have arbitrary XML wrappers and elements, an XML document format becomes part of the problem (of low-value data) rather than part of the solution. The standard becomes part of what the markup movement has been working against; indeed, it becomes a subversion of the SGML/XML project. XML is not just any old crap in angle brackets (though it can be): it is the X of extensibility, the M of usability , and the L of rigorous markup using schemas. All these things need to be encouraged in their place.

There are two workable approaches (and more!) One is the OOXML approach of indirection: defining special elements to represent arbitrary elements and attributes: this has the benefit of a fixed schema, which some people and technologies like. The other is the approach that ODF has taken until now: strip out (unwrap) what you don't understand if you have to. Either would be fine for ODF IMHO. (ODF does have a kind of section element, which could be dragooned too, I suppose.)

Where the conformance issue bites is where there are different communities with different requirements and expectations for a standard. I was talking to the head of the Chinese UOF committee, who said that a major reason for UOF was that both ODF and OOXML were too big. So there is a community of users who need and want a small language with small capabilities.

In a previous blog, I compared ODF and OOXML to .RTF and .DOC. It seems that there is also a community who want minimal .RTF. And, of course, I should mention that there is also the professional and quality publishing sectors, who need something much better than ODF or OOXML. I tend to think that, if conformance levels are required, acknowlegment for all of these would be best, such as:

  • Draft (no foreign elements): a low floor
  • Lossy: for exchange
  • Normal
  • Quality (move out esoterica to here)

OOXML took the approach of two conformance levels, one transitional and one strict. And given that the BRM made the stupid mistake of not making the transitional conformance level the same as the ECMA standard, we really have three OOXML standards. (And, of course, one could also make up schemas for what each OOXML implementation supports at a particular release: for example a Schematron schema that profiles one of the standard schemas. MicroSoft has recently released copious material on their current implementation for example.) But I don't see that the concept of a "strict" schema really applies to ODF: a better word could be found.

So what do I mean by a stakeholder usage cluster? From the vendor/developer side, you have needs for different levels of development effort. From the user side, you have needs for reliable interchange at different levels of complexity. And so on.

A side issue is whether these kind of conformance levels are appropriate for the originating broad-representation standards committee to make at all, or whether they should be made as profilesby sectional-interest groups, so that, for example, the expression of the requirements of governments for their profile are not finessed by developer/vendors.

(Note: if any readers are from the ODF TC, you might like to double check that any conformance wording you have is careful to distinguish between foreign XML in the "document" --i.e. some XML file in the ZIP archive-- or in a part of the document -- e.g. word/content.xml: you don't want to remove the possibility of XForms accessing an XML file.)

You might also be interested in:

News Topics

Recommended for You

Got a Question?