Fix for IE Choking on __flash__removeCallback

I’ve been getting a Flash issue in IE. The problem only appeared in IE (all versions) and not in any of the other browsers. I’m not sure if this is because Microsoft’s jScript engine is super-compliant or super-buggy. But we figured out what the problem was.

The issue we were having dealt with the HTML we used to instantiate the Flash file as an object in the DOM. We wrap an embed element in an object element, becuase IE likes one and most other broswers like the other.

The fix was simple. Without getting into too much detail, just make sure that your object and embed tags have unique and valid id attributes. There is some hidden JavaScript that the Flash player calls and if you don’t have these attributes IE chokes when it tries to call these “secret” JavaScript libraries.

Microsoft versus Standards

When it comes to standards, it seems like Microsoft is always on the wrong side of the argument.

Microsoft has always battled rumors that it has a secret “standards mantra” amongst its upper management. It is known as the the three E’s. Those E’s stand for “embrace (the standard), extend (the standard) and extinguish (the competition).”

The HTML standard, and what they did to it, are a perfect example of this.

In the early days of the wild wild web there was NCSA Mosaic, the earliest popular web browser. Mosaic begat Netscape Navigator. And from the same ashes came Internet Explorer. Version 4 of these browsers was hardly distinguishable. On the surface.

Meanwhile, a tiny standards organization, the World Wide Web Consortium (W3C) had released a comprehensive RFC documenting what HTML is supposed to be capable of. Originally Microsoft embraced this standard, but it wasn’t long before they decided that there were a whole lot of things it was missing. Things like event handlers and page transitions.

And IE would render a lot of poorly formed HTML. And I do mean poorly. Put an attribute in a tag without a value? No problem. No doublequotes around your attribute value? No problem. Anyone who has ever tried parsing bad XML knows how frustrating it can be to have just one illegal character in your CDATA. IE let it all through and didn’t really adhere to any convention of rules.

As a web developer, learning to build web pages for this browser made it into a kind of “Dark Art.” Building HTML tables was like sorcery, hyperlink an image and hide the annoying blue border? Without using a stylesheet? Oooooh, you are the <jedi>master</jedi>.

This is probably going to turn out to be one of those posts where I start out strong, focused and having a point, then rapidly devolve into blathering, nonsensical gobbledeygook right about…

Here.

Oh, so the idea was, join up with everyone else in “embracing” the standard. Love it so much that you add on your own stuff to the technology, so much so that your “player” or “reader” or “application” is the only one that can read all those extra little features. Now that everyone is using all the cool new tricks that you and you alone have employed no one will want to use the boring old standardized document drive (in this case, a web broswer). And voila, no more competition.

To be continued…

IE, What Have You Done for me Lately?

What am I using Internet Explorer for these days? Certainly not for surfing the computernets. Oh, maybe I’ll occasionally launch it accidentally. Embedded links in Outlook still launch it as my default browser.

Oh, and animated GIFs work much better in IE than they do in Firefox.

Um… uh…

I’m thinking…

Oh, I use it for Windows Update. Yeah. Good ol’ Windows Update. That is, when the built-in updater is not working and I need to troubleshoot the update failure. That ActiveX control is great, the way it checks for patches I need to download. That’s why I got into computers, actually – to make sure my OS is fully patched. That has seemed like more and more of my job lately.

And I use IE on our internal LAN for integrated Windows authentication, aka NTLM, the single sign-on technology that enables Active Directory domain user authentication via web browser. I’ve set that up for SharePoint and Outlook Web Access. It’s a neat little feature that’s part of IIS (the built-in HTTP daemon in Microsoft Windows Server).

Nevertheless, it seems as though, despite their best efforts, Microsoft may be losing the browser war. But, then again, what does it really have left to gain from winning this war? It seems that when these technology waves start rolling, big movers do what I do when I start playing a game of Monopoly. When I play Monopoly, I buy everything I land on. Even the stupid purple ones at the beginning – and the utilities and the railroads. Why? Compulsion, maybe fear. I’m not really sure, but I think the same mentality has existed at Microsoft during the Web 1.0 boom and was pervasive at Google during the Web 2.0 boom.

When this “control everything” program was going on at Microsoft, they attempted to control what they saw as the three-tiers of web topology: the browser, the server and the portal Their efforts were a multi-pronged attack: encourage the favored MS script language, VBScript, for client-side scripting (the only browser the VB scripting runtime engine worked on was IE); when that didn’t work, they came up with their own version of javascript (jscript). Since javascript had become the de facto browser scriptingg language, they tried to got it to work as a server-side scripting language and offered it up to developers as an alternative scripting language for ASP. They also encouraged the development of proprietary browser plug-ins (ActiveX controls) and extended the HTML featureset so that cool tricks (e.g. page transitions) only work in IE.

Developers, Developers, Developers…
Too little, too late, by the time the .NET framework showed up, many developers had switched to PHP, or had their work taken away from them and handed to faster and more agile Java developers. What was originally going to be called ASP+ turned out to be a clunky development framework that, although robust in its capabilities, swayed many developers to either entrench with what would become known as “classical” ASP, or switch to other development platforms altogether.

And Finally…
And we continue to see the miserable failure that is Microsoft’s attempted domination of the search and portal theaters. Despite massive funding and continuing to operate at a loss, MSN and Live Search continue to trail behind Google and Yahoo! as the, at best, number three offering for searches and as users’ default home page choice.