The IE Changes Explained (FREE) Support
This free article is a must-read for all web designers who use any kind of active content (Flash, QuickTime etc) on their sites. Bruce Lawson investigates the changes that you'll need to make as suggested by Microsoft, Macromedia, Real Networks and Apple if you plan to continue delivering seamless Flash or other plug-in content to the 90% of the world who use IE.
Note March 5th 2004: Good news indeed. The proposed changes to Internet Explorer to force the dialog of doom every time rich content is required have been indefinitely shelved by Microsoft.
Update 9 March: The US Patent Office has revoked Eolas' patent, but Eolas is appealing.
Why are the changes being made?
There's been quite a bit in the news recently about the changes to Internet Explorer that Microsoft has decided to make. The reason for the changes is a ridiculous patent suit, bought about by a one-man company Eolas, which stands for "Embedded Objects Linked Across Systems", slogan: "To create and develop the inventions that allow information technologies to enhance the quality of life for everyone."
The W3C writes, "The patent claims to cover mechanisms for embedding objects within distributed hypermedia documents, where at least some of the object's data is located external to the document, and there is a control path to the object's implementation to support user interaction with the object." (http://www.w3.org/2003/09/public-faq)
The CEO of Eolas, Michael Doyle, argued that he owns the patent on browsers automatically launching embedded objects like Flash, Quicktime, Real Player, Java, PDF readers, MP3 players etc. Microsoft says that IE works differently from Doyle's technology and so it hasn't stolen the method, and that (anyway) there are lots of instances of people doing a similar thing before Doyle applied for the patent. (The 'prior art' argument is investigated here http://www.ozzie.net/blog/stories/2003/09/12/savingTheBrowser.html)
Doyle took Microsoft to court (but, interestingly, not the smaller browser manufacturers like Opera or Mozilla who aren't as cash-rich) and - amazingly - won and Microsoft were ordered to pay half a billion dollars in damages. On top of that, Doyle said that Microsoft should pay Eolas a licensing fee to fire up helper applications automatically; Microsoft understandably don't want to pay it for a product that they distribute free, so Microsoft is making changes to IE.
What are the changes in IE?
Basically, people browsing with old and current versions of IE should see nothing unusual on current web sites (I say "should" because this is all new and in beta; things change). But, in order not to fall foul of Eolas' patent, new versions of IE to be released early in 2004 which will not view current websites with the seamless user experience you've tried so hard to create.
Unless you test, and in many cases, change your code, instead of loading up your flash movie (or flash button!), this charming little box pops up before any active content (Flash, QT, Java etc) can be displayed:
The dialogue box of doom
Remember, the Eolas patent is on browsers launching helper applications automatically. Microsoft's thinking is that, if the user must click 'OK' in this dialogue, the browser is not automatically launching Flash or whatever, the user is launching it. (Interestingly, there is no 'cancel' button there!)
You shouldn't be lulled into a false sense of security because "people never upgrade their browsers". New versions of IE get propagated through the community pretty quickly, given that it's generally pre-installed on the vast majority of PCs; it seems pretty unlikely that you can rely on all of your users having an older version of the browser, and so avoiding the dialogue box of doom.
On the IE Update site, Microsoft says it "expects that new computers and retail purchases of Microsoft Windows XP will have this behavior sometime early next calendar year. Microsoft also expects that new service packs of Windows XP and Internet Explorer will have this behavior starting sometime after that."
But I don't want that dialogue box of doom before every bit of Flash!!
You surprise me. Not. Well, that's where the really clever stuff starts.
The patent affects plug-ins (active content) that is embedded in the HTML using the <object> tag or the deprecated <embed> and <applet> tags, and which get data from outside of the current page. So, you have these choices:
1. If your <object> tag has no <param> elements, you're laughing. No problem.
2. If your tag does have <param> elements, but none of these point outside of the current web page, you can use a new, IE-only, attribute called NOEXTERNALDATA set to true, so IE won't prompt the user.
3. If, however, you use some kind of scripting to embed the active content, Microsoft believes that it won't violate the alleged patent. So if you put some javascript in a separate .js file, and make that write your <object> or <embed> tags, it's fine. Macromedia give this example of foo.js which is useful if you have only a few calls to active content in your page. (An alternate JavaScript solution for many embedded items of active content can be found at http://www.macromedia.com/devnet/activecontent/articles/devletter.html)
function RunFoo()
{
document.write('<object classid="clsid:D27CDB6E..."
...>\n');
document.write('<param name="movie"
value="foo.swf" />\n');
document.write('</object>\n');
}
add this code to the head of your HTML:
<script src="[path]/foo.js" language="JavaScript" type="text/javascript"></script>
then replace every <applet>, <embed> or <object> tag with a call to the appropriate external file:
<script language="JavaScript" type="text/javascript">RunFoo();</script>
Bruce Lawson
I'm the brand manager of glasshaus, a publishing company specialising in books for web professionals. We've a series for dreamweaver professionals - the dreamweaver pro series.