Welcome to MSDN Blogs Sign in | Join | Help

ISO takes full control - SC34 now moving forward on maintenance and evolution of Open XML

I'm heading home from Norway in the morning, but wanted to give a quick update on the progress made over the past few days. I was attending the SC34 meetings in Oslo and there was a good amount of focus on document format standards (SC34, as designated by JTC1, is the maintenance body for Open XML). In the meetings, we had some great discussions around the next steps for ISO/IEC IS29500 (Open XML), as well as 26300 (ODF), and the topic of interoperability/harmonization. Today was the day that all the resolutions were accepted, and they are now public: http://www.itscj.ipsj.or.jp/sc34/open/1025.htm

I think Alex Brown covers it best, as he declared on his blog: ISO committee takes full control of OOXML

Three new working groups

SC34 was thinking about how to best handle the evolution of document format standards, and intends to create three new working groups to be created within SC34. The first working group would work on Open XML; the second would work on ODF; and the third would work on interoperability/harmonization between document format standards: http://www.itscj.ipsj.or.jp/sc34/open/1025.htm#Res4

I think that a number of folks have been interested in how the work will be handled now that Open XML has been transferred from Ecma to SC34, and I think you'll be pleased to see the public resolutions made at the meeting.

SC34 decided to start by first organizing the working group for Open XML, and in order to do so the following two ad hoc groups will be established:

Ad Hoc Group 1

This group will be led by Alex Brown, and the goal will be to create the official working group for the Open XML formats. There will be regular phone meetings over the next 6 months as well as a face to face meeting in the summer. It is expected that the structure of the working group they establish will also serve as a template for a working group to manage the ODF formats (should OASIS agree to pass maintenance on to ISO). Here's some background on the creation of Ad Hoc Group 1:

"SC 34 is the JTC 1 designated maintenance body for ISO/IEC 29500 (Office Open XML file formats).

The passage of ISO/IEC 29500 has instituted a new era of standards activity in SC 34 related to document formats. ISO/IEC 29500 does not represent an isolated phenomenon, since SC 34 is also responsible for ISO/IEC 26300 and for interoperability between these and other projects.

SC 34 envisages the creation of three distinct working groups that meet the needs of:

  1. ISO/IEC 29500
  2. ISO/IEC 26300
  3. Work on interoperability/harmonization between document format standards and wishes to incorporate existing expertise on these standards.

For these reasons, SC 34 hereby establishes an ad hoc group pursuant to the JTC 1 Directives, clause 2.6.2, for investigating how the first of these groups may be set up most effectively."

Ad Hoc Group 2

This group will be led by Murata Makoto, and will try to quickly set up an infrastructure for collecting feedback on the Open XML standard. There has been a lot of progress made over the past year, and since there are still open issues that have not been fully addressed, they don't want to lose any of that information. The goal is also to use these same tools for allow for public comments to be submitted, and for the public to follow along with the comment resolution process. This work will then feed directly into the working group established by ad hoc group 1. Here's a bit more info on this group:

  • "Definition of the task:
    • To define and put into operation a mechanism to compile a list of comments on ISO/IEC 29500 received from NBs, liaisons, and the general public.
    • To publish the on-going list as an open document on the SC 34 website.
  • Time frame: The collection mechanism is to become operational within 90 days from the end of the April 2008 ISO/IEC JTC 1/SC 34 plenary. Once this is operational, collection will continue until a long-term maintenance process is operational.
  • Membership: Open to ISO/IEC JTC 1/SC 34 P and O members, liaison organizations, and subgroup representatives.
  • Convener: Makoto Murata (JP).
  • Meeting arrangements: Work will be handled primarily by email, with optional telephone conference calls at dates and times to be announced."

Ecma's participation

Another important decision was that SC34 will seek to preserve the knowledge from TC45 members and will invite TC45 to fully participate in both Ad Hoc Group 1, Ad Hoc Group 2, and any future working group that is involved in the maintenance of IS29500:

