World Wide Open Web

I remember back before the Internet Browser war was lost by Netscape, web sites used to attempt to deal with the fact that each browser had a large percentage of users. Following the fall of Netscape, web developers lives became infinitely more simple. No longer did they have to create their sites to support multiple browsers. With leisure, laziness, and over-confidence, they could select Internet Explorer (IE) as the de facto Internet Browser. Ultimately, this has lead to them building a web site they will include features that will only display in IE.

Well, in my opinion, those good ole days for web developers are over. For over a year now FireFox, from the Mozilla Foundation, has been picking up users at a rapid pace. With an estimated 179 million FireFox downloads, the estimated amount of web traffic originating from FireFox web browsers is somewhere between 10 and 15 percent. For those users of FireFox (or Opera or any other non-IE browser), we regularly run across web sites that do not functiona correctly. For me, this occurs with such regularity that I pose the following questions: "When will the web development community start developing FireFox friendly web sites?" It is simply a matter of numbers. As the FireFox user numbers climb, it will become more difficult to ignore such a large percentage of website visitors.

There are two aspects to this situation that are interesting. The first aspect concerns open standards. From the beginning of the World Wide Web, there was always an acute interest in open standards. Even Tim Berners-Lee, when he invented the web and envisioned the browser anticipated an open future for the WWW. All modern browsers still support view source, this was an explicit attempt to keep web pages open. Open standards have actually been a part of the Internet, even way before the invention of the World Wide Web. The responsibility for creating and maintaining Internet standards is the responsibility of the Internet Engineering Task Force (IETF), http://www.ietf.org/.

Currently, Berners-Lee continues his fight to keep his invention as open as possible, by leading the World Wide Web Consortium (W3C) as Director. The mission of the W3C, http://www.w3.org, is to lead the World Wide Web to its full potential by developing protocols and guidelines that ensure long-term growth for the Web. The W3C pursues its mission primarily through the creation of Web standards and guidelines. Since 1994, W3C has published more than ninety such standards, all with the focus of making the fundamental Web technologies compatible with one another and allow any hardware and software used to access the Web to work together.

Introducing all of this discussion of organizing bodies and standards was necessary to bring out the following. If software developers and web developers created tools and websites that comply with the IETF and W3C standards, why do we have websites that work in Internet Explorer, but not FireFox? Well there is not just one answer, but to generalize, I would say is because it is easy not to; and since it is easy and the benefits of non-compliance can seem so enticing, it happens all too frequently.

One of the potential benefits of great concern to most people in the free and open-source software communities, and increasingly in corporate information technology, is vendor lock-in. You might have heard about this and wondered how it affects you. I'll give you the perfect example. When you visit a website and either you find it does not work correctly, or the website itself informs you that your use of FireFox is incompatible with it, then you're experiencing the impact of vendor lock-in.

First before explaining how this happens, I'll remind you of what my good friend PJ Cabrera once told me: "Don't assign to malice, what plain old competence can explain." Now while it is incredibly simply to be a lazy programmer, for the most part, the root of this problem is not incompetence. While most websites run on the Apache web server, most website creation software is predominantly Microsoft Windows-based, specifically Microsoft Frontpage and Macromedia Dreamweaver -- which I would guess have the most users. These web page editors provide a what you see is what you get (WYSIWYG) experience, which is a fancy way of saying that the way the web page looks within Frontpage is close to what it will look like when someone views that web page on the web. When someone uses Frontpage, there is a lot of "automatic" coding that is done for the web site developer. Most web site developers don't care what the automatically generated code does, just as long as it works for them.

Here is the rub; it works as long as it is seen with Internet Explorer. Because Microsoft makes the web page editor and they make a web browser, the code generated automatically will include features only available within Internet Explorer. Internet Explorer contains enhancements and extensions to the W3C standards that make it not 100% compliant with the standards. Therefore, web site developers that rely upon features that are automatically generated, inadvertently produce web pages that can not be seen with Mozilla FireFox. Now because Macromedia DreamWeaver came after Microsoft Frontpage, its initial challenge was to lure away previous users of Frontpage. To successfully lure away those users, they had to include features that were popular with Frontpage. Therefore, they too began automatically generating code that required Internet Explorer.

