Sunday, August 06, 2006

Web Browsers and Inconsistent HTML Formatting

Why, oh why, after a decade or more of having web browsers do we have to deal with the issue of Inconsistent HTML Formatting between browsers? Perhaps thing have improved some over the years, but it still amazes me how much time must be wasted just trying to tune specific aspects of web design to fit even a couple major browsers (FireFox, and Internet Explorer - IE).

I have been working on my new book-sales website the past week, only to be reminded how much I absolutely hate working with HTML and CSS; not because the underlying technologies are bad (in fact, CSS is quite powerful), but because I must spend so much time making sure that what I create for a web page that renders nicely in one browser actually renders well in the other. Sometimes it goes one step further: there seems to be no way to get either of the major browsers to render (exactly) what I create in Macromedia Dreamweaver.

My particular "fun" dealing with HTML/CSS rendering issues this week is the positioning and width of a table element in my web design. Specifically, no matter what I do to the CSS and/or HTML code, IE renders my main table one-pixel left of where it should be, and Firefox renders it two pixels too wide, making the table extend too far to the right. Both browsers seem unable to calculate the table-width and/or position properly if I have any row or column elements that make use of padding and/or borders using CSS. So, I give up. A pixel or two for now is close enough!

But, after all these years, why can there not be ONE common HTML/CSS rendering engine out there? It should be a totally commoditized product that makes zero money -- not the rendering engine itself at least. I can see where product differentiation in the actual surrounding "web browser" application makes sense, but not for the rendering engine. If it were not for the headstrong nature of for-profit corporations, I do think it quite possible that everyone could use the same rendering engine. There is a W3C org that sets the HTML/CSS standards. Why can't they also be the maintainer of the HTML/CSS rendering engine that renders according to its standards? Since the FireFox rendering engine is open-source, that would be a great place to start -- take that engine and call it the "standard". But, still, there would have to be the likes of MS and others that would just have to have their own engine, thus taking us back to what we have now -- web design issues that should not even exist and only exist due to inconsistent "interpretation" of the W3C HTML/CSS standards. And, there will (forever perhaps) be countless wasted hours trying to overcome these inconsistencies. With the Billions spend in wasted productivity hand-tuning web-designs, we could all have the ultimate in perfection for a standard HTML/CSS engine by now. But, since this is likely to never happen, it is also why I totally expect, and have predicted for a long time, that this HTML/CSS method of web-design will go by the way of the dinosaur.

Ultimately, every time I do web-design work, it leads me back to the fact that I love being able to create native Win32 executables where I control nearly every aspect of the GUI down to the exact placement of each pixel if needed. Or, on the web side of things, this is where Macromedia Flash really shines -- what you create in Flash is what you get regardless of the browser since you rely only on Flash's rendering engine to get the output right. On that point: is everyone in agreement that Flash is "ubiquitous" yet and Flash-Only sites (if not bloated to the max) are, or can be, a good thing?