"ISO/IEC DIS 29500 (Office Open XML file formats) has received the necessary number of votes for approval as an ISO/IEC International Standard. SC34 recognizes that Ecma TC45 members have in-depth knowledge, technical expertise on ISO/IEC 29500 and will seek to preserve and allow for inclusion of this existing body of technical expertise in SC34. SC34 therefore invite Ecma TC45 members to attend and fully participate in ISO/IEC JTC 1 SC 34 Ad Hoc Group 1, ISO/IEC JTC 1 SC 34 Ad Hoc Group 2 as well as in any future working group that will be dedicated to the maintenance of ISO/IEC 29500. SC34 intends to organize an efficient and timely process for maintaining and handling new work items to insure the evolution of the standard in following the JTC 1 Directives."

Interoperability/Harmonization

The DIN Delegate (DIN is the German national standards body) presented an update on the work that they have been doing around translation between the Open XML formats and ODF. I've discussed this a number of times before as being a key piece of the harmonization work.

DIN presented this to SC34 because they are going to propose a new work item within SC34 and are currently in the process of asking other countries to join them in this work. We were informed that AFNOR (France's national standards body) already told DIN that they will work together. It really seems to me that we are seeing some great movement and momentum on interop between formats led both by the thinking within SC34 of creating a new WG on interop and also clearly by this latest initiative of DIN and AFNOR.

Busy Week

As you can see it was a busy week, but we continue to make great progress. I said in my last post how much I was looking forward to working with the folks in SC34, and this meeting just reaffirmed those beliefs.

-Brian

Open XML Overwhelmingly Approved as an ISO / IEC standard (IS 29500): the end of the file formats war

I'm sure many folks have seen the news by now that Open XML has been approved as an ISO/IEC standard (IS 29500). Based on the numbers I've seen, looking at the P member countries there are now 24 who vote "yes", and only 8 vote "no". This puts the P member approval at 75% easily passing the 2/3 majority needed. Of the overall votes (both O and P members combined) 61 countries votes "yes" and only 10 voted "no" which puts the overall approval at 86% (so only 14% no). This puts us well below the minimum bar of no more than 25% voting "no". So on both criteria, Open XML now easily passes, which is a great indication of the general positive feelings amongst the national bodies of the progress made over the past 6 months.

Now that the voting over, it's time to move forward and start to work together in the ongoing development of these document format standards. There has been a lot of energy focused on the review period over the past year or two, and we need to use that same energy to move us forward. There is still a lot of work to do in order to make it even easier for developers to build solutions using these standardized technologies (new tools; test suites; labs; etc.). We also need to continue looking beyond traditional documents and identify the important innovations that will be necessary for the documents of the future. I may have been a bit premature last year when I declared the file format wars over. It was a couple days after we saw that Open Office was going to have Open XML support, and I thought at that point folks would start to move on to the more collaborative and mutually beneficial investments. Well, I was a bit premature I think, but now a year removed from my initial statements, I think we've reached the milestone that really will help put a lot of the tension to rest. Open XML has been approved as an ISO standard, and we can now switch our energy back to the technical work that will continue to drive things forward. As we move into the next stages I'm excited to see the energy and knowledge that will be brought to the table as we begin to innovate and move both Open XML and ODF forward as important internationally standardized file formats.

Large numbers of implementations already support Open XML

Open XML has already been developed on numerous platforms, by hundreds (if not thousands) of different implementers. The approval of Open XML as an ISO standard gives those implementers a stable platform on which to build their tools and solutions. We've already committed in Microsoft that we will work on updating our products so that they support the ISO version of Open XML, and I'm sure we'll see others make similar updates to their solutions.

Choice in file formats will always be important

I know you've heard me mention numerous times that choice in file formats is an important thing. Whether it's XHTML, PDF, ODF, UOF, DAISY, DocBook, NLM, RTF, .doc, or Open XML, folks have needs that drive the file format they choose. Last year we sponsored a translator project that gave people the ability to read and write ODF files from Microsoft Office. Last month we announced that we would update the Office product so that the ODF translators could natively plug into Office and give people the same options they get from the other file formats. People will be able to set ODF as the default format in Office if that's what they want by simply installing the translators and then changing their settings. There will be people that take this option, just as there may be others who decide to switch over to the old binary formats as their default for the time being. I believe the vast majority of folks will use Open XML as their default format, but ultimately that's just my opinion. What's important is that everyone has the ability to decide.

The future of documents, and the ongoing development of IS 29500

I have to admit that what I'm most excited about is that we can now start to move beyond the basic discussions of file formats as they relate to what are essentially digital typewriters, and start to move into the future of document content. The custom schema support in Open XML is really just the starting point of semantic documents, and it takes a small step in the new voyage we need to help convince the rest of the world to take. For far too long, we've focused simply on how to present document content. How it's formatted, where page breaks are, and what styles are used. We've only begun to scratch the surface though in terms of the actual semantics behind the documents people create. There are brilliant folks out there who've been doing a lot of thinking around the semantic web, and how to really tie together all the important information that affects our lives. The next challenge is to really identify how you get the average document author to write content that is semantically structured. Most folks don't yet see the advantage in structuring their documents, so it's important to find ways of providing immediate benefit to those that take the time (or use the right software). There are a number of experts in this area on SC34, so it's very fitting that many of the same people that have helped contribute to this area will also participate in the future developments of Open XML. In ISO it's called "maintenance" but I think that term sounds a bit limiting to folks. It's not "maintenance" in the way that you maintain your car so that it runs properly. Of course some of the work will be around corrections and general improvements, but a lot of the maintenance work will be innovative and forward thinking. We need to continue to move document formats forward, and I couldn't think of a better group to take on that responsibility.

-Brian

Open XML Resources for Developers

Doug has a great post today that helps get us back to what really matters in this whole file format discussion (at least if you're a developer). He links to a number of existing resources that can help folks who are just now getting started with Open XML development, as well as more advanced links for folks who've already started working with the formats: http://blogs.msdn.com/dmahugh/archive/2008/03/31/open-xml-resources-for-developers.aspx

Like many people, I thought we'd know the official outcome of the DIS 29500 process today, but it looks like we won't hear the official results until after ISO has had a chance to run them by the national bodies who participated in the review of the specification, which according to Reuters will be Wednesday.

While we wait, I've been thinking about how much attention this process has been getting, especially in recent months. Back when Ecma submitted the ECMA-376 standard to ISO at the beginning of 2007 (451 days ago, if my math is right), a relatively small number of people were following the discussion around document format standards. That group has expanded significantly, and there are now many people following the story of Open XML and DIS 29500.

Since some of those people may be developers who didn't see all of the Open XML content that has been made available in the past, I decided to pull together a list of links to various resources for Open XML developers. The list is included below. I'm sure I've left out a few good resources, so please let me know in the comments if you know of a useful Open XML developer resource that I've not included here.

 

-Brian

Posted by BrianJones | 10 Comments
Filed under:

Norway vote is now “yes” for Open XML

Norway has also decided to change their vote to "yes" for DIS 29500 (Open XML). http://www.standard.no/imaker.exe?id=18594

Norway had initially voted "no with comments" in September, so it's great to see that they now feel Open XML is ready to be an ISO standard.

[Update 4/1/08: Standards Norway (the folks actually responsible for making the decision) has an official response to some of the FUD: http://notes2self.net/archive/2008/04/01/standard-norge-responds-to-allegations.aspx]

-Brian

South Korea vote is now “yes” for Open XML

Oliver Bell just informed me that South Korea has decided to vote for approval of DIS 29500 (Open XML) as an ISO standard. This is a change from their original "no with comments" posisiton they took back in September, and is great news. South Korea was definitely influential in some of the bigger decisions made in the BRM, and it's great to see that they are now in favor of ISO approval.

Oliver has all the details: http://osrin.net/2008/03/28/south-korea-votes-approve-for-isoiec-dis29500/

-Brian

Denmark vote is now “yes” for Open XML

Jesper Lund Stocholm is reporting that Denmark has decided to change their initial vote of "no" in September to "yes" for ISO approval of DIS 29500 (Open XML). Here is a pointer to the press release: http://www.ds.dk/4225

As Stephen McGibbon put it: "Denmark is a ISO/IEC JTC1 P member and has changed from 'Nej med kommentarer' to 'Ja'."

[Update 3/28 @ 1:21pm] Jasper H. Bojsen has a blog post in English giving all the details: http://blog.hvorom.dk/post/2008/03/From-a-Triangle-to-a-Square---What-Happened-in-Denmark.aspx

-Brian

Finland vote is now “yes” for Open XML

Here's the official statement, although it's in Finnish: http://www.sfs.fi/ajankohtaista/tiedotteet/20080327195555.html

Finland had initially voted "abstain" back in September, but they have now decided to change their vote to "yes" in support of DIS 29500 (Open XML) as an ISO standard.

-Brian

Another example of Open XML as a submission format...

Just saw this on Pablo's blog:

Covering yet another set of scientific disciplines, last month the folks from ArXiv (the largest repository for Physics, also very popular for Math and Computer Science papers) posted the news that they now accept OpenXML files for submissions.  I am also looking forward to being able to help scientists and researchers that deposit OpenXML files into ArXiv.

-Brian

Posted by BrianJones | 0 Comments
Filed under:

The OSP will apply to DIS 29500 (Open XML) going forward

Oliver has a post today discussing this, as it's come up a lot in the discussions he's been having: http://osrin.net/2008/03/27/the-osp-will-apply-to-future-versions-of-dis29500/

-Brian

Miguel de Icaza’s views on Open XML, and what the next steps should be

Interesting post from Miguel today: http://tirania.org/blog/archive/2008/Mar-26.html

I have been reading the OOXML storm in a teacup for more than a year now. Am looking forward to the approval of OOXML as an ISO standard and to be able to move the discussion back to the things that actually matter: free and open source software.

For a year, countless bytes have been wasted on what is now a very difficult plot to follow, specially for people that have not followed it since the start (or as Bill Maher said last week "Its like trying to make sense of a LOST episode". Note: am a Lost fan).

When we go back to what matters, we should be ready to ask IBM to open source its Lotus Notes software based on Open Office (as staunch supporters of open formats, and open source, I think its in their best interest to do so). There are nice components in Lotus Notes that would be nice to integrate into the upcoming OpenOffice 3.

 

-Brian

Posted by BrianJones | 0 Comments

Video clip of the add-in for authoring Scientific Articles

If you want to get an idea of how the add-in works, Pablo has posted a short video:

 

 Pablo suggested skipping to about 4:40 into the video to see the actual solution. For more information on the add-in, check out the blog: http://blogs.msdn.com/exscientia/archive/2008/03/25/short-video-clip-on-the-add-in.aspx

-Brian

HP in favor of Open XML

www.hp.com/go/officedocumentstandards

"In the current vote on OOXML at JTC 1, HP is supporting an affirmative vote in those national standards bodies in which HP is active."

-Brian

Czech vote is now “yes” for Open XML

I just saw this on Stephen McGibbon's website: http://notes2self.net/archive/2008/03/25/czech-republic-votes-to-approve-dis29500.aspx

The Czech Republic has decided to change their vote to "yes" for DIS 29500. The Czech national body (led by Jirka Kosek) played an important role in the technical review of the spec and also with their contributions at the BRM towards improving the specification. They had a couple interactions with Ecma leading up to the January posting of the proposed dispositions and helped ensure that their issues were properly addressed.

It looks like that coordination really paid off, as they now feel Open XML is ready to become an ISO standard.

-Brian

Can I mention that it’s also in ODF?

I try to keep the discussion on this blog primarily focused on the area I care most about, the technology behind Open XML.

Every so often I've mentioned ODF, especially when discussing the translation and harmonization updates, but in terms of discussing the format itself I've assumed that other folks have more interest in it than me, so I've left it to them to discuss. Surprisingly though, many of the ODF folks would rather discuss Open XML than ODF. I haven't seen a lot of vocal pro-ODF blog posts out there, but I've seen tons of anti-OpenXML posts.

Of course it's entirely possible to be both pro-ODF and pro-OpenXML, like the ODF Editor, Patrick Durusau, for example.

But there's also a camp that identify being pro-ODF with having to attack OpenXML. They don't seem to care that deeply about discussing ODF, just about stopping OpenXML. Those are the folks I refer to as being "anti-OpenXML".

I've noticed a common thread within the anti-OpenXML camp in the past few months (actually they've been doing it longer than that). They claim that a "flaw" in Open XML is totally unacceptable despite similar "flaws" in ODF because "we aren't talking about ODF, we're talking about Open XML, and two wrongs don't make a right."

Basically the anti-OpenXML folks' goal is to constantly keep focusing on any aspect of Open XML they can claim is a flaw, and then try to blow it up into a huge deal (see some of Rob Weir's latest posts as examples of this). This is easy to do of course; it's like one of those trashy entertainment shows reporting on the Oscars, and ripping on everyone's dress. It's easy to tear things down and try to position everything in its worse light, but of course if you try to turn the attention back at them they quickly change the subject. This is why the anti-OpenXML folks are very nervous about the discussion ever turning towards ODF. You see, as anyone who's worked with the spec knows, ODF has flaws just like every other spec, some of them could even be considered to be major. It's still developing into a useable spec with folks like Patrick Durusau leading the way in a constructive and calm manner.

So let me take some of the issues that have been raised about Open XML and show how they apply equally and often more so to ODF. This isn't to denigrate ODF in any way, it's to demonstrate that the anti-OpenXML folks' political games are just that – games that should be left to the politicians. So here goes:

Spreadsheet Dates

Folks have been discussing this one for about a year now; it's about the date format used in SpreadsheetML. In the Ecma responses and even in the BRM, we made a number of changes to make everyone happy. Here is where we are now with dates in SpreadsheetML:

  • There is a new date datetype for cell values, and the only way to store into that datatype is with ISO 8601.
  • For calculations primarily, there is often the need to convert from a date into a serial value or back. For this purpose you need to know the date base, or epoch, and in the ISO version of ODF there are essentially 3 date bases (only one of which is transitional)
  • The leap year bug, and issues around dates before 1900 are now only allowed in transitional conformant files, but if the file is strict it cannot use these.

Let's take a look at ODF now:

  • You can store a date as an xsd date type (which is actually different from ISO 8601 in a few ways including the way to treat the year zero). What many people don't know is that in OpenOffice you can also store a date as a serial number. These two date formats are exactly the same in OpenOffice:
    • <table:table-cell office:value-type="date" office:value="55"/>
    • <table:table-cell office:value-type="date" office:date-value="1900-02-25"/>
  • Now, the two values above are considered the exact same date, on one condition, and that is if date-value tag looks exactly like this:
    • <table:null-date table:date-value="1900-01-01"/>
    • Here is what the ODF spec says for this element:
      • "The <table:null-date> element specifies the null date. The null date is the date that results in the value "0" if a date value is converted into a numeric value. The null date is specified in the element's table:date-value attribute. Commonly used values are 12/30/1899, 01/01/1900, and 01/01/1904"
  • Of course, the null-date value (essentially the epoch) could be set to anything, and that would change how you interpret that first date I show above. So while the anti-OpenXML folks are claiming that there are too many date bases in Open XML, in ODF you have an infinite number of date bases to deal with.
  • The values set here also affect calculations of course, but that never came up in the ISO review of ODF because as we all know by now there is no definition for spreadsheet calculations/functions. The upcoming draft of OpenFormula though which the OASIS folks are working on does indeed have these same behaviors where you convert a date into a serial value using the epoch before you perform the calculation.

Printer settings

In Open XML, printer settings for all three document types (WordprocessingML; SpreadsheetML; PresentationML) are already fully defined in the standard. Part 4 clause 4.3.1.26 defines a number of relevant printing properties for presentations. Part 4 clause 3.3.1.61 defines page setup properties and 3.3.1.68 defines other print options which affect printing of a spreadsheet. Part 4 clause 2.6.19 defines the section properties of a wordprocessing document and contains many print related settings. So there are a large number of printing properties fully defined in the Open XML specification based on the usage in the existing corpus of legacy documents.

Beyond these print settings however, there is also an option where a specific printer manufacturer can store their own settings with the document. These may include things like whether or not to use a staple, or other more advanced professional printing behaviors (like binding, etc.) that may be specific to that particular printer and the functionality it supports. It is outside of the scope of DIS 29500 to define a generic mechanism for the printing industry to use, but as the Ecma response states, when the industry decides to create a standard for representing these types of printer settings, the spec should be updated to reference that standard.

If you look at ODF on the other hand, no printing properties are defined (zero). Instead it is up to applications to use the generic extensibility mechanism defined in section 2.4. Beyond that no guidance is provided for how to store any printer settings. Because of this, applications like OpenOffice use the extensibility mechanism to add their own set of properties, very similar to what's already fully defined in DIS 29500. For the settings that are printer specific however, they use a binary blob of data as follows:

<config:config-item config:name="PrinterSetup" config:type="base64Binary">

Vgr+/1xcUFJOLUNPUlAxXGIzNi0zMzEzLWEAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAWGVyb3ggV29ya0NlbnRyZSBQcm8gMzUgUFMAAAAAAAAWAAEAn AkAAAAAAAAFAFZUAAAkbQAAM1ROVwIACABcAFwAUABSAE4ALQBDAE8Aug BQADEAXABiADMANgAtADMAMwAxADMALQBhAAAAAAAAAAAAAAAAAAAA AAAAAAAAAQQABtwAuAhT/wEAAQABAOoKbwhkAAEADwBYAgEAAwBYAgMA AQBMAGUAdAB0AGUAcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB AAAAAAAAAAEAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFJ JVuIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAABgAAAAAABAnECcQJwAAECcAAAAAAAAAACgB/AMAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAADAAAAAAAAALwEEABcSwMAaEMEAAAAAAAAAAAA AQABAAAAAAAAAAAAAAAAAAAAAAAYwjLhCgAAAAAAAAD/AP8AAAACAAAAA QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgBAABTTVRKAAAAABAAG AFYAGUAcgBvAHgAIABXAG8AcgBrAEMAZQBuAHQAcgBlACAAUAByAG8AIAAzA DUAIABQAFMAAABJbnB1dFNsb3QAKlVzZUZvcm1UcmF5VGFibGUAUGFnZVNp emUATGV0dGVyAFBhZ2VSZWdpb24AAExlYWRpbmdFZGdlAABSZXNvbHV0aW9 uADYwMHg2MDBkcGkARHVwbGV4AER1cGxleFR1bWJsZQBDb2xsYXRlAFRydWU AU3RhcGxlTG9jYXRpb24AU2luZ2xlAFhyeElucHV0U2xvdABUcnVlAFJvdGF0aW9u AFRydWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAvAQAADlYUlgCAAAATU9DWAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAARAAAABYBAAAAABcD0AEAABgD6AEAAB wCbwgAAB0C6goAABsBAAAAABIBAAAAAAEBAQAAAHgBAgAAAGwBAQAAALM BAAAAAGUBAQAAAHcDAAIAAJEBAQAAAGkBAAAAAGoBFQAAAH8BAAAAAG8 BAgAAAHABAAAAAHEBAQAAAHIBAQAAAJIBAAAAAJMBAAAAAJQBAQAAAGYB AAAAAJcBAAAAAKEBAAAAAJgBAAAAAKIBAAAAAJkBAAAAAKMBAAAAAJYBAQ AAAKABAQAAANECbwgAANIC6goAANsBAAAAAOECbwgAAOIC6goAAOMBAAA AAOoDGgIAAOsDXAIAANYDngIAANcD4AIAALoDIgMAALsDZAMAAM4CBQAAAN ACBQAAABkBAQAAAGsBAwAAAG0BAAAAAA0BAAAAAIkBAAAAABQBAAAAAB UBAQAAAAIBAAAAAAMBAAAAAAQBAgAAAA8BAAAAABEBAAAAABABAAAAAI wBAAAAAIoBAAAAAIsBAAAAAHoDpgMAAHwCAAAAAH0CAAAAACARAAAAAD MRAAAAABQAAAAwAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAwAAAAAAA AAAAAAAAAAAAAAAAAABYAAAAyADUAMgA1AAAAAAAAAAAAAAAAAAAAP gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgEAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

</config:config-item>

Clearly the approach defined in Open XML is far more interoperable.

Password Hashing and Encryption

We had a bunch of people complain that the hashing algorithm for passwords in Open XML was not clear enough in terms of the documentation. We completely cleared that up between the responses and the BRM to the point where anyone can recreate the same hash, and there is a very robust and flexible way of specifying which has algorithm you use to stay up to date.

What does ODF do here? Well, here is what is in the spec that went through ISO:

To avoid saving the password directly into the XML file, only a hash value of the password is stored.

Great, it's hashed! But how do you create the hash? If I'm writing an application, how do I implement it to work with other applications?

Allows binary formats

There have been complaints that binary formats are allowed in OpenXML. We cleared that up during the review process leading up to the BRM.

Let's look at ODF though:

Section 2.4.2 Base Settings:

Allows for a config:type=base64Binary

Section 9.3 Frames

Frames can contain:

  • Text boxes
  • Objects represented either in the OpenDocument format or in a object specific binary format

Section 9.3.2 Image

The image data is contained in the <draw:image> element. The <draw:image> then element contains an <office:binary-data> element that contains the image data in BASE64 encoding.

If required, the draw:filter-name attribute can represent the filter name of the image. This attribute contains the internal filter name that the office application software used to load the graphic.

 

[Brian Note: No clue what the list of filter-names are, where they come from, how you structure them, or how you are supposed to get interoperability from this]

Section 9.3.3 Objects

A document in OpenDocument format can contain two types of objects, as follows:

  • Objects that do not have an XML representation. These objects only have a binary representation, An example for this kind of objects OLE objects (see [OLE]).

The <draw:object-ole> element represents objects that only have a binary representation.

Section 9.3.5 Plugins

A plugin is a binary object that is plugged into a document to represent a media-type that usually is not handled natively by office application software. Plugins are represented by the <draw:plugin> element

Weak Conformance?

Some folks have tried to claim that Open XML's conformance is weak. The conformance of Open XML is pretty well defined, and is set up to allow for applications to come along and only support a particular piece of the schema without having to implement the rest (imagine a server app that only operates on the data in a spreadsheet but doesn't deal with the formatting, charting, etc.). We also have conformance classes, so that a government for example could say it wants to buy an application that is conformant only to the strict schema, and not the transitional. This is all set up in the conformance clause.

What does the ODF conformance say?:

There are no rules regarding the elements and attributes that actually have to be supported by conforming applications, except that applications should not use foreign elements and attributes for features defined in the OpenDocument schema.

Reuse of existing standards

ODF claims to reuse a number of existing standards, but it's never quite that clean. Jesper has some great examples of a couple odd cases:

Calendar Definitions

There were a number of complaints claiming the Open XML only defined a sub set of the calendars fully and needed to define them all. This was done, and now every calendar definition has a normative definition.

Here's an example of some of the calendars defined and allowed by Open XML:

Enumeration Value 

Description

gregorian (Gregorian)

Specifies that the Gregorian calendar (ISO 8601, §3.2.1) shall be used.

 

This calendar should be localized into the appropriate language. 

gregorianXlitEnglish (Gregorian transliterated English)

Specifies that the Gregorian calendar (ISO 8601, §3.2.1) shall be used.

 

The values for this calendar should be the representation of the English strings in the corresponding Arabic characters (the Arabic transliteration of the English for the Gregorian calendar). 

gregorianXlitFrench (Gregorian transliterated French)

Specifies that the Gregorian calendar (ISO 8601, §3.2.1) shall be used.

 

The values for this calendar should be the representation of the French strings in the corresponding Arabic characters (the Arabic transliteration of the French for the Gregorian calendar).

