Alex Brown: Microsoft fails the Standards Test

By Rick Jelliffe
April 1, 2010 | Comments: 7

UK XML expert and key player in the SC34 standards committee at ISO, Dr Alex Brown, has written (the day before April Fool's Day) a strongly worded blog Microsoft fails the Standards Test.

If his concerns that the new version of Office will not support OOXML Strict turn out to be well-founded, then I think he is right.

(I note that MS' recent API for transformations included some mention of Strict, so I probably have more hope than Alex: I have always called for more government, procurement and competition authority pressure on vendors to support and track standards.)

The corporations all come (to standards); they all go; it is a cycle and the game is to get mutually-satisfactory improvements out of them while they are at the table. If they don't implement a standard, it must be because they decided to, not because they were denied any opportunity.

And certainly I think that OOXML Transitional (Part 4) should be de-standardized as soon as possible, regardless of Office's use of it. It has served its purpose and is now more than just a distraction, it is a threat to the standard that was actually accepted (i.e. to Strict). The initial version of the ISO Standard left out a key sentence that the BRM had required about Transitional, which has been restored now: The intent of this Part is to enable a transitional period during which existing binary documents being migrated to ISO/IEC 29500 can make use of legacy features to preserve their fidelity, while noting that new documents should not use them. (The emphasis is mine.)

I think Microsoft has shown itself to be very ready to provide the documentation, to send good people to meetings, to put in editing resources, to put in changes that reflect reality better, and even to make whatever XML syntactic adjustments are necessary. However, I have not seen any corresponding willingness to alter anything that is out of the control of the serialization/deserialization routines: anything to do with OOXML features or behaviour.

Lets take a specific example. At the BRM (the Ballot Resolution Meeting which negotiated various changes to the rejected text of the standard which made it ultimately acceptable for national vote), one of the key Australian positions was that the spreadsheet function CEILING() should work mathematically correctly. Excel is used in schools and many mission-critical situation.

In discussing this with the ECMA people, we came to a compromise that a new function ISO.CEILING() should be made: no old spreadsheets would alter functionality (they could have been written with workarounds, after all) and people could use the new, correct function. People may not realize it, but actually the formula you see associated with a spreadsheet name may not be the formula stored by the spreadsheet: in particular, some function names may be localized into different languages. So there is scope for a setting that says "Use ISO.CEILING() in the serialization file but just display the simpler CEILING name on screen."

Another advantage of this would be that it would lead to a module system, such as Open Formula has, more readily than, say "CEILING.ISO()" would (that was another suggestion.)

But when I looked recently at the function language for Excel in the new draft, I did not see ISO.CEILING() at all. There was, IIRC, a fixed function with a different name. Now I want to stress that I don't think it is worth getting too upset based on features that make it into this beta version of software or that pre-release version. However, it certainly is the time to point out what the requirements of the standard are: better now than in some service pack.

So while it is great if Excel gets a non-broken CEILING() function, what's the story with deliberately using a non-conforming name? Are the fiefdoms so strong in the Office team that no external input or constraints can possibly be tolerated? Microsoft has such an investment, it will be interesting to see if they throw it away because of sabotage by internal personalities who may see the standards requirements as challenges to their power rather than an opportunity to break up old logjams.

You might also be interested in:


Hi Rick, I don't want you to feel left out of the debate for lack of comments, so I'll share one with you.

I think it is a stretch to say JTC1 voted for "strict" and not for "transitional". Certainly some NBs had a preference for one over the other, but there was a single ballot and it included both conformance classes. etter after the pressure was taken off, than before.

I don't know who suggested the phrase "The intent of this Part is to enable a transitional period..." but I think you can agree that a standard does not formally express "intent". Maybe scope of applicability, but not intent. I'm sure some participants in SC34 have intentions. That's fine. Individuals can have intentions. But unless a standard expresses these as requirements it is meaningless. Otherwise we'd just amend the standard to say, "The intent of this standard is to be interoperable and make everyone lots of money and to be wildly popular and be lauded in folk songs down through the ages and to bring world peace and end hunger." This phrase was just non-normative pabulum to appease confused SC34 members who were star struck by the unaccustomed attention Microsoft was lavishing on them.

Rob: Happy Easter and may God bless you and bring you joy.

I am happy to have the usual range of sane, vicious and nutty commenters over on Alex's blog on this one.

On your "intent" point, you may be interested that the Standard for Standards (ISO Directives Part 2: rules for the structure and drafting of international standards) actually uses the terminology in its own Scope statement:

"The rules are intended to ensure that such documents, prepared by the committee secretariats of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), are drafted in as uniform a manner as practicable, irrespective of the technical content."

Perhaps you see some big difference between "The rules are intended" and "It is the intent of this standard". If you think so, you might like to get INCITS to put in a defect report to improve the wording of one or both. But it seems to have a pretty good pedigree.

Myself, I like to have a summary of design requirements and non-requirements in a standard: see for example. In the shared Introduction section of the various parts of ISO DSDL, the phrase "The main objective of this International Standard is ..." is used, too.

You can insult the NBs who voted for this wording all you like. It will preach to the choir, but it just repels neutral people and is counter-productive to your cause. It will be the same with Alex's comments: people will try to spin them, but the policy makers and procurers will see them for what they are: the kinds of comments that prove Alex's consistent professionalism and fearless neutrality.

> This phrase was just non-normative pabulum to appease confused
> SC34 members who were star struck by the unaccustomed attention
> Microsoft was lavishing on them.

This text was added at JTC 1 level (i.e. during the BRM). Ironically, it was included in text of a Resolution (# 15) drafted by the US delegation, of which Rob was a member!

- Alex.

Alex: So when Rob talks about confused star-struck SC34 members he is really confessing?

I may have been the star-struck one on the US delegation, actually, having just met for the first time Alex Brown, Tim Bray, Murata Makoto, and many other stars of the markup standards world.

FYI, I've posted on this topic now:

That is just funny.
I guess Rob was to busy trying to change the voting within the US delegation to notice the resolutions they tehmselves made.

Is anybody really suprised? The usefullness of this 'standard' was always going to come back to how conformant Office was going to end up being with relation to all the feedback. After several years it isn't conformant at all.

Many people tried to buck-pass by saying that Office's conformance was not a pre-requisite as to how useful and successful the standard was going to be, but it quite clearly was and is. It's no coincidence that with the lack of interest in implementing it properly within Office there has been a complete collapse in continually ratifying and improving the standard. ECMA's contributions have totally dried up and it's a handful of people trying to mop up the mess in a vain hope that it will end up being implemented as it should be.

News Topics

Recommended for You

Got a Question?