Updating Flash sites to work in future Internet Explorer releases

I’m not sure who is most deserving of my anger and contempt: Mike Doyle of Eolas for pursuing a wilfully destructive court case, the US Patent Office for allowing such a ludicrous patent to be granted in the first place or the judge who found in favour of Eolas.

In any case, the upshot of all this is bad news for Microsoft, bad news for web developers and bad news for everybody who surfs the web.

Here’s the backstory:

The elvish sounding Eolas have a patent that essentially covers the embedding of any external multimedia content in a web page. This conflicts directly with the <object> tag in HTML.

Eolas, claiming philantropic motives by going after a monopoly, took Microsoft to court for building a web browser (Internet Explorer) that supposedly violates this patent.

I never thought I’d find myself rooting for Microsoft but, for once, they were doing no wrong.

Microsoft lost that court case. They plan to appeal but they’re also preparing for the worst.

An update to Internet Explorer, due for release early next year, will feature a deliberate stumbling block that will be put in the way of users visiting any site with embedded multimedia content e.g. Flash.

The court victory by Eolas is now damage that the internet must route around. There are two proposed ways of dealing with this:

1) Instead of writing out your <object> and <param> tags directly, use an external JavaScript file to "document.write" the tags.

2) Insert a proprietary attribute, ‘noexternaldata="true"’, in the <object> tag.

Neither of these solutions are ideal or even desirable. The first solution would completely lock out any visitors to your site with JavaScript disabled while the second would stop your pages from validating by using non-standard mark-up.

I spent a lot of time banging my head against the wall today trying to figure out how to deal with these issues. I wanted to make sure that the Salter Cane website would continue to work seamlessly in future versions of Internet Explorer.

For a while I thought about writing a custom doctype to include the "noexternaldata" attribute but that just seemed like overkill.

In the end I settled on a compromise solution.

I went down the JavaScript route, writing a JavaScript function that I can call from anywhere on the site, passing the Flash file location, width and height as variables (I hardcoded things like quality and background colour as they are constant for this particular site). I then call this JavaScript function from within the web pages.

To ensure that visitors without JavaScript don’t miss out, I then have all my <object> and <param> tags (Flash Satay style) wrapped up inside the <noscript> tag.

The Salter Cane website still validates and it should continue to work in the forthcoming crippled version of Internet Explorer.

I’m lucky. I only have one relatively small Flash site that needed updating. It cost me a few hours work. Other developers may have to spend a lot more time and money on this problem.

Eolas have earned the undying hatred of web developers and users everywhere. Maybe Mike Doyle can use some of that $521 million to buy some sort of magical device that will enable him to sleep at night.

Have you published a response to this? :