Genii Weblog

Self deprecating standards

Fri 27 Oct 2006, 08:29 AM

by Ben Langhinrichs
Dictionary definition of deprecate

Computer definition of deprecate

I was reading through the Office Open XML draft yesterday, and came across a whole host of scary elements.  These are all from Part 4 of the draft specs, entitled Markup Language Reference, and, yes, those are the real page numbers.  It is not a short documemt, and this may partly explain why.  For example:

  • autoSpaceLikeWord95 (Emulate Word 95 Full Width Character Spacing) - pages 1378-1379
  • footnoteLayoutLikeWW8 (Emulate Word 6.x/95/97 Footnote Placement) - pages 1416-1417
  • lineWrapLikeWord6 (Emulate Word 6.0 Line Wrapping for East Asian Text) - pages 1426-1427
  • mwSmallCaps (Emulate Word 5.x for Macintosh Small Caps Formatting) - pages 1427-1429
  • shapeLayoutLikeWW8 (Emulate Word 97 Text Wrapping Around Floating Objects) - pages 1442-1443
  • suppressTopSpacingWP (Emulate WordPerfect 5.x Line Spacing) - pages 1462-1464
  • truncateFontHeightsLikeWP6 (Emulate WordPerfect 6.x Font Height Calculation) - pages 1467-1468
  • useWord2002TableStyleRules (Emulate Word 2002 Table Style Rules) - pages 1481-1482
  • useWord97LineBreakRules (Emulate Word 97 East Asian Line Breaking) - pages 1482-1483
  • wpJustification (Emulate WordPerfect 6.x Paragraph Justification) - pages 1483-1485

There are many more which relate to various parameters which are deprecated, but virtually all of these examples share a guidance paragraph which says:

Guidance wording for deprecated elements

Now, on the one hand, Microsoft is to be praised for its careful presevation of attributes, features and behaviors which exist not only in its own earlier versions but also in those of competitive products.  Good show!  On the other hand, these do not belong in an open standard!  This is a very clear case of vendor specific implementation leaking through into what Microsoft claims to be an open standard.  What should have been done is that the ability to extend the standard should have been well defined (one of the primary purposes of an XML standard, after all), and these should have been kept as a separate vendor specific implementation namespace.  Then, other products could have their own vendor specific implementation namespaces which repoduced what their customers needed.  In the meantime, the general standard would not be weighed own with numerous obsolete, deprecated elements before it is even formalized.

Pray for deliverance.

Copyright 2006 Genii Software Ltd.

What has been said:

510.1. hAl
(27-10-2006 12:12)

Hmmm 23 pages of legacy on on 6000.

And any implementation can just wave them by saying those features will not be support in it's documention as it is completly valid to leave out parts of the spec that you wouldn't want to support as long as you document that.

If I were to implement a format I would add to a documentation a small note that legacy features needed to support documents created with MS Office versions before windows 2007 will not be supported and list those features or put a reference to a page where you list those.

It seems unlikely that any modern tools will need to support these features even if that will mean that there is no legacy with the old legacy files or even converted old files.

510.2. hAl
(27-10-2006 12:17)

A goal of OOXML is to fully support legacy MS Office documents.

Therefore it is logical that ANY features in the format that purely support legacy features are entirly vendor specific. There is no other vendor that used the format before as it was a MS format.

510.3. Ben Langhinrichs
(10/27/2006 12:39 PM)

I have no objection to the goal of fully supporting legacy MS Office documents. I fully respect that as a goal for Microsoft. It just doesn't make it an open standard, it makes it a speciofication for MS Office. The only reason MS declared OOXML an "open standard", and I think the timetables completely support me on this, is when Mass. and others started demandiong an open standard for all documents. Suddenly, MS declared OOXML an "open standard", but also said that a primary goal had to be support for all the legacy documents. As a result, you get a bloated standard. Even then, MS could have split off legacy support as extensions to the standard, but they are very used to being a virtual monopoly and wanted to leave it as bloated as possible so that nobody else would compete with Office.

To repeat, as I have said here and elsewhere, when MS introduced this as a full specification of the MS XML storage, they did a good thing. But that good thing does not then cancel out the bad idea of declaring this an "open standard". It isn't, and no matter how many times you defend their supprort of legacy documents, it won't change that. I also defend their support of legacy documents, and support their full specification of it, but not in a public standard. Besides, they have gone out of their way to say that nobody who has less than a "full implementation" will be considered to support the standard. Not that they have a right to say that about an open standard, but they do anyway.

510.4. hAl
(27-10-2006 13:37)

[quote]Besides, they have gone out of their way to say that nobody who has less than a "full implementation" will be considered to support the standard[/quote]

Actually that is quite wrong. The standard itself contains a quite exact statement on when a document conforms to the OOXML standard. It is actually something that is not present in ODF. I have not been able to find out when you are allowed to call a document an OpenDocument document. I asume OASIS has the Opendocument registered as a trademark but I have not been able to find out when we are allowed to use that to state our application produces OpenDocument compatible documents.

