On TechRepublic: 19 words you don't want in your resume
BNET Business Network:
BNET
TechRepublic
ZDNet

By John Carroll, News.com
Posted on ZDNet News: Nov 4, 2004 2:11:00 PM

Commentary--Firefox has been getting a lot of press lately. Firefox is free software in the Stallman-sanctioned sense--released under a GPL license and built atop technology developed for the Mozilla project. Everybody LOVES Firefox. Not only is it a great browser, but it will make your teeth whiter and secure you a date with Carmen Electra.

Okay, perhaps I exaggerate, but on that note, I haven’t seen ANYONE criticize Firefox. To a certain extent, this is because it is the best alternative in a world dominated by Internet Explorer (cue Opera/Safari/Konqueror fans to go into a frothing rage). On the other hand, as I can personally attest, it is politically incorrect in the extreme to criticize anything stamped with the open source moniker.

In short, though Firefox is a good browser, political considerations have allowed it to escape some deserved criticism. Firefox supporters make some rather costly demands of Web sites, particularly given that it commands such a small, albeit growing, share of the browser marketplace. Recent feverish Firefox support pieces aside, I still think that ignoring IE’s non-standard features will prove a large, and unnecessary, barrier to the success of the best alternative to Internet Explorer.

My Experience providing support for Firefox
As a certain square-jawed actor might have said had he been abducted by aliens and forced to write software, "the experience of one programmer doesn’t amount to a hill of beans in this crazy world." Even so, for a browser that touts its support for HTML standards, I was surprised to find that it had difficulty with standard HTML.

Check out this link under Internet Explorer, and then Firefox. I have created a Web page with a fixed position left, top and bottom sidebar that surrounds a scrollable area. All regions resize to completely fill the browser when its dimensions are changed.

To make this work, I have a table which lays out the basic position of the main sections (left bar, top bar, bottom bar, content). I’ve placed a div tag inside the "content" area of the table, setting its width and height to 100% and adding automatic scrollbars by setting the "overflow" CSS attribute to "auto."

None of this is rocket science. Some might object to the use of tables, which in CSS circles might seem SO 1990s. I couldn’t care less. Tables are easy to use, are immediately intuitive to this old HTML hand-coder, and most important, have existed since the early days of HTML. Regardless of your preferences, there is no reason they SHOULDN’T work.

In IE, the page renders properly. In Firefox, the div tag refuses to size relative to its parent table (and doesn’t provide scrollbars), which causes the bottom toolbar to disappear past the edge of the screen.

I managed a workaround by detecting the browser and using a fixed width for the table and div tags when the browser isn’t Internet Explorer. This isn’t ideal, as the page doesn’t automatically adjust to fill the browser window, but it works. Even so, Opera still has problems, and the workaround makes no difference in Apple’s Safari browser.

Differences in scripting environment offered a few hurdles. Client-side scripting has come a long way since 1998, when I was tasked with making a Javascript tree-view work in both IE and Netscape. Since Firefox is a successor of sorts to Netscape (well, at least spawn of Netscape), that’s a good thing.

Still, there are a few gotchas. Why it would kill anyone to provide "document.all" support in scripts is beyond me, though document.GetElementByID() does the trick, if in a more verbose fashion.

In other areas, however, the replacement is not a match in terms of functionality. Like it or not, but showModalDialog is a better way to provide feature-rich user feedback windows than window.confirm (which Firefox supports, even though there is NO PUBLIC STANDARD for it). With showModalDialog, I can pop a window offering "Yes," "No," or "Cancel" buttons that requires a response before proceeding. With window.confirm, I have to craft all my questions as something to which "OK" or "Cancel" makes sense, never mind asking for three, four, or five state responses.

I’m not the only one who thinks so. Yahoo mail uses showModalDialog to generate prompts the look and feel of which matches that of the main page if the client is IE, but drops back to window.confirm for everyone else.

Unreasonable Demands
A number of respondents to my last article claimed incompatibilities didn’t matter, because if a site didn’t provide decent Firefox support, the community would apply pressure to force them to change or else face lost customers and/or bad press.

