a 'mooh' point

clearly an IBM drone

ODF 1.0 Errata 01 released

Yesterday the official Open Document Format for Office Applications (OpenDocument) 1.0 Errata 01 was released for public feedback. The email in part says that

The public review starts today, 7 August 2008, and ends 22 August 2008. This is an open invitation to comment. We strongly encourage feedback from potential users, developers and others, whether OASIS members or not, for the sake of improving the interoperability and quality of OASIS work.
The document is available http://docs.oasis-open.org/office/v1.0/errata/cd02/ for those of you wanting to take a peek or contribute to the work. The document consists of 88 corrections to the text with references to both the OASIS-edition as well as the ISO-edition of ODF 1.0.

I am a bit unsure if the Japaneese ISO-NB defect report as well as the comments from the original ODF ISO ballot are included in this errata - maybe they will not be dealt with before ODF 1.2 hits ISO (possibly) sometime this Fall.



Are document formats silver-bullets?

A new study from the University of Illinois College of Law has made its way to cyberspace. The title is "Lost in Translation: Interoperability Issues for Open Standards - ODF and OOXML as Examples" and is done by Rajiv Shah and Jay P. Kesan. The study takes a rather novel approach compared to the debates that have been raging through the last year or so: Is the choice of a(ny) document format a silver bullet for interoperability?

The answer in the paper is a clear "No". When discussing the various interop-studies internationally, they note

While it is widely acknowledged that there are problems with interoperability across different formats, e.g., going from ODF to OOXML, there is an assumption here that all implementations produce the same ODF or OOXML.

Their conclusion is that this is not the case. What they did was to create a number of test documents using the reference implementation for each format, OpenOffice.org for ODF and Microsoft Office 2007 for OOXML. They then opened these documents in other applications supporting these formats.

The results are rather interesting:

Results for ODF

Implementation Raw score  Raw score Percentage
Weighted Percent
 151  100% 100%
StarOffice  149  99%  97%
Sun plug-in for Word
 142  94%  96%
CleverAge/MS plug-in for Word  139  92%  94%
WordPerfect  122  81%  86%
 121  80%  79%
Google Docs  117  77%  76%
 55  36%  47%
 48  32%  55%

Results for OOXML

Raw score
Raw score Percentage
Weighted Percent
Office 2007
 100% 100%
Office 2003
 100% 100%
Office 2008 (Mac)
147  99%  99%
141  95%  96%
Pages 142  96%


WordPerfect 114  77%  84%
ThinkFree Office
101  68%  83%
52  35%  43%

They further conclude that

The final implication stems from the surprisingly good results for OOXML implementations. Critics of OOXML have argued that it was too complex and difficult to implement. While OOXML is a long and complex standard, it is possible to offer good compatibility. In fact, our results suggest that implementations of OOXML work as well as implementations of ODF. At the level of basic word-processing that we examined, neither standard had a dominant advantage over the other in terms of compatibility scores. While ODF has had a head start that has lead to more implementations, there appears no reason why OOXML cannot catch up. After all, several developers have provided independent implementations of OOXML.

... which should be interesting for those mandating usage of (an open) document format.

If nothing else this study highlights a couple of very interesting points:

  1. You don't get good interoperability simply by choosing an open document format
  2. Interoperability still has a long way to go and there is still a lot of work to be done. 

DII-workshop in Redmond - round-table discussions

... continued from DII ODF workshop catchup.

The last part of the afternoon in Redmond was a round-table discussion of standards in general; what to do with them and how to work with them in terms of handling interop with other vendors implementing the same standard. It was really interesting and it was clear that Microsoft wanted to hear our input. Everyone in the Microsoft Office "Who's who"-book was there to participate and we had a good couple of hours debating the issues at hand.

One of the really interesting guys I met there was John Head aka "Starfish". He is a Microsoft partner as well as an IBM business partner, and he really grilled Microsoft with respect to some of the decisions they had made around how the UI behaved. You should check out his thoughts on his own blog. It was clear that he had some leverage in relation to Microsoft - even though I did not agree with everything he said. 

