Geoff W / June 18, 2007
HTML, CSS, Javascript are universal standards? No.

Here's an issue that's really bugged me as a web developer for so long. But not only me. You'll find numerous instances of where developers have ranted and criticised the diversity of rendering engines that are available. IE5, IE6, IE7, Firefox, Safari, Opera and Netscape are the main ones that come to mind, and each one is uniquely different. Sure, that's fine when it comes to functionality and UI of the program, but does it also have to extend to the way Hyper Text Markup Language is rendered in each browser?
HTML, CSS and Javascript were introduced as a simple way to get web pages to look the same wherever you looked them up and whatever computer you were using. A universal standard. So why is this barely the case today? IE6 being one of the worst instances, each browser renders code and parses JavaScript differently, causing numerous frustrations to developers and designers when they are met with the intimidating challenge of seamless cross-compatibility of their webpage on all browsers. Whether it be the complete and ugly replacement of your carefully styled form input boxes and buttons by the stubborn Safari, or the inexplicably irritating render bugs that exist in The 'Soft's IE6 rendering engine that adds that little 3px margin here or sticks a float-level object on a new line there, breaking the boundaries of your page.
It is surprising that large corporations still insist on introducing varying rendering engines in their own browsers to become bundled by default with operating systems. Microsoft uses an engine called "Trident", Apple uses "WebCore" for Safari, and Opera uses "Presto". Everyone in this business knows that if you want a decent browser, you get Firefox, or a browser that utilises an unmodified version of the Gecko rendering engine (something that I'd like to see more of). I will eat my shoe when the day comes that Microsoft and Apple announce that Firefox will come packaged as the default browser on their operating systems, whilst choking on it in glee, as this will be the best news ever to developers around the world. This would mean no more hours wasted trying to get that damn rounded corner to fit onto that button in IE, or styling that "submit" button in Safari, for example.
The point is, everything should be one simple standard like its meant to be. Browsers that are supposed to display the page the same should display it the same! Is that too much to ask? It would also save corporations lots of time and money if they just developed their particular browser around one universal rendering engine, and a good one at that, such as Gecko, since I've rarely had any problems getting designs to work in it. No fuss, no mess, happy developers, and happy customers.
This isn't just a problem for insignificant developers. Google themselves don't support Safari with their Google Talk chat system built into a clever AJAX module in the Googlemail CP, because of the differences in the way Safari parses its code. In short, it doesn't work in Safari! Now if Google can't get it to work, then that suggests this is quite a complication.
The situation is, admittedly starting to improve; The Soft releases IE7 which is just about good enough to pass as a browser, Safari is not too bad and is getting better, and IE6's undeservedly massive market share is gradually getting stamped out by Microsoft's aggressive push to upgrade it to IE7, and in doing so removing the ability to use IE6 anymore (sore spot there, Microsoft?). This can be irritating, however, because as I use Vista, I am unable to test in IE6.
Even so, there will always be enough people using terrible browsers to force you to continue writing CSS and JavaScript hacks to get your layout to work properly. Time consuming as it is, I think there's little we can do about it for the moment. The only thing I can do is continue spreading the word about Firefox. Which reminds me:
And no I don't work for them
Geoff
P.S. http://www.ie7.com/
Add to StumbleUpon | Add to del.icio.us | Digg this Page


oli said,
June 18, 2007 at 4:35 pm ()
So true!
Software developers want to set their own rules and barely follow the standards. They know the problem, and they do nothing to fix it.
That's a shame.
Mark said,
June 18, 2007 at 5:24 pm ()
Yes, everyone wants a standard, but they also want their own "functionality". Before it became Gecko, Netscape added a ton of Netscape tags to HTML.
Gecko, as an HTML renderer is good, but it suffers from being too heavy weight and not as easy to embed within an application.
IE6/7 are designed to be imbedded, but are horrible. IE7 trades one set of bugs (from IE6) to a completely *different* set of bugs (IE7) making things worse, not better.
Safari is both a good standards based browser and is designed to be imbedded (several dozen pieces of software embed the browser within their app as the effort is very minimal). Where Safari may suffer is that it doesn't necessarily support all the "variations" of tags, which can cause some problems.
In my experience, a good HTML/CSS/Javascript combo easily works on both Safari and Firefox with very little or zero changes needed to support both. Then there is IE (both 6 & 7), which seems to cause a mess unless pages are specifically designed for it.
Gecko is a good engine, but it is certainly not the best.
Jurij Burkanov said,
June 18, 2007 at 5:39 pm ()
I can't fully agree with you. First of all, there is no perfect browser in this world, and Firefox has more than enough problems with rendering and so-called "standards" itself. Secondary, IMHO, most part of current troubles with rendering / understanding of standards is not the fault of the browser-makers, but of the W3C. It is W3C who actually stopped developing HTML for 10 years now, and it is W3C who did not provide society with more or less clear documentation of the HTML-Elements. Especially, when it's about Forms - check the documentation out, and try to imagine WHAT should browser-developers think of it. No wonder, that all those browsers are so different - the explaination is so poor, that every company made it their own way. And even now, there is no man on the Earth who knows for sure how should FORM elements work.
Chris said,
June 20, 2007 at 3:33 am ()
}}} HTML, CSS and Javascript were introduced as a simple way to get web pages to look the same wherever you looked them up and whatever computer you were using.
Your basic assumption is wrong! HTML and Javascript are not supposed to have anything to do with layout. None of the technologies where designed so that a page would look the same way same way on every browser on every computer.
This is not what html/css/javascript was designed for, this is what many designers incorrectly assume the web was designed for.
Ali said,
June 25, 2007 at 9:06 pm ()
@Chris
I'm curious to know what you think is the basis for a standard then?
Yong Bakos said,
July 5, 2007 at 5:36 pm ()
Hi, you should use The 'Soft's free Virtual PC instance of Windows XP with IE6 for testing.
Tyson Zwicker said,
August 23, 2007 at 9:03 pm ()
Firefox isn't perfect either:
text-align:center;
DOES NOT WORK. You have to say:
text-align: -moz-center;
To make it work on Firefox. This is NOT standard CSS!!!
I agree IE6 was garbage, but in my experience neither Firefox nor IE 7 are perfect - they both come close by both have a few CSS problems.
I agree with this guy:
http://petesbloggerama.blogspot.com/2007/07/web-standards-ie-firefox-bullshit.html