On reading the patent No. 5787449 applied for on 2 June, 1994 and granted to i4i on 28 July, 1998, for a "Method and system for manipulating the architecture and the content of a document separately from each other", and some MSDN literature relating to the "Custom XML" claimed to be a Microsoft invention, I observed the following.
- The patent dealt with a method of keeping raw, unstructured data separate from its formatting or presentation-related information. This is different from what is understood as XML because an XML file content is structured, and not in raw form.
- The patent application clearly differentiates the method from earlier standards including TROFF, RTF and SGML by showing that what they are patenting has no codes embedded in the contet, but instead has a content part, and a metacode map part stored separately. One could have multiple metacode maps acting upon the same content. The content could therefore be literally anything. Thus, for consistent content that rarely changes, multiple re-use of the content using different metacode maps each serving different purposes, become possible.
- This is uncomfortably close to what Microsoft calls as "Custom XML" on its MSDN library site. Indeed, way back in 2005, one of Microsoft's lead programmers blogged on an MSDN blog about the new "Custom XML" -- and if you read that, it becomes quite clear even to a relative layman that what Microsoft meant was clearly that it would put an "envelope" around any data (it could be a Word document, a spreadsheet or anything else) that would form part of a composite object, consisting of the envelope and any data (in this case, say, a Word file or Excel Spreadsheet) that is placed in what is called the "XML Data Store". The resultant object, which you and I understand as the MS Office 2007 document format, is called the "Office Open XML package". The advantages of this are expounded in the same blog entry. Brian Jones, the lead programmer, admits (gushes, actually) here (in 2005, remember!) that for Microsoft, it is a new feature.
- Both, Microsoft's Custom XML and i4I's patented method are not really about XML. Using this method to store structured, formatted, XML content is a subset of what the system can do. It can store binary (or raw) data equally easily as it can store structured text content.
- Brian Jones' gushing about a new feature when it has been patented for 7 years is no different from the scathing, withering review of Bill Gates' book, Business @ Speed of Thought -- that Gates predicts the past. Much worse, while Gates only becomes an object of intellectual scorn to the reviewer, what Brian Jones and his ilk have done for Microsoft is to drive Microsoft into a legal patent infringement hole -- costing at least $290 million -- and that won't look pretty from inside Microsoft.
- Brian Jones or others in Microsoft may have re-invented the wheel, but they cannot claim ignorance of the i4i patent, given that Microsoft has probably among the largest legal departments of any company in the world, and every product must be undergoing IPR infringement vetting before going to the market.