An interesting topic was application interop. If you ask me, interop is based on standards but carried out by applications - in other words, standards do not give good interop simply by themselves. This idea was really confirmed when we talked about a thing John also mentions - how do I handle bugs in other applications? I think that it was Peter Amstein that noted that an example of this was the 1900-leap year problem where a decision made 20 years ago still haunt them. I couldn't agree more. But a similar example is application-specific extensions. ODF has this wonderful (read: awful) concept of "configuration item sets". These are specified in section 2.4 of ODF 1.0 and the usage is intended to be to store various application specific settings. The problem with these elements is that there are really no restrictions to how to use them. So you will end up with an application like OpenOffice.org 2.4 that puts data like this in the section:

[code=xml]<config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item>
<config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item>
<config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item>
<config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item>
<config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item>
<config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item>[/code]


Lotus Symphony 1 even puts binary blobs into the configuration items to hold application specific printer settings

[code=xml]<config:config-item config:name="PrinterSetup" config:type="base64Binary">

So you now have OOo (and also Lotus Symphony but to a lesser degree) put in all these settings that not only directly affects the visual layout of the document but - in terms of e.g. the "UseFormerLineSpacing" - specifices that an application should behave as OOo 1.1 .  These are really "OOo Compat-elements".

Now, the question is, what should other vendors do with these "extensions"? Well, Microsoft seems to be under a lot of pressure from organisations like the European Union to implement ODF strictly by the book, so they have chosen to ignore them (and other knowledge of bugs) completely. If you look at the settings.xml-file they actually strip it completely from content and do not use it themselves. Another example is mathematical content in text documents. As I documented some time ago, OOo has a bug requiring the MathML-fragment to include a !DOCTYPE-declaration - otherwise OOo will not display the math content. The result is that ODF with math generated by Microsoft Office will not load the math in OOo due to this OOo-bug. Is the approach chosen by Microsoft the right one? I think so for the following reasons:

  1. Otherwise the result will be an endless propagation of these settings where each implementation will need to support each and every setting from all other vendors
  2. I agree with John Head that it is good to put some pressure on OOo. It has for a long time been living relatively "low-key" in terms of critism and market pressure and it will be good for all of us to have the quality of the application be enhanced.


Will this hurt interop? Yes, of course it will ... but I still think it is the right decision.

Another interesting thing we discussed was extensibility - how applications should/could extend a standard. This was one of the topics where it seemed that I was dissagreeing with almost the entire room. What we talked about was: What do an application do with content it does not understand? Both ODF and OOXML have mechanisms to extend the document format with foreign namespaces etc, and I got the impression that most implementations simply remove content they do not understand when roundtripping documents. Microsoft has chosen the same approach and the argument they made was that it was imposed on them by their "Thrustworthy computing"-guys since preserving non-understood data could be used to hide sensitive information in documents. Even though I see the problem, I still think the argument is wrong. There are tons of other places and ways to hide information in a document and I'd prefer to have the unknown elements and attributes preserved when roundtripping. 

DII ODF workshop catch-up

Wow - it seems the entire cast of Microsoft bloggers are laying the grounds for a whole bunch of blog-entries after the DII-workshop in Redmond the day before yesterday (Wednesday July 30th).

So OK - I'll bite.

