@ayende You ought to try Mercurial. in reply to ayende 1 week ago

April 2006

20
Apr

Eolas v Microsoft and FlashObject (continued)

Microsoft caused a furore earlier this month when they rolled out the update to Internet Explorer on the eleventh of April to implement some changes to the browser behaviour in the light of their legal defeat by Eolas. Not only was this earlier than anticipated (their court imposed deadline is the middle of June) but they also bundled it in with the latest round of security updates. Anyone who has updated Windows, either automatically or manually through Windows Update, will be affected.

The update does not result in any loss of functionality. ActiveX controls such as Flash animations, embedded Windows Media players and Java applets will still play as normal, but they will ignore all user interaction until you click on them to “activate” them.

If your Flash animation or embedded media player is merely cosmetic, you may not need to take any further action. However, if it has some interactive functionality such as navigation, less knowledgeable users may get confused and think that your site is broken. Rollovers will not work until the animation is activated, for instance.

As I mentioned in my previous blog entry, I have been using FlashObject to work round this issue. It is fairly easy to implement this with only a few lines of code. You can wrap your <object> tags in an HTML container tag such as <div>, <span> or <p>, and add just a couple of lines of extra code to load in the object:

<script language="javascript" src="/path/to/flashobject.js"></script>
<div id="myFlashContainer">
  <object width="400" height="200" clsid=blah blah blah blah blah...>
    <!-- and so on... -->
  </object>
</div>
<script language="javascript" type="text/javascript">
  var fo = new FlashObject("/path/to/flash/animation.swf",
        "myFlashObject", "400", "200", "7", "#ffffff");
  fo.write("myFlashContainer");
</script>

The script works by swapping out the Flash animation within the container, which does not automatically get activated, for a new, dynamically loaded, <object>, which, does, due to a loophole in the Eolas patent. The parameters are: the path to the Flash object; a unique ID which is assigned to the created <object> tag; the width; the height; the version of Flash which is required to view the animation; and the background colour.

Geoff Stearns gives fuller instructions and details about FlashObject on his website.

Open source browsers such as Firefox are not affected at this stage. Eolas founder Mike Doyle has stated that he intends to license the technology free of charge to open source projects, but what exactly comes out in the wash in that department remains to be seen.

04
Apr

Using Flash? Check out FlashObject…

If you are using Flash animations in your website, you should check out Geoff Stearns’s FlashObject. It neatly works around the problems that will arise in the Internet Explorer updates that have been introduced in the light of the Eolas/Microsoft patent dispute.

It also has several other advantages over the standard way of embedding Flash using <object> and <embed> tags in your web pages:

  1. It is standards compliant, so your HTML/XHTML pages will validate. (<embed> isn’t.)
  2. It downgrades gracefully, as the Javascript swaps out some existing content in your web page.
  3. It is syntactically clearer and easier to read than the conventional way of putting an <embed> tag within an <object> tag in your pages, and hunting around for those long, arcane and easy to mis-type GUIDs.

I must say I take my hat off to Dr Michael Doyle of Eolas. Taking on Microsoft and winning is no mean feat, especially when you consider that in legal disputes such as this it’s usually a case of simply spending the other side to death. However, it still illustrates the whole lunacy of the American software patent system. As one Slashdot commenter said, “Are we for Microsoft because we hate software patents, or are we for Eolas because we hate Microsoft?”