Strategic insightsMicrosoft IE ActiveX Update

As some might remember, in 2004 Microsoft lost a lawsuit to Eolas Technologies concerning a patent for "Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document"

In short, Eolas holds the patent for how things like flash and quicktime/mediaplayer movies are added to a website - in any browser.

Two days ago Microsoft released a preview of the ActiveX update for MSDN subscribers. This update is a workaround - or so Microsoft claim - to the patent, but it also means a very different approach to adding embedded content in Internet Explorer.

Here is how...

What does it do?

The ActiveX update makes a very simple change. It prevents you from automatically interacting with an embedded object - like a flash movie. You have to activate it first.

In general, and contrary to what many people have speculated, it only prevents interaction with embedded content. If you add a flash movie to your site, it will play, but you cannot interact with it. That includes any mouseOver effects.

Take a thing like Todd Dominey's SlideShow Pro:

When visiting a page that contains a slideshow, the slideshow will start and automatically skip to each slide. But, the caption bar does not appear when you mouse over the images, the thumbnails does not show up when you mouse over the slide numbers and you cannot stop, skip or use any of the controls by clicking on the them.

Instead you have to first click on the flash object, which activates it, then you can use the interaction controls.

The same happens for any site that relies on flash for navigation. The navigation bar just sites there inactively, until you click on it. Any fancy mouseOver effect, any button, or any slider you might have added does not work before the entire flash movie is activated.

Not to mention the countless of site that uses flash to play music. Stopping it is no longer a single click experience - Click activates + Click "pause music".

Of course, when you have clicked on object it stays activated - unless you reload to page or move to another page with the same flash object.

What about movies?

A similar thing happens to movies. Any embedded movie (Quicktime, Real or Media Player etc.) will start to play. But the buttons to control the movie - like a simple thing as the volume control is inactive.

Again, you have to activate them and then do whatever you want to do.

This is especially bad for 360 VR movies, like those you see on car sites. You can no longer just start moving around. In terms of usability everything is twice as hard, and takes twice as long.

To make it worse, pages that rely solely on things like flash, quicktime etc. might break completely. The page below is Apple iLife 2006 product tour after the update.

What about ads?

A lot of people have hoped that this would prevent all those pesky flash ads from working. Especially those who take over your screen, positioning themselves on top of the content you are trying to read.

Well, here is some bad news for you. Since the ActiveX update does not prevent playing it does not prevent any flash ad from displaying.

And, before you could simply click the close button to remove the flash add, now you have to first click the flash ad to activate it, then you can close it.

This effectively makes ads twice as annoying.

The solution

The good thing about all of this is that there is a way to solve it. The patent only concerns embedded content, not content from an external source.

Simply speaking instead of adding the applet, embed or object tag directly to the page, you add it using an external JavaScript file.

Microsoft has published a technical description of how to do this. But in terms of complexity, this is quite simply disastrous.

Notice: The activeX update does not effect applications using the WebBrowserControl (Microsoft's browser engine API)

Of course, the real solution is to change the status of embedded content. Today it is handled as external applications. But, if Microsoft, Adobe or Apple where to incorporate flash and QuickTime as internal functions of the browser we could forget about embedding and the patent altogether.

But, that might be a bit tricky...

Get ready!

My advice is to either change your site now (if you use embedded content), or to get ready to do it.

Microsoft has announced that this will be a forced update - similar to a critical security patches. This change is coming whether we like it or not.

Update - March 28, 2006: There is a a bug in the new ActiveX update. When placing a DIV above activeX content (like Flash), you cannot operate the DIV's HTML controls before activating the underlying Flash movie. Example: The sign-in box on Brinkster.com.

Update - March 30, 2006: This "forced update" will be delivered April 11, 2006. More at BetaNews

Update - April 30, 2006: Jason of ripper.rhetoric has created a usable workaround that gets around the change without having to modify existing content. Detailed information here.