presentations at the DII workshop, 9/18/2009

If you’re using the Office 2010 Technical Preview and you’re the type of person who likes to look closely at the markup of documents that you’ve created (as most readers of this blog are), you may have noticed some new namespaces that Word, Excel, and PowerPoint used for new functionality such as sparklines in spreadsheets or presentation sections.

Last Friday, at a DII workshop in Redmond, program managers from the Office product groups explained how these new namespaces are used in Office 2010.  This event was scheduled for the day after the SC34 Plenary which took place in nearby Bellevue, so that interested SC34 members could easily attend.  In addition to the SC34 attendees, several US-based ISVs were also present, which led to a good roundtable discussion in the afternoon with a variety of perspectives represented.

Office 2010 takes advantage of two types of extensibility mechanisms in ISO/IEC 29500: extension lists and ACBs (alternate content blocks).  These extension points, which are documented in the text of the standard (see Part 3), provide implementers with a standardized way to innovate and add new functionality while maintaining conformance to the standard itself.  The core concept is that an implementer can provide more than one representation for an object (a shape on a slide, say), and then consumers of that document can render the version that they understand.

The workshop featured four presentations on how Office 2010 uses ACBs and extension lists.  Word/Excel/PowerPoint program managers (Zeyad Rajabi, Chris Rae, and Ric Bretschneider, respectively) explained examples from each of those products, and Nick Chiang of the graphics team covered some general concepts about how graphics are handled in Office 2010.  The presentations included demos of various new types of functionality in Office, followed by deep-dive explanations of the markup used to serialize this new functionality.

All of the presentations are now available for download here, and documentation of the specific extensions used by Office 2010 can be found in the Microsoft Office File Formats section of the Open Specifications Developer Center on MSDN::

After the presentations on Friday, we had a roundtable discussion of the topics covered during the day, and a variety of related topics.  Here are some of the points of discussion that I found most interesting:

  • Standardizing implementer notes.  Should there be a standardized approach for documenting the details of a specific implementation of a standard?  If a standardized schema were used by all implementers, it would be possible to build tools to work with these notes and search them or mine the data to identify possible improvements to the standard and trends among implementations.  There was consensus that this is a topic worth further discussion and consideration.
  • Should the Office 2010 extensions be standardized?  I was interested to see the range of opinions on this question.  Some people feel they should, others feel that they should not, and others felt that further investigation and study is needed to determine what subset of these extensions may be appropriate or worthwhile for de jure standardization.
  • Test suites and profiles.  We discussed various approaches to creating document test suites and standards conformance profiles that would enable better interoperability.  Participants in this discussion included members of the OASIS OIC TC, SC34 WG4 and SC34 WG5, as well as software developers who (as John Head put it) “don’t care about standards, we just want everyone to implement the same thing in the same way.”
  • Should all implementations have published implementer notes?  This topic was raised by a participant who asked about implementer notes for Mac Office, which currently don’t exist.  Some felt that such documentation is needed from all implementers, and one person even suggested that publication of implementer notes could be a requirement for claiming conformance to a standard.  Others felt that such a requirement might be an obstacle to adoption of the standard, given the magnitude of the effort needed to create comprehensive documentation for an implementation.
  • Can some things be standardized in a way that allows for their re-use in both ODF and Open XML?  One of the attendees suggested that slide transitions could be standardized independent of the underlying document format, to allow them to be re-used consistently in more than one format.  This would certainly simplify some aspects of translation between formats, but as others pointed out, it may be more effective to focus on translation between the existing standards rather than modifying each of them to support a new approach, which could be technically and politically challenging.
  • Do standards slow the pace of innovation?  I hadn’t expected this topic to come up, but it prompted an interesting discussion of whether forward progress in document formats is limited by the fact that the  major alternatives are all published international standards that must adhere to well-defined processes for their maintenance and evolution. The conclusion on this topic seemed to be that this is not an issue (i.e., standards don’t restrict innovation), but more could be done to educate implementers and users about how innovation and standards can peacefully co-exist.
  • What’s the best way to handle schema validation for documents that use MCE?  MCE (Markup Compatibility and Extensibility – Part 3 of ISO/IEC 29500) requires a consumer to pre-process the XML markup before doing schema validation.  We discussed how implementers can best address this requirement.  Some felt NVDL might be the best tool for the job, and others suggested that there is a need for more examples of how to work with MCE, and tools that support MCE, across all platforms.  This is another area we agreed needs further discussion and consideration.

It’s great to have so many experts in one room, sharing their thoughts on these topics, and I learned a lot from the wide variety of opinions expressed.  What do you think?  Do you have a strong opinion on any of these topics?  Let me know in the comments below.