So actually it is Ecma who has stated when a document is OOXML and as far as I know OASIS that has not stated when a document is ODF.

I do have a question though. Does this colomn have soemthing to do with you being asked to join the OASIS technical committee on ODF ?

510.5. Ben Langhinrichs
(10/30/2006 06:20 AM)

hAl -

You are having trouble because you haven't gotten the difference between an open standard and a pseudo-open standard. Where in the HTML specs does it say when you can call yourself HTML conformant? OASIS is an open group - join if you like. And as for whether this column has to do with "being asked" to join the OASIS Technical Committee, again you don't get it. Nobody has to ask. Would you like to be on the TC? Join OAISIS for 300 USD as an individual and start showing up. There, you have been invited. Might I expect you to write such columns in the future? Of course not.

I write what I write on my blog because of what I believe and what I think is important to write. I own my company, am not beholden to any of the large players involved, but simply want to stop this silly posturing. ODF is a great idea that needs time to become a great standard. I might be able to help that along by joining the TC. OOXML is a great specification that is not really a standard at all, although it purports to be. I'd be happy to help that along as well, but the barrier to entry for being on the TC for OOXML is much higher, and Microsoft has essentially written the rules to prevent any serious modification. I may well write products that support both, since I am not in the business of "open source at all costs" the way some are. In fact, none of my software products are open source. Yet, I support open standards because they provide a better way of doing business without too much lock in to one vendor.

- Ben

510.6. Ian Randall
(30/10/2006 04:33 PM)

The goal of open interoperable standard is frankly to be "Open" and a level playing field for all vendors.

I think that Ben is right to highlight his concern at any attempt by one vendor (in this case Microsoft) to hijack or subvert a so called open standard with proprietary elements.

Having said that, the standards need to be flexible enough to cater for both backward and forward compatibility when required. But that should not be done in such a way as to entrench the proprietary advantage of one vendor over others.

hAI, I feel your cynicism about Bens motives is unkind, as any participation in the standards movement (having participated myself in the past) is a lot of unpaid and mostly unrecognised hard work.


510.7. hAl
(30-10-2006 23:10)

[quote]As for conformance, if that (what you showed for HTML) is all you want[/quote]

No, that isn't good enough. There is a lot of problems surrounding what to call valid html. However, html pages aren't made for true interoperability. Generally the party that creates them is the one that maintains them. They are not shared, mailed, reviewed, re-edited and transferred complelty to others like Office documents are.

For html, conformance is mostly in the ability of an user agent such as a browser to show/view html pages. And even in part that alone there is not a browser that can handly fully the fairly old html 4.01 spec. Office document interoperability requires a bit more than that.

Both specs should describe that to conform a minimum set of the spec including a the main XML file that makes the file to what it is and that the any mandatory xml files need to validate against the schema's provided in the spec to make the document a valid document.

Actually I think at the moment most zipfiles are valid ODF and mayby even valid OOXML.

This is the ONLY line in the ODF conformance spec that says when a document conforms to OpenDocument and can be called a valid Opendocument file: "Documents that conform to the OpenDocument specification may contain elements and attributes not specified within the OpenDocument schema."

ALL other statements in the conformance spec are about applications and do not mention what a valid Opendocument file is.

So if I send you ANY arbitrary file and say it is ODF the spec does not claim it is otherwise.

I would expect a minimum conformance for an ODF file that it fully complies with the document structure as descriped in the spec and that any XML elements that are a part of the standard conform when they validate against the schema's that accompany the ODF specs.

Something like that at least. Both specs of ODF and OOXML do not really do that.

510.8. Andy Broyles
(01/05/2007 10:37 AM)

IS the goal of OOXML to be a file converter or a file storage spec?

If it is attempting to be a converter, then I can certainly see the need for the handling of attributes like justification, et al.

On the other hand, if it is a file format, then why can't MS abstract the various forms of Justification into a single Justification element with attributes that would describe the needed formatting.

I don't think enough people reading these blogs understand the polito/sales goal behind MS releasing this is nothing more then an attempt to fulfill a 'checkbox' on a government/corporate RFP that says 'conforms to an internationally recognized standard' regardless of what the standard is. Massachusetts did the right thing, scared MS, and this is the legalistic response. Total crap!

510.9. Andy Broyles
(01/05/2007 10:41 AM)

Oh, and another thing,

Why on earth would you include deprecated elements/attributes in a brand new standard?

Very odd.

510.10. Michael Pelletier
(08/18/2008 05:23 PM)

The only reason they included WordPerfect attributes, features, and behaviors in their product was to smooth the migration path of the WordPerfect installed base over to MS-Word and hasten the doom of said competitive product. Still, it was many years before Word could do proper legal briefs.