I am again back in Denmark after a Hell-ish evening after the workshop where jet-lag almost had the end of me. If the cap-driver had actually known the way to my hotel (he didn't so I ended up giving directions in a town I had only been in for about 36 hours in a country I was only visiting for the second time) I am sure I would have been catching Z's big time on my way home in the cap ... at 20.15 in the evening.

All in all it was very interesting to attend the workshop in Redmond. The day started up with an introduction by Peter Amstein about the approaches and decisions Microsoft had done when working on their ODF-implementation. One of the more interesting discussions here was what Microsoft had done where there was differences between ODF and OOXML - should they be conservative or creative? An example of this was numbering/bulleted lists (it is one of the key parts with differences between ODF and OOXML).OOXML has the possibility of having each bullet in a list a seperate colour where ODF does not. Microsoft had chosen the conservative approach and simply removed all colours from the bullets, but Patrick Durusau noted that he thought it was possible to use styling to do it in ODF - only downside was, that to his knowledge, this particular way of doing it was not supported by any ODF-implementation. I guess some times you are screwed regardless of what you do.

After this followed various project managers that demonstrated how their part of Microsoft Office supported ODF and talked about the remaining work. They each had complex documents that they showed us their work on and the result of saving them (OOXML-files) to ODF. I remember working with conversion using the SourceForge translator in Fall 2007, and I was really impressed by the fidelity of the conversions we saw.

Key points from this part was

  • Shapes are converted without much loss of fidelity
  • Metadata is converted (Dublin Core)
  • Fields are converted
  • Headers/footers are converted
  • TOC etc are converted
  • Shapes are converted
  • SmartArt is converted to shapes
  • Images are converted including cropping etc
  • New 3D-shapes are reduced to the closest possible OpenDocument Drawing shape
  • Old 3D-shapes are converted
  • Formulas in spreadsheets are implemented by the ECMA-376 specwith Microsoft's namespace
  • Mathematical content is converted from/to OMML and MathML
  • When loading an ODF-spreadsheet
  • Tables in OOXML-presentations are converted to shapes thereby making a "virtual table" since ODF does not support tables in presentations
  • Conversion of embedded objects is not fully supported
  • CustomXML is converted to "flat Xml" with content controls being discarded.
  • When loading a spreadsheet from ODF with formula-namespace other than Microsoft's, just the values are being converted and the formulas are disgarded
  • Animations are converted in presentations
  • The concept of "master pages" is not converted to ODF
The rest of the day consisted of hands-on labs (stay tuned for the tech-stuff from this part of the day) and a round-table discussion in the afternoon. I will talk about these part in a couple of posts in the beginning of next week.

I saw that Doug Mahugh will post the material presented to us - so watch his blog for these data.

Generated by Microsoft Office 2007

As we are testing the various test ODF-files we/I have brought to the Microsoft DII workshop here in Redmond, I stumpled over the following XML-fragment:

    <dc:generator>MicrosoftOffice/12.0 MicrosoftWord</dc:generator>


A year ago - who would have thought this?


ODF-implementation in Microsoft Office 2007 SP2

So once again here I am – waiting for a connecting flight out of Frankfurt, Germany. There is about an hour and a half to my flight to Seattle where I will attend the Microsoft ODF DII-workshop about Microsoft’s implementation of ODF in Microsoft Office 2007 SP2. I am looking forward to seeing what they have accomplished and especially for the hands-on lab on Wednesday afternoon, where we will have the opportunity of testing our own documents to see the quality of the implementation. I have therefore brought my own little “tool-box” of documents to test in the lab. Since we were not required to sign any NDAs, I will try do document my tests as good as I can and post them on my blog ASAP. I hope they will be able to contribute to the on-going discussions taking place.

Of course, there are tons of different parameters to test, and it will be impossible for us to test them all, but a few areas do indeed deserve some attention, because these have traditionally been the areas causing most trouble. A non-exhaustive list would be

  • ODF-files with embedded objects
    •  MathML
    • Spreadsheets
    • Presentations
    • Binary objects
  • Inline embedding of MathML-fragments (just for the fun of it)
  • ODF Drawing (vector graphics)
  • Numbering
  • Formulas in spreadsheets
  • Handling of anchoring of graphics and other document parts
  • Conversion from OOXML to ODF
    • OMML
    • DrawingML
    • VML
    • Embedded objects
  • XForms
  • Custom XML
  • clip-board content

The list above (apart from the latter three) nicely summarizes the problems we encountered when I participated in the work for the Danish Government (National Agency of IT and Telecommunications) in Fall 2007 about application interoperability between ODF and OOXML. I hope these tests will be able to contribute to the on-going discussions here in Denmark as well.

Another interesting thing to see will be how Microsoft has handled the various application-specific parts of ODF. How have they handled formulas in spreadsheets? How have they handled document protection of document parts? How have they handled the application-specific content in the <config-item-set>-elements of the other implementations? These are not trivial questions and they directly impact interoperability with other implementations of ODF.

I think it will be an interesting day tomorrow – and I’ll keep you posted on the progress. If you have any last-minute ideas and suggestions to what I should test, please write me an email or simply post a comment to this post. If you have files you’d like me to test, send them to me as well. You can use the “Contact” form on this blog to do so.

EEE - the SC34-way

In my recent post about the outcome of the AHG1-meeting in London, IBM's Rob Weir pointed out, that

What everyone is missing is the fact that Microsoft is not obligated to participate in SC34/WG4 maintenance, or to do maintenance exclusively in SC34/WG4. Ecma is fully capable of submitting any future version of OOXML under Fast Track rules directly to JTC1 (not SC34) for another 6-month ballot.

Well, as I have said repetedly before, when Rob is right, he is right, and this is no exception. As JTC1 Class A Liaison (there are actually only three of those, the other being ITU and the European Union, if I remember correctly), they can do pretty much what they want. So if we wanted to ensure maintance of OOXML would take place completely in SC34, we couldn't rely on JTC1 directives for help. We had to do something else.

One way would be to strong-arm ECMA into signing a binding, legal letter in which they committed to exclusive maintenance of OOXML in SC34. I you ask me, I don't think that is a good idea. I think most of us will agree, that this process has seen too many lawyers already.

Another way would be to indirectly make sure that ECMA does all their activities within the SC34-sphere. Like all organisations, people with the right skills are a constrained resource and it is in no way different for ECMA. As Rob pointed out, there is only limited time available for everyone, and we all need to prioritize our resources. So even though we did not discuss this particular angle with respect to ensuring maintenance in SC34, this was in effect what was the result.

SC34 needs to appoint resources to two areas when setting up WG4:

  1. The editor of the project
  2. Who should run the secretariat for the working group

ECMA volunteered to manage both areas, and we discussed quite a bit about that being a good idea or not. Come to think of it, I think it is.

ECMA (here Rex Jaeschke) has been the editor throughout the process - first in ECMA itself and next in ISO. It is clear that he has the right skill-set to follow the process and he has a clear interest in a fast-paced process. ECMA also volunteered to run the secretariat for the WG. As I wrote in my previous post, the work-load of the WG will be quite big, and a secretariat is really needed to keep track with everyone, to coordinate meetings and to create meeting reports, agendas etc.

So what we essentially did was a "Tripple-E" on ECMA. We have embraced ECMA and their OOXML-resources and we have sure, that given the amount of resources they are to put into SC34/WG4, they are not likely to have their own work run in parallel in ECMA. Now, at some point WG4 will be presented suggestions for additions to the specification. These could be from ECMA, but they could be from just about any member of SC34 - including countries opposing OOXML or competing companies represented in their favorite country. This is really the "ISO-model" at work.

So, you might say, this is just a load of good intentions and wishes for the best possible outcome ... and this is perfectly correct. Sadly though, these were our only options given the JTC1 directives. You might also say that it is highly likely that ECMA will be the only entity that will show up with additions to the specification. I have absolutely no idea of the propabilities for this to happen, but I think it would be very sad. We need other stakeholders and participants in the work with OOXML than ECMA and the national bodies' standards people and I think it would be unfortunate if the only stakeholder in WG4 with real, hands-on experience with creation of Office applications was ECMA. As Rick pointed out the major participants in ODF TC all develop applications based on the same code base and rumour even has it that development of additions to ODF is largely driven by Sun's development of OpenOffice.org in a "we need this element for our implementation - please put it in the specification"-kind-of-way. I have no idea if it is only a theoretical issue or if it is a concrete problem, but I would imagine that a document format to be used by a variety of implementations would benefit from different implementations being present at the development table. This is indeed also true for OOXML. We need the competitors of Microsoft at the table as well.

(ECMA TC-45 already consists of major office suite developers (Apple, Microsoft, Novell etc), so you already have the diversity of vendors present, but I have collectively referred to them as "ECMA". I would still, however, prefer to have participants present not associated with ECMA)


Luckily, you should brace yourselves that even in the event that everything mentioned above falls apart and ECMA litteraly goes their own way, the net effect will "just" be that maintenance of OOXML will be as with ODF where OASIS ODF TC works on maintenance completely seperate from JTC1/SC34.

I missed you, Rob

So today was the last day of the two-day meeting in the, in Oslo created, Ad Hoc Group 1-committee (AHG1). It has been a couple of interesting days and also rather productive. We managed to cover quite a lot of ground and I am quite pleased with the outcome of the meeting. Note, that we have not made any decisions at the AHG1-meeting. All we did was to suggest a possible structure for future work on OOXML in a new Working Group under SC34, Working Group 4 (WG4). SC34 will have to decide themselves (or, ourselves) on what to do in the event that the appeals on OOXML-approval are overthrown.

There were a total of 18 people attending the meeting – of these were nine people of either ECMA or Microsoft. The rest was comprised of representatives from British Standards Institute (BSI) and Dansk Standard (DS) and a couple of “neutral” people, herein myself, Francis Cave (UK), a guy from NL-net Foundation in the Netherlands, Keld Simonsen (NO), a guy from IBM (HUN), the convener Dr. (*giggles*) Alex Brown (UK) and Murata Makato (JPN). The meeting took place in the pleasant surroundings of British Library near St. Pancras Station in London.

The meeting report is available from the SC34 website.

I think the content of most of the discussions of the meeting can be summed up in these three words: “Openness”, “transparency” and “participation” – with the latter perhaps being the most important.


Murata Makato is currently the convener of SC34 WG1 – the WG that currently holds responsibility of the 29500-project in SC34. He will therefore be acting convener of WG4 as well until SC34 formally points out who should hold the position. We have suggested to SC34 that Murata Makato be pointed convener of WG4, but as with all positions in JTC1, it is at the discretion of the NBs and I encourage each NB to think hard on whether they have someone who could fill the position (I should note that I personally think that Murata is an excellent choice as convener).  Since the work-load of WG4 quite possibly will be rather large, we have also suggested that WG4 should have a secretariat. It is at the discretion of the convener to point out who should run the secretariat – it could be an NB, but in theory just about anyone. ECMA has offered to run the secretariat for the W4.

We have suggested to SC34 that an editor of OOXML should be appointed to oversee and coordinate the overall process of work on OOXML. ECMA has offered to continue to fill out this position, but it will ultimately be up to SC34 to decide. We talked quite a lot about how to structure editing of the 29500-project. In ISO-terms, maintenance is defined as “revision, withdrawal, periodic review, correction of defects, amendment, and stabilization”. We discussed having multiple editors (possibly one for each of the IS 29500-parts (four in total)), we discussed multiple editors sharing responsibility of editing the whole text as well, but we ended with a suggestion to have a single editor for the project and assign an “editorial team” to him/her. We agreed that this was the most flexible way to structure this task. The editorial team should consist of SMEs (Subject Matter Experts) of either the NBs or ECMA or any other expert invited/nominated by an NB. This will allow WG4 to adapt the resource-level in terms of body-count to the specific work-load being thrown upon it.

Now, if you ask me, it is crucial that the NBs step up to the task and participate in the work on maintenance and future development of IS 29500 – should the appeals have a favorable outcome. If we don’t step up, SC34 – and WG4 - will in effect simply be a new place for ECMA to meet and work on OOXML. But it is a daunting task – at least compared to the normal work load of some WGs under the JTC1 umbrella. We talked a lot about the possible magnitude of work, but since none of us were able to predict the future, we have suggested the following as initial meeting schedule and work-load:

  • Weekly teleconferences
  • Quarterly face-to-face meetings
  • Overall communication via, possibly, email

The first face-to-face meeting should take place in early 2009.

If the work-load is not as big as we fear (or hope), the activity-level will quite possibly be adjusted really quickly to a more infrequent level.

But this work-load is rather big - at least if you ask me. Even if you don’t count the quarterly meetings in, we are talking about weekly teleconferences of maybe 2 hours each – and with preparations for them of at least a couple of hours for each, initially. This amounts to between a half and a whole work-day each week. Note that none of this is funded by ISO. This effectively means that you don’t want to join the WG4 (or the editorial team) unless you really mean it. I don’t think there is any way to sugar-coat this – participating in standards work, be that in OASIS, ECMA or ISO is serious business and it takes up a lot of time. That being said, we need the NB-participation in this – otherwise the whole ISO-process regarding OOXML becomes, well, ‘moot’.

We actively encourage the NBs of SC34 to participate in the WG4 [and on a personal note; this should be regardless of position on OOXML itself]. The 29500-project drew an enormous amount of attention throughout the last months, and especially the feedback from those opposing OOXML has been extremely valuable. It would be sad, if all those good resources chose not to participate.


Openness is here referred to as the ability of participating in the process. This was sadly one of those areas, where not much was changed – mostly due to JTC1 directives. The members of SC34 (and the subordinate working groups) are national bodies, so if you want to participate in maintenance of OOXML, you need to join a national body. In some countries there is a fee, in some not. In Denmark, as an example, it is free for NGOs and private persons to participate and there are discounts for SMBs if they should choose to join. For “regular” companies as CIBER or IBM, the annual cost is about €3000.

We talked about setting up an informal channel for feedback from the community, but we ended with a decision about a closed NB-website for submission of comments to WG4 – essentially an electronic edition of the “Defect report” form from ISO.

I am thinking about creating an open, informal channel for feedback and comments on IS 29500. It should allow everyone to submit comments to the site about the spec and allow “comments on comments” to facilitate discussions on the feedback. The channel (a website, really) will be REST-enabled and allow any NB to use the contents of the website in their own work on IS 29500. The idea is to create a single point of feedback to enable not only the community to provide feedback but also assist the NBs with their technical work on IS 29500. The website is not a direct channel to SC34 but an informal place to discuss issues with the text. If anyone would like to contribute to this work with either ideas, funding (website costs etc) or technical expertise, please let me know.


And what about transparency? Well, this will follow the rules of JTC1 which means that meeting reports and attendance-lists of face-to-face meetings will be posted on the SC34 website and be accessible for everyone. We will have to find a specific form in doing this, but I will do whatever I can to have the meeting reports be as much as possible like the meeting minutes from OASIS ODF TC. This means that not only will any decisions be recorded – details about the discussions around them should also be available. We will also likely be posting intermediate drafts of the specification for everyone to see – in exactly the same way OASIS ODF TC and ECMA TC45 has done until now. This will allow everyone to follow not only the work going on in WG4 – but also what the result of the work in the actual specification will be.

Participation – a final note

I missed a lot of people in London – the people and organizations opposing OOXML. I had expected a stronger representation from some of the big companies that have criticized DIS 29500 and I had also expected more of the opposing countries to attend. In effect, by not participating in the meeting, they contributed to the alleged “Microsoft stuffing”. I think it calls for a bit of after-thought on their part. They might not have had their cake (to eat) in Geneva, but not participating in the work is the sure road to an ECMA/Microsoft dominated WG in SC34. I will not begin to speculate (much) on possible reasons for not attending – maybe it’s just much easier to sit on one’s hands and claim “Microsoft stuffing” than actually attending the meeting. Just note, that it’s hardly “Microsoft-stuffing” when no one but Microsoft participates.

The happiness of solitude

Oh the lonelyness ... oh the solitude.

They say that parting is such sweet sorrow, but I beg to differ. Things have really, really cooled down in the otherwise warm and cozy OOXML/ODF-blogsphere. Rob and Arnoud seem to have gone back to their day-jobs and Brian has somehow completely dissapeared from the face of the Earth. Doug is mostly writing about what other people are writing about and Groklaw has gone back to their original angle - the SCO-Shenanigans. The only active blogger at the moment seems to be Rick, but even here, the normally so loyal Rick-bashers in the comment-threads seem to have gone AWOL.

Nothing seems to happen here in Denmark as well. The Danish NSB met about a week ago, and we decided to make the working documents public that formed the foundation of the arguments and decisions that took place in the last year. We formed a small technical sub-committee that did the technical work on first the responses to the Danish public hearing in Spring 2007 and later the responses from ISO to the Danish 168 comments to DIS 29500. The group consisted of CIBER Denmark, Ementor, IBM, Microsoft, ORACLE and the County of Aarhus. The technical group was an advisory group to the Danish SC34 mirror-committee. The working documents were made to allow us to keep up momentum and to document the progress we made. In short, for each meeting we made a list of the ISO editor responses that we could accept and those the we could not accept - and they were sent back to ISO editor for further processing. The documents are in Danish, but it still gives a good idea (regardless of native tongue) of what we did in the technical group and how we dealt with each issue. The documents are available at the Danish NSB website (last 7 documents at the bottom of the page in the section "Arbejdsgruppe-notater").

I have also more or less gotten back to my day-job as an Engineer with CIBER. I am currently investigating how to generate documents (ODF and OOXML) using .Net and is actually kind of fun. With that in mind I was interviewed for a video-cast by Microsoft for a small discussion about ODF and OOXML (they conveniently cut out the part where I said that I prefer the markup of ODF over the markup of OOXML but still prefer the tools for OOXML over the tools for ODF (for generating documents on e.g. a webserver or ERP-system), but what can you do?). One of the points I made in the interview was, that the tools were really important. If there are no good tools to create documents - it will slow down the adoption-rate of the particular file type. Regardless of SW-political view, the .Net-platform is rather large on a world-wide basis and the install-base of .Net-technology makes it a platform that should not be ignored (by size alone, if nothing more). And this puzzles me. If you look at the developer-hub of OOXML, you wil find libraries, scripts and tools for just about any operating system and programming language available. But if you want to generate an ODF-file using .Net technology - what do you do? Well, you will propably find that the only (OSS) library available is AODL, a project under the ODF Toolkit umbrella. Unfortunately, the project is not a priority of OpenOffice.org. I wrote an emails to the lead of the project (Dieter Loeschky from Sun) and he suggested that I joined the project as contributor. I have thought a bit about it, and I just might do so. I find it really important for the adoption of ODF that there are tools available for it, so if no one else will, I just might do it myself. I wonder if that will help everyone realize that I am a true ODF supporter.

And finally - the SC34 Ad Hoc Group 1 will convene in London in the end of July. We will meet and talk about what to do with both ODF and OOXML in the future. I am really looking forward to the meeting. The initial mail list reveales that there will be delegates from all over the world:

Austria  2
Canada  1
Chile  1
Czech Republic
Germany  2
Denmark  3
Finland  3
India  4
Japan  3
Republic of Korea  2
Malaysia  2
Norway  3
New Zealand
United Kingdom
United States


I hope we will have a couple of productive days in London. As Alex Brown wrote about after the Oslo plenary in April 2008, transparency of the process is a key point and any input from you, dear reader, to how this could be achieved would be appreciated.

And finally-finally, I seem to have been struck by a bad was of "YABS" - Yet Another Blog Syndrome. Within the next few weeks I will begin blogging on the best IT-website in Denmark, Version2.

Generation of ODF-files on the .Net-platform

Some time ago I wrote a couple of articles about how to generate ODF-files as well as OOXML-files using .Net technology (both articles are in Danish). For generation of OOXML-files I used the - at that time - new .Net 3.0 System.IO.Packaging assembly and for generation of ODF-files I used AODL - a part of ODF Toolkit.

I thought it was time to refresh my skills - and share them with you guys - since the OOXML/ODF-debate has cooled down to a more relaxing level.

A few weeks back Microsoft released the first production-code edition of their OpenXml SDK - version 1.0. I will dig into this a bit later.

I thought I'd kick this series off with a couple of articles about ODF-file generation on the .Net platform, but I was unpleasantly surprised to realize, that it might not be as easy as it sounded. First, I was told that AODL was a dead project. Surely, the latest addition of code was in April 2007 and it seems that nothing has happened since.  It looks as if the resources of ODF Toolkit is focused on ODFDOM - currently a Java-project. The problem is - AODL seems to be the only .Net-project available. I have stumpled across the ODF .Net project by IndependentSoft, but they sell an ODF library as Closed Source Software ... for (brace yourself) €999 a pop! Seriously - selling CSS-libraries is just sooo 2006 ...

And then I come to you, dear reader ... what the hell do I do? Do you know of other .Net libraries that allow me to create and manipulate ODF-files?