So the recent decision finding Microsoft IE (and presumably every other browser) as infringing on Eolas’ patent on embedding content in a web page is causing plenty a stir in the web development and UX/IA worlds. Microsoft announced on Monday (06-Oct-03) that a fix was in the works to make IE compliant. The patch (to appear starting early next year in the next and final major release of IE as a stand-alone product) involves tossing up a pop-up alert window every time “dynamic” embedded content is to be loaded into a browser.
Imagine now visiting a site like Cnet, which routinely places 3-5 Flash-based ads on each page. Not only will you have to deal with those ads, but you’ll also have to deal with a pop-up warning you of the impending ads. Great.
What’s interesting about the workaround is that it won’t affect pages where content normally enclosed by <embed> tags is written into place by JavaScript. So to keep the annoying pop-up window from appearing on pages I develop, all I need to do is store my embedded content in an external file, and then write the contents of that file to the web page when it loads in the browser.
Effectively, it would seem, because the browser isn’t loading the content dynamically (but, rather, a JavaScript is doing the task) the technology is no longer infringing. Maybe. The argument seems to be that, since the browser didn’t “see” the embedded content when the page loaded, the browser can’t “alert” the user that it’s coming… and thus the browser is no longer automatically loading dynamic content.
Microsoft, by removing this automated functionalty from their browser, seems to be skirting the legal edges of infringing behavoir. But as a whole, the effect of the work-around is to provide substantially the same functionality as existed before the ruling… so if the same behavoir exists, and the browser isn’t the one exhibiting it… then who’s infringing?
The developer.
Sadly (perhaps terrifying), the possibility at least exists that, since the web developer created code which has the effect of dynamically embedding content in the browser, the developer might be infringing on Eolas’ patent. And while Eolas might be reluctant to sue each and every infringing user, the idea that a published workaround is being developed by software companies who have a vested interest in avoiding liability and providing the most functional products makes for a potentially interesting mix.
Doubtless there are legal, technical and semantic issues that I’m glossing over, if only to try and make a point. Regardless, there are other issues with the proposed work-around:
- Embedding content using a JavaScript will, obviously, only work for users who have JavaScript turned on. Approximately 5% don’t. And if you think that’s a small enough % to ignore – it’s greater than the % who use Macs, Opera, or who require alternative display devices. (And the IA/UX crowd spends plenty of time arguing about how to accomodate those folks.)
- IE only loads “alternative” content if the user indicates that they do not want the embedded content to load. But users only see this alert if <embed> tags are used. If you use the workaround, users won’t have the opportunity to load alternative content… and if they have JavaScript turned off, they won’t see anything.
- The workaround doesn’t apply to mobile devices using other browsers, which might not have JavaScript installed, but might be able to display dynamic content. Some other solution will be required there, it seems.
- It’s not clear to me if objects embedded in a page using JavaScript are subsequently visible through the DOM. This makes a difference especially if you are trying to do things like make Flash more accessible.
All in all, it’s a pretty messy set of solutions, and one which isn’t completely clear of pitfalls.