Though that may well be the case, it’s a bit like fans of a company which lays railroad tracks too narrow for most existing trains bullying engine manufacturers to alter their product to accommodate them. Would it not be so much cheaper, in the aggregate, if the tracks were the proper width in the first place?

Essentially, Firefox’s (or Opera’s, or Safari’s) refusal to implement features found in the browser used by 95% of people who access the internet means that they are insisting that hundreds of thousands of Web sites around the world tailor their sites to accommodate them. That seems an uphill battle, not to mention strange given that many who demand it are the same people who will be tasked with ensuring compatibility across all those browsers. I don’t know about you, but navigating browser idiosyncrasies isn’t my idea of a good time.

Besides, the resistance seems based on the mistaken notion that Web standards are a panacea for browser incompatibility. As noted in past articles, standards DO NOT MEAN that all implementations will have the same performance characteristics. My site now looks fine in Firefox (albeit fixed width), but looks less good in Opera, and doesn’t work at all in Safari. Both tout themselves as champions of Web standards, yet fail the consistency test, proof positive that incompatibilities aren’t dreamt up by executives bent on world domination, but are systemic to software development. As I’ve ALSO said before, there are reasons why one company or product regularly manages to dominate a particular software market.

Implementing IE’s non-standard features would make it easy for developers to target alternative browsers. It would enable developers to tap the reams of documentation which exist for Microsoft products. Ximian’s Miguel de Icaza has noted that Mono (an open source implementation of .NET) benefit from Microsoft marketing and documentation efforts. Microsoft provides EXTREMELY good documentation, a fact noted by many developers less enamored of Microsoft technology than myself.

Few have the money to create comparable documentation that is so centralized. Microsoft does. For a group whose biggest lament has been the lack of funds to market their products or pay for things that few volunteers want to do, the OBVIOUS solution would seem to be to ride the wave formed by larger competitors.

Conclusion
Firefox is certainly the best alternative browser I’ve come across. It makes Opera, its ally of convenience in a war against the common enemy Microsoft, seem downright lobotomized (cue Opera fans to burn me in effigy).

It must be admitted, though, that Firefox does have more support for "official" standards, as this link shows. I can’t say that all the missing features are equally important, and some I doubt I’d use at all. On the other hand, development environments are a bit like toolboxes. 15% of them you probably only use 0.2% of the time, but when that 0.2% comes up, it sure is great to have them.

So, as a middle ground, I’ll say Microsoft should implement more of the standard CSS attributes it lacks. As my example from the start of this article shows, though, there are areas where Firefox (and Opera and Safari, as neither browser handles my example well) could improve its treatment of workhorse CSS elements (the stuff most developers use 99% of the time). So, both have work to do.

Some in forums I’ve visited defend Firefox quirks by attacking the quality of the code it attempts to render (though, as you’ll note, my example was 100% valid HTML). In other words, "sloppy" code has no right to render properly.

That’s not only counter-productive, but ignores the reason people write HTML code in the first place. HTML is SUPPOSED to be easier to write than traditional user interfaces. HTML pages often have short lifespans, and thus HTML is supposed to be a forgiving environment which lends itself to rapid application development.

Most here would admit that IE does a better job of inferring proper behavior from incomplete or improperly-used HTML. That’s a GOOD thing, and Firefox would do well to learn the same lesson.

Lastly, as others have noted, Firefox is probably a safer security bet than IE. Don’t be lulled, however, into a false sense of complacency. Firefox certainly doesn’t use Browser Helper Objects, a technology misused by "spyware" vendors to monitor where a user goes on the internet (or, as I found on a friend’s computer, hijack it to strange locations). On the other hand, it’s not true that Firefox isn’t extensible. Binary installers (the standard way Browser Helper Objects find their way onto a Windows system) can install Firefox extensions just as easily as they install IE extensions.

In other words, the reason Firefox doesn’t face the threats IE faces is that they aren’t the browser used by 95% of consumers. That’s a bit like avoiding the threat of terrorism by moving to Pitcairn Island. It works for awhile, but if everyone has the same idea, your safety is compromised.

