News on the business front is Microsoft is stopped from selling Word in the United State, after a successful patent lawsuit brought by i4i.
Frankly, it Microsoft was just awarded a fine, however big that is, or announce before hand how the company has plan to disable the feature if the lawsuit was successful, the impact would not had been that large.
Hopefully this is not lost in the avalanche of news surrounding this issue: Ina Fried of ZDNet has to report the obvious: i4i says it has no plans to destroy Word. First and most important point, even if i4i wants to destroy Word, this lawsuit cannot have this effect from day one. What i4i is entitled to is a cure for the patent violation, a cure in this case is never the wholesale destruction of Microsoft Word, since the patent infringement is only a small part of the full package. Anyone thinking the contrary is living in la la land. Second, if you check out i4i’s website, they appear to have a feature product working with Word. To destroy Word empire means they will suffer collateral damage. Third, what they really want is Microsoft licensing their patent, because this will bring big revenue stream for time to come. Failing that, which looks more and more likely each day as the lawsuit drags out, a huge damage award from the court is acceptable. Fourth, while it might take time for Microsoft to disable the feature, it can be done. Finally, I can see the Appeal Court strike down this injunction as disproportionately harsh on Microsoft. The correct outcome, as far as I am concern and I think the Appeal Court will agree, is to give Microsoft reasonable time to cure this infringement, i.e., to work the infringement out of the program should Microsoft choose this route, but will require Microsoft to pay compensation and some monetary penalty to i4i until the cure is complete.
Want the whole background to the lawsuit? Go to Groklaw as usual.
As for the patent infringement in question? It stumped me. Putting a not-predefined set of XML inside a defined XML set is so obvious from day 3 of XML. I haven’t read the patent involved, and cannot do so without it significantly impact my professional life. Following PJ’s article, the Doug Mahugh’s post on the issue, known as Custom XML, offer some clues, however. Stripping Mahugh’s post down to the technical parts shows there are two parts: XML and how Word handle it. While I cannot see how embedding another XML inside XML, even if you get your XML parser to read/parse a different schema for the embedded XML, but I can see parts like the actual mechanism of recognizing the Custom XML part, get Words to interoporate with it then faithfully write it out being patentable however much I don’t think that the idea should be patentable.
As anyone in the OOXML vs ODF debate will remember, Custom XML was a big fighting point. I would like to see Custom XML goes down, but definitely not this way.
Is there value in Custom XML? Mahugh was right on the money when he says that it means developers can embedded anything XML they like into Word’s XML, without having to write any conversion code. I actually think anyone using this to avoid writing conversion code is a lazy developer and in practice, the conversion routine need only to be written once only, but I can see the appeal. In fact, this support of laziness is an definitely an competitive advantage of OOXML vs ODF. Of course, in my opinion, another reason it should not be allowed is, this approach has huge potential to turn a document written in OOXML into a proprietary format. The RDF framework, as supported by ODF as described by Schubert is not really a cure for this problem, because the RDF descriptors can be represented in a variety of ways and it is difficult to write a schema that can support all different ways of representing your data inside the RDF descriptors. I know, I used the Jena Framework to parse my RDF descriptors. It works great, and definitely better than anything I can come out with. I, however, findit difficult to write out a XML Schema that satisfy all possible permutation of RDF descriptors format for my XML.