6 mei 2009
De ODF-ondersteuning van Office 2007 is belabberd. Het net verschenen SP2 voor Microsoft's Office Suite voegt ODF-support toe; er is door overheden lang uitgezien naar deze pakketupgrade. Een paar maanden geleden heeft blogger en IBM-werknemer Rob Weir een test uitgevoerd om te kijken hoe de Office 2003-plugins van CleverAge en Sun werkten. Spreadsheets gemaakt in Googledocs, KSpread, Symphony, OpenOffice, CleverAge en Suns plugin werden onderling uitgewisseld. De resultaten vielen niet tegen. Alleen de documenten die waren gemaakt in KSpread en Symphony werden niet goed geopend in CleverAge. Verder ging het allemaal goed. Hij schreef: 'Fortunately, we are all quite close to what is being defined in ODF 1.2's OpenFormula specification. This is not so surprising, since OpenFormula was based on actual spreadsheet practice, looking at a variety of spreadsheet applications. I did a quick test of the 6 ODF spreadsheet applications to see how well they fared against a test suite of 509 core tests that OpenFormula defines for spreadsheet functions. The results were:
* CleverAge 455/509 = 89%
* Google 457/509 = 90%
* KSpread 472/509 = 93%
* Symphony 487/509 = 96%
* OpenOffice 493/509 = 97%
* Sun Plugin 500/509 – 98%
So, we're not yet perfect, but we're getting pretty close. Interestingly, the lowest scores (CleverAge) and highest scores (Sun Plugin) are both for the same calculation engine (Excel)'.
Ondertussen is er het een en ander veranderd. De belangrijkste verandering is Service Pack 2 voor Office 2007, die ondersteuning voor ODF toevoegt. En de resultaten daarvan, zo zegt Weir, zijn belabberd. SP2 had interoperabiliteit moeten brengen tussen Office 2007 en andere pakketten. Maar nu blijkt dat documenten die in SP2 zijn gemaakt alleen goed worden ingelezen in SP2 zelf en met de CleverAge Plugin (die ondersteund wordt door Microsoft). SP2 leest alleen ODF-documenten die ook in SP2 zijn gemaakt. Overigens is op andere punten de interoperabiliteit ook achteruit gegaan. Een spreadsheet gemaakt in OpenOffice wordt nu niet meer goed gelezen in bijvoorbeeld KSpread. Een document gemaakt in ClaverAge wordt weer niet goed gelezen in Symphony. Dat is uiterst teleurstellend. In plaats van meer is er minder interoperabiliteit. Weir is zeer teleurgesteld. 'I must admit that I'm disappointed by these results. This is not a step forward compared to where we were two months ago. This is a big step backwards. Spreadsheet interoperability is not hard. This is not rocket science. Everyone knows what TODAY() means. Everyone knows what =A1+A2 means. To get this wrong requires more effort than getting it right. It is especially frustrating when we know that the underlying applications support the same fundamental formula language, or something very close to it, and are tripped up by lack of namespace coordination. Whether it is accidental or intentional I don't know or care. But I cannot fail to notice that the same application — Microsoft Excel 2007 — will process ODF spreadsheet documents without problems when loaded via the Sun or CleverAge plugins, but will miserably fail when using the "improved" integrated code in Office 2007 SP2. This ain't right'. Maar Weir is ook weer niet zo teleurgesteld dat hij niet een betrekkelijk simpele oplossing weet: 'I was taught to never assume malice where incompetence would be the simpler explanation. But the degree of incompetence needed to explain SP2's poor ODF support boggles the mind and leads me to further uncharitable thoughts. So I must stop here. As I mentioned before, this is a step backwards. But it is just one step on the journey. Let's look forward (and move forward). This is just code. Code can be fixed. We know exactly what is needed to have good interoperability of spreadsheet formulas. In fact most of the code already exists for this. The only thing we need now is to actually go do it and not get too far ahead, or lag too far behind from the other implementations. This is more a question of timing and coordination than hard technical problems'. Tja, laten we maar eens afwachten hoe dit uitpakt.