I've been getting more and more people ask me what I think about the i4i ruling which has caused Microsoft to pay hundreds of millions in damages and rework Word 2007 and Office 2010.
When I first read about it, I thought "What the heck! who does i4i think they are? The inventors of XML?" But then I read a bit more and Had a look at their patent in more detail
In that patent i4i effectively claim to be the inventor of separating content from structure. Kinda what XML is all about. But then remember, the patent was issued back in 1998, when XML was still a vision and SGML was being used more heavily in the publishing industry.
So are they actually claiming to be the inventors of XML? No. Not at all. What they thought of back then effectively was a way of mapping the look and feel of a document to the data. The key here being mapping. Very similar to what xsl was designed to do.
Some info on chronological events back then in the 90s:
02 Jue 1994: i4i file a patent outlining the concept and process of splitting all formatting from the data, keeping both separate and applying a mapping mechanism to create the final output
10 February 1998: first recommendation recorded at w3.org for XML
28 July 1998: i4i patent is approved
18 August 1998: first draft specification for xsl recorded at w3.org
2003: Microsoft launches word 2003 with the ability to store tagged data in a separate area fo the document and use mapping techniques to inject the data in the desired locations on the page and apply formatting to them.
2007: Microsoft launches the new docx office document format which includes the ability to store xml data in a separate location of the file and uses mapping techniques to inject the data into the document.
So did i4i invent xml? No. they took SGML to the next level parallel to the developments in xml and xsl.
Should their patent have been approved? I guess so. It was ground breaking stuff back then and should be appreciated for its innovation. That's what innovation is all about.
Some more info from fellow bloggers: