Last week Bill Gates got the interoperability religion. Allegedly - given Microsoft's long and sometimes less than constructive history in the field of interoperability, a certain amount of scepticism is perhaps appropriate. Hakon Lie, Chief Technology Officer of long-standing Microsoft competitor Opera Software, welcomes Gates' new-found enthusiasm for interoperability, but in the following response to Gates, has just a few suggestions about what Microsoft might do to actually achieve it.
So, Mr. Gates, writes Hakon Lie, you say you believe in interoperability. Then why, pray tell, doesn't the web page of your interoperability communiqué conform to the HTML4 standard as it claims to? Why does the W3C validator diagnose 126 errors on your page?
You say you believe in interoperability. Then why is your document served in different versions to different browsers? Why does your server sniff out the Opera browser and send it different style sheets from the ones you send to Microsoft's own Internet Explorer (WinIE)? As a result, Opera renders the page differently.
You say you believe in interoperability. So did your staff back in 1998. Here's what your trusted WinIE evangelist Thomas Reardon wrote:
Microsoft has a deep commitment to working with the W3C on HTML and CSS. We have the first commercial implementation of HTML4, we were the first vendor anywhere to implement even portions of CSS, and we have put a tremendous amount of energy into seeing CSS mature to Level 2. We are still committed to complete implementations of the Recommendations of the W3C in this area (CSS and HTML and the DOM).
So, why didn't you finish WinIE's CSS implementation?
Why are significant parts of CSS2 still not supported?
You say you believe in interoperability. Why then, did you terminate the Web Core Fonts initiative you started in 1996? You deserve credit for starting it, but why close down a project which could have given you yet much good will? (Verdana sucks, but Georgia is beautiful!)
You say you believe in interoperability. Why did it take you so long to publish the WordML specification? And, when you finally did, why did you use the cryptic MSI file format which is unreadable by anything but your own software? And why does your XML evangelist Jean Paoli "clarify" the license term of that specification by saying:
We are acknowledging that end users who merely open and read government documents that are saved as Office XML files within software programs will not violate the license.
What does this mean? Does it mean that opening and reading non-government documents does violate the license? Who on this planet only opens and reads government documents?
You say you believe in interoperability, Mr Gates. We'd like to believe you. But interoperability is hard work. It means writing test cases, discussing edge cases with other vendors, answering high school students, making the necessary bug fixes, and releasing upgrades. Writing the occasional email praising interoperability simply isn't enough. And your track record doesn't support your proclaimed beliefs.
If you truly believe in interoperability, Mr Gates, here are some ways you can prove it:
Fix your document! Start by looking at the source code. Get disgusted. Clean up the mess. (Like the MSN people recently did.)
Fix Microsoft's web servers! It's childish to keep discriminating other vendors' browsers. (And we don't have time to keep releasing Bork browsers.)
Fix WinIE! You still have qualified people on your staff who know the code. (Or, you can port MacIE to Windows.)
Restart the Web Core Fonts initiative! Again, your own staff is highly qualified for the job. Alternatively, you could allow the web community to maintain the files. (Annoying, isn't it, that they keep adding Unicode characters?)
Document your XML formats! XML is not, as you claim, "self-describing". XML is the ASCII of this century; it's a dependable basic layer for data interchange but in itself will not ensure interoperability. (Much too often it's a standardized way of encoding proprietary data.)
Don't patent data formats! Software patents are private monopolies. Private monopolies don't foster interoperability.
Make a donation to W3C! W3C saved you a bundle ($521M to be exact) by helping you invalidate the Eolas patent. Take a generous fraction of that money and donate it to W3C. Label the transfer "for diligent interoperability testing".
Convince us. Deliver on your promises.
Hakon Wium Lie, CTO, Opera Software