hebrew (Hebrew)

Specifies that the Hebrew lunar calendar, as described by the Gauss formula for Passover (Har'El 2005) and The Complete Restatement of Oral Law (Mishneh Torah) (Maimon n.d.), shall be used.

hijri (Hijri)

Specifies that the Hijri lunar calendar, as described by the Kingdom of Saudi Arabia, Ministry of Islamic Affairs, Endowments, Da'wah and Guidance (Kingdom of Saudi Arabia, Ministry of Islamic Affairs, Endowments, Da'wah and Guidance n.d.), shall be used.

japan (Japanese Emperor Era)

Specifies that the Japanese Emperor Era calendar, as described by Japanese Industrial Standard JIS X 0301, shall be used. 

korea (Korean Tangun Era)

Specifies that the Korean Tangun Era calendar, as described by Korean Law Enactment No. 4 (Korean Law Enactment No. 4 1961), shall be used.

saka (Saka Era)

Specifies that the Saka Era calendar, as described by the Calendar Reform Committee of India, as part of the Indian Ephemeris and Nautical Almanac (Calendar Reform Committee 1957), shall be used.

taiwan (Taiwan)

Specifies that the Taiwanese calendar, as defined by the Chinese National Standard CNS 7648 (Bureau of Standards, Metrology and Inspection of the Ministry of Economic Affairs n.d.), shall be used.

