bout two years ago, I wrote an editorial explaining (and excoriating) the Eolas lawsuit?or more pointedly, the patent itself. Given Microsoft’s recent announcement that it’s planning to change Internet Explorer to circumvent the patent, it’s worth following up on what’s happened in the past couple of years and put a punctuation mark on a rather ugly affair.
The Eolas lawsuit claimed that Michael Doyle (president of Eolas) invented a way to seamlessly embed and interact with external applications via the World Wide Web when he was the director of the University of California academic computing center. UC applied for a patent for this idea, and later gave Eolas (founded by Doyle) exclusive rights to the pending patent in 1995; the patent was officially granted in 1998.
In 2003, Eolas sued Microsoft for patent infringement, claiming that the way IE loaded ActiveX controls infringed on the patent. Microsoft lost the initial lawsuit, and was fined $521 million dollars. An appeal began in January 2004, which has not been finalized.
After the initial lawsuit loss, Microsoft publicized its intention to change the way IE works, going so far as to detail the programming changes involved and a description of what users would have to do to run ActiveX controls in a Web page.
The changes weren’t particularly palatable. Rather than loading and activating ActiveX controls by default, with the changes Internet Explorer would have displayed a dialog when a page contained active content, and users would have had to click a button on the dialog to close it and allow the external content to run. Because so many pages use embedded ActiveX controls, users would have been faced with a constant barrage of irritating dialogs.
The proposed changes caused a public outcry, leading to a concerted effort by the W3C urging the U.S. Patent and Trademark Office (PTO) to reexamine the patent. The W3C collected a set of applications that it felt described “prior art”?examples of active content embedded in a browser that predated the Eolas patent filing. The PTO agreed to reexamine the patent, a process it completed recently, initially rejecting, but finally, issuing a “Notice of Intent” to uphold the patent, pending further input from Eolas.
In brief, the PTO argues that the Eolas patent covers interactivity directly with embedded objects after they’ve been downloaded, but the W3C-submitted prior art describes embedded objects that render images or other static content, but then exit, leaving interactivity with those images the responsibility of the browser. If you’re interested in seeing exactly why the ruling was upheld, here’s the full PTO explanation.
Fortunately, Microsoft never instituted the change that would have displayed a dialog. Instead, it elected to wait for the result of the appeal before deciding exactly what to do.
Now, however, despite the fact that the appeal is still pending, Microsoft has decided to change the way IE works anyhow. Here’s the gist:
Default and Workaround Behavior
The changes potentially affect any ActiveX control loaded using an
In the default track, ActiveX objects loaded by a page will not be interactive unless the user clicks on them. Going forward, these objects will load in an “inactive” state, meaning they will accept programmatic input but not user input. To activate a control, a user must click on it. When users hover the mouse over an inactive object, they’ll see a message telling them to click to activate the object.
Get Ready to Recode
On the face of it, Microsoft’s current default solution, forcing users to click to activate embedded controls, seems like a reasonable workaround. It’s worth noting that Microsoft has seemingly taken its play directly from the PTO reexamination results, where an application using that concept was submitted as prior art, but specifically rejected by the PTO. The default solution manages to avoid the concepts covered by the patent and also avoid the onerous dialog message that was the hallmark of Microsoft’s first proposed workaround, and to which so many people objected.; however, even that default behavior doesn’t match users’ expectations. Users expect their content to run properly without clicking?and to make that happen, developers will need to recode millions of Web pages to load the ActiveX controls via an external script file, so it will run without requiring an activating click.
It’s also worth noting that Eolas hasn’t yet sued any other browser manufacturer, which means that yet more millions of pages will be written that don’t circumvent the patent, potentially leading to more lawsuits and yet another costly round of redevelopment.
If Eolas decides never to pursue other browser manufacturers, then it’s possible that those manufacturers may license Eolas’ patent, or develop a different workaround to avoid patent infringement. Unless they maintain support for or adopt Microsoft’s solution, developers may end up maintaining two different page versions. But we’ve been there, done that; multiple page versions have incurred huge maintenance and development costs, and incalculable losses of customer revenue and goodwill due to page errors. Creating a new need for multiple page versions would constitute a big step backward toward the browser incompatibilities of the late ’90’s.
Left Holding the Bag
Of course, there’s another possibility. Microsoft and other browser manufacturers could accept the ruling, and license the technology from Eolas, which would avoid all this clicking and recoding. But by making this announcement, Microsoft has let us know that it doesn’t care about how much work you have to do, nor does it care about the millions of users who will be inconvenienced by the changes.
The outcome of the lawsuit is clear. There are two winners. Eolas wins because the patent was upheld, meaning the multimillion dollar lawsuit award has a much better chance of being upheld as well. Microsoft wins because by making some minor changes to its browser code, it avoids having to spend yet more millions to license an idea that should not have been patentable to begin with. But make no mistake: You lose.