Archive for October, 2003

The Fallacy of Crossplatform Crossbowser Web Standards

Sunday, October 5th, 2003

The World Wide Web is broken. The Emperor has no clothes. Most web browsers suck and you, The End User, suffers for it.

 

Over the course of the summer, The IEUC has been struggling to improve the quality of our website to better serve you. Countless hours have gone into developing the templates and backend automation facilities that make these pages possible and most of that time has gone into supporting the “web standards” developed by the World Wide Web Consortium.

 

At the end of the day, virtually all of our pages validate against the “strict” variant of the HTML 4.01 standard with their *intended* appearance being defined by valid CSS style sheets. In theory this means that our pages should look gorgeous to you regardless of what platform and browser you are using as long as your choice supports these key international standards.

 

Indeed, if you are a Macintosh user browsing with Safari or have downloaded the latest release of Mozilla Firebird or one of a handful of *nearly* compliant browsers things should look pretty good for you, with informational rollover effects and user modifiable display preferences to increase the contrast and font size of our pages.

 

Unfortunately, our server logs reveal that the vast majority of you are using various releases of Microsoft’s Internet Explorer which is perhaps second only to certain versions of Netscape Navigator in notoriety for its buggy support of style sheets. As a result, if we provided you with the same content that we serve to more compliant browsers, our pages would be so mangled as to be virtually unreadable – a sad fact you may have noticed if you visited us during the last week and a half before we had time to address the issue.

 

There are of course several possible fixes. We could try to write our pages to older non-standards compliant flavors of HTML that are better supported by today’s dominant browsers (an exercise that would likely wreak havoc with disabled visitors dependent on screen readers). We could move to XHTML, but if served according to official guidelines, it would make our pages inaccessible to a number of older browsers. We could apply a number of relatively popular CSS-bug workarounds in which we would rely on bugs in how Netscape and Explorer read our style sheets to prevent them from recognizing the instructions that would cause their screen layout routines to mangle our pages (but this violates the very spirit of using standards in the first place and makes our layout dependent on one set of bugs to circumvent another set of bugs making it susceptible to failure if the former are fixed before the latter). Finally, we could try to detect which browser you are using and patch our pages on the fly to use a different style sheet that avoids triggering the known bugs.

 

Of course none of these approaches will work for all browsers on all platforms and to make matters even worse, our logs show that you are using over 300 uniquely different browser/platform configurations. We can’t even *begin* to test how our pages look on all of them, let alone start to identify and work around their bugs. It is that very fact that argues most persuasively for one to follow the advice of a Microsoft whitepaper and standardize on a single browser. But even Microsoft’s own Explorer has completely different rendering engines (and thus bug sets) in its Macintosh and Windows releases.

 

At one point, frustrated webmasters tried to take the initiative with a “Browser Upgrade Campaign” that would shunt visitors to a page urging them to switch browsers if they attempted to access their sites with non-standards-compliant browsers. It proved a mixed success and was ended when commercial scammers began to abuse its browser diversion code.

 

So what can we or any web authors do? There is no known bug free totally complaint cross-platform solution we can recommend and any advice we can give would leave you trading one set of bugs for another. As noted at the start Safari and Firebird come pretty close to the right thing, and our pages look quite good inside them. But we can’t ignore the fact that most of you use Explorer and many of you might not be in a position to do anything about that fact, despite the many serious problems with its interpretation of modern web page.

 

Since there is no way to please or accommodate everyone, we have made the hard decision to play the numbers and patch pages being served to Explorer with a small number of additional stylesheet rules to override our default styling and hide the display customization routines that don’t reliably work in your browser. The result will be a slight reduction in attractiveness and functionality (eg. you won’t see our informative style sheet-based navigation menu rollovers), but it will leave you with pages you can read today without having to switch browsers.

 

If you have some other browser, we are sending it our unpatched standards-compliant pages, in the hope that it has a modern layout engine that can properly display them. If you are using a really old browser it should ignore our style sheet and give you an acceptable text-based display. If you are using an old buggy Netscape, you are probably having an awful time viewing many sites and not just ours and we apologize for not having the resources to directly accommodate you.

 

The bottom line is that today’s web is broken and webmasters can’t save the day until we, as End Users take responsibility for our role in the circle of dependency and move to a new platform with self-verifying standards. The current status-quo is a disaster, what should take hours takes months of “write once – test everywhere” debugging, and we aren’t talking about complicated software. All web designers want is to be able to position photos and text on a page, control what happens if page elements don’t fit, offer popup menus with rollovers, and embed multimedia objects. This isn’t rocket science, the current standards are far from optimal from the web author’s perspective, and their support is buggy beyond belief. Moreover the underlying HTML and XHTML that describes the content of your pages pale by comparison to research hypertext systems that have been in operation for decades.

 

We need a new platform that different vendors can extend in different directions without breaking basic compatibility with its core standards. We need YOUR support to make it happen. When we succeed, the new platform will make both authoring and browsing painless. It will save you time, it will save you money, it will increase your productivity, and it might save your job. Or you can stay with the status quo and grit your teeth as you view mangled pages or invest countless hours tweaking your work until one day your employer decides that it is taking you so long to debug your web pages that it is more economical to outsource your job to a low cost overseas supplier. The choice is yours.