I LIKE the fact that IE, and Microsoft, face real competition. What I don’t like is the insistence that Web sites adapt to the upstart browser, not vice-versa. Remember, Microsoft has been down this path before, facing down a Netscape browser with a market share almost equal to that held by IE today. They chose to make IE fit the code developers produced, however non-standard, so that compatibility with IE involved little extra work. I see no reason why we shouldn’t expect the same of alternative browsers such as Firefox.

  • Talkback
  • Most Recent of 406 Talkback(s)
Safari
I don't know what version of Safari you are using, but your Bah, Humbug page works
fine here. Blue bar at the top, left and bottom...resizing the window has no effect
either, I assume this is how it is meant to work, whereas FireFox goes off the bottom
like stated.... (Read the rest)
Posted by: kyussmondo Posted on: 03/28/07 You are currently: Logged In | Log out
Good article. htotten   | 11/04/04
No big deal... Jomo_z   | 11/04/04
Yes, John is right here, we need to lose the religion. DonnieBoy   | 11/04/04
Use ActiveX to Log In? nucrash   | 11/05/04
ActiveX John Carroll  ZDNet | 11/05/04
IE and IQ. Vily Clay   | 11/06/04
lots of businesses NEED ActiveX: care to elaborate? hipparchus2000   | 11/06/04
What is all the hubbub Bub? Squawkbox   | 11/04/04
But in many cases.. d_jedi   | 11/04/04
Dohhhh! I knew that. I need to engage brain before opening mouth. Squawkbox   | 11/04/04
Why? Limits the number of posts. Anton Philidor   | 11/04/04
I will take that in advisement (NT) Squawkbox   | 11/04/04
John, I agree with just about everything you have to say.. d_jedi   | 11/04/04
Not sure what the point is here IT_User   | 11/04/04
Re:Not sure what the point is here d_jedi   | 11/04/04
not worth the trouble? hipparchus2000   | 11/06/04
Not All Web Developers timoute   | 11/04/04
Oh contraire! htotten   | 11/04/04
Financial institutions webranger47   | 11/04/04
Here, here . . . Sheeva   | 11/05/04
My Banks work fine with FireFox chemist109   | 11/08/04
Et touche'! TechDiva_z   | 11/08/04
I think the # of users is moot voska   | 11/04/04
Barrier of Entry frgough@...   | 11/04/04
O.O. htotten   | 11/04/04
Conclusion, again. Anton Philidor   | 11/04/04
I know, I know... John Carroll  ZDNet | 11/04/04
Writing Style edufx   | 11/04/04
incomplete or improperly-used HTML greatwhitepine   | 11/04/04
Why make web developers jobs harder than needs be? d_jedi   | 11/04/04
Funny! greatwhitepine   | 11/04/04
Its not hard. vdraken   | 11/04/04
The difference is.. d_jedi   | 11/04/04
Uh ... No. coffeenite   | 11/04/04
I know what I coded.. d_jedi   | 11/04/04
Uh ... No. coffeenite   | 11/04/04
I think you're right.. d_jedi   | 11/04/04
I Tried It With IE -- Guess What? coffeenite   | 11/04/04
Interesting.. d_jedi   | 11/04/04
Here's What I Believe coffeenite   | 11/04/04
Good point.. d_jedi   | 11/04/04
That all depends ... coffeenite   | 11/04/04
Re: that all depends.. d_jedi   | 11/04/04
Re: I know what I coded.. MigrateNow   | 11/06/04
So? vdraken   | 11/04/04
Re: So? d_jedi   | 11/04/04
Doesnt change anything. vdraken   | 11/04/04
I agree.. d_jedi   | 11/04/04
Because.... NarGemini   | 11/07/04
How far will you take it? lengua99   | 11/08/04
Most site authors are not programmers jrerickson   | 11/05/04
HTML is a DTD of SGML hipparchus2000   | 11/06/04
Inferrence leads to error Robert Crocker   | 11/04/04
And the... alanc5   | 11/04/04
Clever? greatwhitepine   | 11/04/04
You're right and you're wrong seosamh_z   | 11/04/04
you're all wrong Jamik   | 11/04/04
What are you talking about seosamh_z   | 11/05/04
I have to agree... greatwhitepine   | 11/05/04
Not sure what the point is here IT_User   | 11/04/04
Responsibility Anton Philidor   | 11/04/04
The point is .... LGLisle   | 11/04/04
Flocking Anton Philidor   | 11/04/04
its more than html splinter_z   | 11/04/04
Not Caring ... or Not Knowing ChuTw   | 11/04/04
Marketing FireFox Anton Philidor   | 11/04/04
That's Why Standards Are Important coffeenite   | 11/04/04
Developers ARE writing to one standard IT_User   | 11/04/04
To a point seosamh_z   | 11/04/04
Huh? coffeenite   | 11/04/04
Explained seosamh_z   | 11/04/04
Maybe they should get off their lazy A$$'s middle of nowhere   | 11/04/04
Clarification needed Anton Philidor   | 11/04/04
Clarification d_jedi   | 11/04/04
Do sites find workarounds... Anton Philidor   | 11/04/04
In my experience, yes.. d_jedi   | 11/04/04
Some Clarification John Carroll  ZDNet | 11/04/04
Optimism Anton Philidor   | 11/04/04
You are scaring me John! greatwhitepine   | 11/05/04
Standards and alternatives to IE Anton Philidor   | 11/05/04
Standards and extentions az firebird   | 11/05/04
Willfully backward Anton Philidor   | 11/05/04
Wrong. NarGemini   | 11/06/04
John, I really liked your article... jim_oflaherty_jr   | 11/04/04
Hey, Don't you mean 6%... and "IE's not a browser app"... el1jones   | 11/04/04
Margin of error. Anton Philidor   | 11/04/04
ms is not concerned splinter_z   | 11/04/04
Hype Machine. alanc5   | 11/04/04
Why on Earth Roger Ramjet   | 11/04/04
Why Not Use Document.All() ? Easy ... coffeenite   | 11/04/04
splinter splinter_z   | 11/04/04
Get used to it voska   | 11/04/04
hmmm iyerganeshram   | 11/04/04
You may not agree with it.. vdraken   | 11/04/04
I Agree coffeenite   | 11/04/04
Regarding Sloppy John Carroll  ZDNet | 11/04/04
The funny thing is.. Patrick Jones   | 11/04/04
Regarding Regading Sloppy coffeenite   | 11/05/04
Sloppy vs Syntax az firebird   | 11/05/04
Sloppy IS bad! MigrateNow   | 11/06/04
You haven't got a glue Tuntematon   | 11/08/04
Prima Donna vs. Pragmatist jaoifalkjsdao   | 11/05/04
html is only part of the story splinter_z   | 11/04/04
Use IE. Be my guest. Don't call me to remove your Spyware... BitTwiddler   | 11/04/04
Agreed My Brother.... itanalyst   | 11/04/04
I use IE and NEVER get Spyware DalyDose   | 11/05/04
Tell them to fix it! MigrateNow   | 11/06/04
Standards openMind   | 11/04/04
Re: Standard John Carroll  ZDNet | 11/04/04
Ooops... Fred Fredrickson   | 11/04/04
Rejectionist Anton Philidor   | 11/04/04
Oh, Anton... Fred Fredrickson   | 11/07/04
Extended Anton Philidor   | 11/08/04
IE's market share... John Carroll  ZDNet | 11/04/04
How do they know??? DalyDose   | 11/05/04
properly layer your software John hipparchus2000   | 11/06/04
Some Musings Roger Ramjet   | 11/04/04
Problem using frames? Robert Crocker   | 11/04/04
Re: Frames John Carroll  ZDNet | 11/04/04
No Robert Crocker   | 11/05/04
Have you filed a bug report? rpmyers1   | 11/04/04
Sigh . . . DJGibbon   | 11/04/04
i agree splinter_z   | 11/04/04
height: 100%; sidesh0w   | 11/04/04
Re: Height John Carroll  ZDNet | 11/04/04
re: height eLurker   | 11/04/04
site with some examples eLurker   | 11/04/04
that's......... todbran@...   | 11/04/04
Please refer to W3C doc before you comment such things wolfding   | 11/08/04
Re[2]: Height sidesh0w   | 11/08/04
Translations whisperycat   | 11/04/04
While we're discussing web browsers.. d_jedi   | 11/04/04
quickly shadowjk   | 11/05/04
Always good for a laugh.......95%?...Sure..... LazLong   | 11/04/04
So, Windows isn't in the 90%'s anymore? Anton Philidor   | 11/04/04
So you want proof? Fred Fredrickson   | 11/04/04
Proof??? DalyDose   | 11/05/04
I was speaking of OS sales from OEM's LazLong   | 11/05/04
w3c's opinion on your code... xactoguy   | 11/04/04
Yes, but being right does not mean you win. DonnieBoy   | 11/04/04
Yes, but which deviation? shadowjk   | 11/05/04
I think I see your problem… B.O.F.H.   | 11/04/04
I disagree. Immanuel Tranz-Mischen   | 11/08/04
Proprietary vs Open Standards doc_savage   | 11/04/04
Missed the point seosamh_z   | 11/04/04
Make Full Support for Industry Standards a Priority derek.berube@...   | 11/05/04
Functionality vs. security Michael Kelly   | 11/04/04
Scratching head... John Carroll  ZDNet | 11/04/04
Also scratching head Michael Kelly   | 11/05/04
Reason we are both scratching heads John Carroll  ZDNet | 11/05/04
I understand that Michael Kelly   | 11/05/04
Why can't I ever remember that ZDNet rewrote the rules on html (NT) Michael Kelly   | 11/05/04
apparently not 100% valid html. hipparchus2000   | 11/06/04
as a developer, I dont want 10 browsers in the market davecazz   | 11/04/04
Doesn't mean you have to test all 10 John L. Ries   | 11/04/04
What?? NarGemini   | 11/06/04
To draw reasonable conclussions michael-t   | 11/04/04
Woo hoo. christophilus   | 11/04/04
and a deaf person can read it ok? hipparchus2000   | 11/06/04
Yeah, right yosemite91   | 01/14/07
Portable Firefox...Check It Out!! itanalyst   | 11/04/04
A protable non-standards compliant browser? No thanks. No_Ax_to_Grind   | 11/04/04
An Overbloated Piece Of Crap That Causes Malicous Harm To My Computer??? itanalyst   | 11/04/04
Let me explain it for you then. No_Ax_to_Grind   | 11/04/04
Let me explain it for you then. AmusedAtItAll   | 11/04/04
Ah, ever the lack of skill... No_Ax_to_Grind   | 11/04/04
More compliant than IE 6 CobraA1   | 11/04/04
Very interesting posts indeed. No_Ax_to_Grind   | 11/04/04
I'll Take A Little Incompatibility Anyday itanalyst   | 11/04/04
Ah, unless of course it's MS, then it's WHINE TIME. No_Ax_to_Grind   | 11/04/04
bitty is correct AmusedAtItAll   | 11/04/04
FF is the best thing for IE users Richard Flude   | 11/04/04
Stop WHINING JasonL31   | 11/07/04
I can agree with you. Anton Philidor   | 11/04/04
Version numbers don't mean a thing MigrateNow   | 11/06/04
from what i can tell eLurker   | 11/04/04
Good standards, bad standards, doesn't really matter. No_Ax_to_Grind   | 11/04/04
ok, but my point is eLurker   | 11/04/04
I think No_Ax's point is... Michael Kelly   | 11/04/04
i think eLurker   | 11/04/04
No, you seem to be trying to avoid the real issue. No_Ax_to_Grind   | 11/04/04
No, you seem to be trying to avoid understanding the real issue hillrunr   | 11/04/04
it seems eLurker   | 11/04/04
None so blind... Fred Fredrickson   | 11/05/04