thai (Thai)

Specifies that the Thai calendar, as defined by the Royal Decree of H.M. King Vajiravudh (Rama VI) in Royal Gazette B. E. 2456 (1913 A.D.) and by the decree of Prime Minister Phibunsongkhram (1941 A.D.) to start the year on the Gregorian January 1 and to map year zero to Gregorian year 543 B.C., shall be used.

 

What does ODF do here?

number:calendar attribute (section 14.7.11)

The attribute may have the values gregorian, gengou, ROC, hanja_yoil, hanja, hijri, jewish, buddhist or an arbitrary string value. If this attribute is not specified, the default calendar system is used.

Yup, that's it.

Fast Track Process

While the anti-OpenXML folks are trying to claim the fast track process is flawed, I would say the result of the fast track process is an even better spec that what we had when we started. Remember that the standard from Ecma (Ecma 376) has already been implemented by a ton of other companies, so even if it had room for improvement, it was already serving its purpose.

ODF went through a similar process, and it's fair to say that it didn't receive nearly the same level of attention. There were some fair points raised by national bodies though, and I thought it would be fun to look at some of the comments ODF received: http://blogs.msdn.com/brian_jones/archive/2008/03/20/out-of-time.aspx

Accessibility

Obviously there was already a lot of great accessibility functionality built into Open XML, and as a result of the ISO process it's become even richer (thanks to some great feedback from Canada and New Zealand).

ODF created an Accessibility sub-committee after ISO approval and then added an accessibility annex to their version 1.1, which has never been brought to ISO.

Closing

I'll close by repeating that I don't intend this post to be anti-ODF in anyway. Instead I'm pointing out that there will always be designs that folks disagree with, and areas for improvement in a standard. If we waited for it all to be perfect, then we'd find the industry had moved on to something else. It's important to get a stable spec out there for folks to start building on. We can then see how it's used, and make improvements/corrections from there. This is what you see in ODF, and we'll see the same thing with Open XML.

-Brian

More Posts Next page »
 
Page view tracker