Ecma is posting a new status update today. We’re in progress updating 500+ new national body comments. As we head into a brief holiday break, we’re pretty happy about the progress we’ve made so far. I think the comments this week are the most significant changes we’ve proposed yet, so I wanted to explain what we did conceptually.
At a high level, we’re responding to feedback that requested simplification for those people who only wanted to implement a subset of the spec. We are also removing from the main specification functionality that is necessary for completeness but is not necessarily appropriate for documents created in the future. We're moving that funtionality to an annex. And finally, we fixed some concerns that National Bodies had about how to handle some legacy issues, Dates in particular with the infamous “date leap bug”.
We got a lot of comments inside the ISO process and externally from ISO that people may want to use only word processing portion (and not the presentation portion,) or wanted to build spreadsheets but not word processing files, etc. We've been working to make that easier.
TC45 and the project editor have worked pretty hard on the conformance areas in particular. We’re proposing the introduction of conformance classes to the specification. Five conformance classes will be created to define how developers can implement portions of the specification. WordProcessingML, SpreadsheetML, PresentationML, Open Packaging Conventions and Markup Extensibility will all have separate conformance classes within the specification. The advantage of conformance classes is that other classes can be introduced later if more granularity is needed. Other significant changes to conformance include the addition of semantic conformance, and a clearer definition of conformance for Open XML producers and consumers. This should make the spec more accessible to people because it is a lot easier to isolate specific areas.
VML and the Annex for Deprecated Features
VML has been a bit of a lightning rod around the world with Open XML. We received many requests to remove references to VML from the main body of the specification, so that documents in the future would use DrawingML only. In our proposal, we made the necessary changes to enable the usage of DrawingML everywhere VML was previously used. This will ensure that new documents will fully utilize DrawingML, as provided for by the new conformance clause. VML will be extracted from the main spec and moved to an annex for deprecated features.
TC-45 worked to accommodate the feedback from many national bodies that a subset of Open XML features are not necessarily appropriate for documents created in the future. The TC recognized that VML, Compatibility Settings (things like the famous “AutoSpaceLikeWord95”) , the “leap year bug” and a few other legacy issues should be extracted from the main specification and grouped in an annex in order to make it clear to developers that they should not be using them except in very specific cases.
Other ISO standards (such as SQL's ISO 9075:2003 Part 1 and C++'s ISO/IEC 14882:1998) have a similar Annex that lists deprecated features. We decided to go further and to physically extract all those features (and their actual descriptions) from the main specification and move them to this annex. Our proposal is intended to clearly distinguish defects and deprecated functionality from what will be best for new documents.
Ecma TC-45 envisioned a need for a transitional period during which some existing binary documents being migrated to DIS 29500 can make use of those features. But the TC also wants to make it more clear in the spec that new documents should not use them. The proposal states that these deprecated features are not guaranteed to be part of the Standard in future revisions. Our proposal says:
"The intent is to enable the future DIS 29500 maintenance group to choose, at a later date, to remove this set of features from a revised version of DIS 29500."
Compatibility Settings - AutoSpaceLikeWord95
There has also been a lot of interest in the Compatibility Settings that include the famous “AutoSpaceLikeWord95” or “truncateFontHeightsLikeWP6”. Ecma worked to provide in this batch the full information necessary to implement all compatibility settings without any dependency on any product. This documentation is provided for the completeness of the spec, but these features should not be used when creating new documents. I’ll discuss the compatibility settings in more detail in my next post.
Dates and the Leap Year Bug
National Bodies provided us also with a lot of feedback on the way we handle dates. Two weeks ago, we indicated how we proposed to use ISO-8601 Dates. In this drop, we provided more detailed information on how the proposed infamous “leap year” is fixed in the new date system, and how dates before 1900 could be now be represented.
All in all, this was a pretty big week for the spec and for TC-45, and it’s great to head into a holiday break with these dispositions on the table. I’ll be back in 2008 to share more of these with you.
As for my weekend, well you’ll find me at Qwest field Sunday cheering on the Seahawks. I usually don’t root for players on the the visiting team, but I am excited to see last year’s Heisman Trophy winner Troy Smith... I’m a Husky at heart, but I’ve always had a huge soft spot for the Ohio State Buckeyes. I’ll definitely be rooting for them during the (American college football) BCS championship game in January. Go bucks!
Happy holidays and Happy New Year everyone.