Welp, to belabor yesterday's point, I was right! I was right!!!

Got an prompt email reply from Donny Mack this morning and sure enough, DotNetJunkies is using a third party ASP.NET server control to create their dynamic menus. It's apparently made (and sold) by Coalesys. Mr. Mack was kind enough to forward my email explaining the problem to Coalesys.

This is exactly the kind of thing that drives me crazy. These guys [Coalesys] are making money selling what amounts to proprietary widgets that make html code. Are they checking the code out with Mozilla? If so, they don't care about the results. The craziest part is that they've already written the code. The Netscape 6+ page should work, as written, in the current build of Mozilla. The NS 6 version doesn't have the cool fade-out (and it could if they'd code it), but it's quite a bit better than the fallback page Moz is given.

Are Coalesys' end-users checking in various browsers to see if the widgets work as they should? If DotNetJunkies is our representative sample (and if anything, I'd say they're quite a ways ahead of the curve), probably not.

And how does someone fix the code of their recently purchased, third-party, ASP.NET control if it's pumping out bad html like this widget? Well, they can't. [UPDATE: Okay, now that I look back you can by extending the object and overriding what it does for Moz, but this sorta defeats the purpose of having the object in the first place] They have to alert the orginal author. As compiled bytecode makes its way to ASP.NET applications, people will notice they're not just abstracted from code, they're forcably separated from it.

Not sure if I'm arguing against ASP.NET (I don't think so, as a whole) or arguing for open source code (Could be -- the web's been primarily open source since it came online (that's a little circular in the reasoning department) and this is starting to break the status quo). I am arguing against blindly expecting ASP.NET controls to absolve you of your responsibilties as a web programmer of rigourously testing your code on all intended platforms.

And what happens will one person's widget has global variables in the generated client-side javascript that are the same as yet another control? Sheesh.

It's a whole new can o' worms, folks.

(As some exposition -- You might be wondering why I care about the 1% or so of the people who are using Moz reading an ASP.NET site. Even if they're madmen who've removed IE from their Windows box (I don't think I recommend this, btw), certainly they could at least install Netscape, right?

Issues about building Moz for the specific platform of your choice and other open source advantages behind, the point here is that ASP.NET gives MS a chance to subtly keep the screws on browsers which they don't want to see gaining market share. Does this make sense? Things will be designed *for* Internet Explorer on Windows and *tweaked* for "secondary platforms". This is not a good thing from my point of view. Enough already. Rant over for this morning.)