This example, is of course, a simple one that illustrates vendor lock-in. There are much more complicated and potentially costly situations that organizations must confront. However, it illustrates:

  • the importance of open standards in providing interoperatability for all software;
  • the dangers of using software features that can not be examined or understood;
  • the potential impact of vendor lock-in when we become too dependent on those features.
Kevin Shockey - Tue, 2006-05-30 09:45.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Browsers, Standards and Coding change by and by

I abandon for a long time to support all browsers, because it takes so many time to implement the latest workaround for the bug in Firefox or in Internet Explorer, especially when you want to support older browsers. Coding technics and browsers are changing very often. Try to view a css page with an old browser and you will see chaos, because the standard have change. The only way is to build websites for surfers by as simply as possible standards and not for browsers. But it´s also important that those text based spiders can read your code. Here in germany we have at least 25% Firefox surfer.

Thorsten (not verified) - Sun, 2006-08-20 03:17.

FireFox Acceptance

I had noticed (and downloaded) just last week that yahoo has written their Tool Bar for FireFox under Win32 AND Unices.
I installed it just for grins [FireFox1.5 under Mandriva2006] and it seems to work fine, just as most IE users would expect. I feel that the ancillary/add-on programs, {along with the gaming and multimedia writers} are the way that most Win users will find their way to the FOSS community. I feel certain that the majority of users out there that have remained with M$ do so simply because they don't want to be bothered with tinkering. They just want the machine to work.

Now, having written that review and observation, I'm a die-hard Opera user and doubt that this will much impact my personal net surfing.

LaGrosse (not verified) - Tue, 2006-06-06 17:26.

Don't develop for browsers

The whole point of standards is that something created using those standards can be viewed on a number of applications and still look the same. Developing for a certain browser defeats the purpose of those standards. By advocating developing for Firefox, you're doing exactly what you said Microsoft did with Frontpage.

I've seen a page created so that it worked in both Firefox and Internet Explorer, but in Opera (which is the most compliant of the three) it looked awful. So awful, I didn't even bother checking what it looked like in my command line browsers.

Standards: Learn them, use them, love them!

MAdMaN (not verified) - Tue, 2006-06-06 10:26.

Hmm...

The revolution of Firefox is actually based on people that are willing to sacrifice some websites (those who choose not to support web standards) in return for some very nice features.
If there aren't a lot of non-IE users, less websites will choose to support them. If there are little websites supporting them, less people will switch away from IE.
Therefore, from a webdeveloper's point of view, I hope either IE 7+ won't have many more features, or IE7+ will support web standards.
If Gecko (Firefox's rendering engine, which handles parsing HTML code and displaying) would be released into Public Domain, IE could use it (though they wouldn't) and support web standards. This would be good for web developers, but bad for open source.

Anyway, when using a WYSIWYG-editor, use Nvu (which has a tutorial in the latest TUX). Nvu is not as easy-to-use as Front Page or Dreamweaver, especially for nice effects if you don't know CSS, but it produces very nice code, which complies with web standards.

Good article though. However, I'm quite sure Dreamweaver does not use IE-specifid code.

-- Vincent

Btw, it's Firefox, not FireFox ;)

Vincent (not verified) - M - , 2006-06-05 12:39.

NVU is just not that useful

Nvu unfortunately has been at 1.0 for years under the unfortunate aegis of Linspire. The code is completely unstable, and the CSS support is still pretty much a joke. It also does lots of dumb stuff trying to be to smart for you in the same enfuriating way that MSWord does. Quanta is the only project that it seems could get its act together and start challenging Dreamweaver. If the quality of NVU is any indication, open source folks will code HTML/CSS by hand only for years into the future.

Also, sorry guys writing pages for Firefox is just as bad of a practice as writing for IE. What you do to control for both browsers is you write to the standard, and then pressure browser makers to support it. Right now you can write 95% percent of any new webpage as browser agnostic. You then spend some time tackling the other 5% which tends to be IE bugs and inconstencies and the occasional Gecko (firefox) bug. IF we all write to web standards, we are in a much better position to pressure the browser manufacturers to support them. As soon as we start tailoring our code to a particular browser, divided we fall to whoever wants to break up the standard (and damage the web).

An - ymous (not verified) - Sat, 2006-06-17 12:33.