Home  |  Projects  |  < About >  |  Links Enhanced  |  Home

The author  |  < Standards >  |  Server setup  |  Statistics

Standards

Web Consortium This site is built with a simple subset of HTML, and a little help of PHP glue code to provide both HTML 3.2 and 4.01 compatibility. As a default, you browse the site with HTML 4.01 + CCS2 conformant code. If your browser does not support such standards or if you explicitely ask for the simplified HTML view (button on the right of the upper toolbar), you end up with conformant HTML 3.2 code. See further for a study of browsers compliance.

What's so important about being 'compliant' ?

When too many, too lazy people use malformed HTML or poor quality HTML editors, browsers become more and more tolerant. Recursively, why bothering with conformance when browsers allow a very lazy HTML syntax ? And so on. On the browser side, the commercial interest is the force driving the development, hence flattering the user laziness with crap-proof browsers might be regarded as a legitimate behaviour. On the user side, the main interest is publishing information over the web. What's the point in writing code that only works in Netsplorer 9.99 build 666 ? Even if it seems to work on widely spread browsers, why would it work in the future when your code rely on undocumented and corporate specific hacks that won't stay forever ?

When you produce non-conformant code, you deny your right of enjoying interoperable, everlasting and open documents. A document is open when it doesn't rely on a specific (commercial or not) software to be accessed. But what's worse, you deny these rights to the people trying to access your documents. Publishing or exchanging documents is not a gratuitous act.

This statement is easily understood when yoo look at proprietary extensions. How many times wouldn't you be allowed to browse a site or achieve an online payment because you didn't have the required JavaScript, Java or ActiveX stuff ? Actually a very few times if you kept upgrading your (commercial) softwares : proprietary extension is a perverse kind of non-conformance that locks you into specific corporate interests. You don't want to get into trouble with your client who upgraded its electronic office softwares, so you upgrade or even adopt its product. And so did your client with another client, etc.

A notorious software company actually won the desktop market war on the interoperality grounds. First step : import foreign document formats, but do not export them (at least properly). Second step : if you had a good brute force selling team, you end up with a self-propagating client base due to the recursive process of proprietary extension locking. You then apply the one way interoperability concept to your own products, but between revisions : every new release is sure to win the market over its predecessor.

Where do standards come from ?

They all come from cooperation between corporations and sometimes individuals. The industry business is used to standards : most of the time interoperability and open specifications is the only way to go, unless you're on a tiny market niche. Example : would you buy a Glukon® VCR that only plugs on a Glukon® TV set ? You can plug any device like VCR, satellite receiver/decoder or DVD player from any brand on your TV thanks to a bunch of standards like NTSC, PAL/SECAM, SCART, CINCH and other barbarian capitalized names.

The Internet is a very good example of a great infrastructure and service that could only deploy on standardized and open grounds. All the information is publicly available as RFC (Request For Comments). For instance, the famous TCP/IP protocol - which enables your computer to become a part of the Internet as soon as it supports it - is also known as RFC 793. You can read and send e-mail from any software with any ISP thanks to the open POP3 (RFC 1939) and SMTP (RFC 821) protocols. And what's most important, you can exchange e-mail because they rely on a well defined and open standard called RFC 822.

Are standards incompatible with corporate innovation and initiatives ?

Non conformant software developers often claim that they only try to 'improve', 'extend' or [insert a buzz word that fits] the existing standard. The immediate consequence is that the happy clients of the given corporation having some bucks to upgrade to the 'extended' product are the only one to take benefit. On the long run, either the 'extension' is not adopted, or on the contrary concurrents try to keep up and start to implement more or less compliant clones. You end up with slightly different implementations of a proprietary technology, no or poor documentation : users have a heteregoneous and bad experience, and developers are fighting hard to cope with the different tastes of the technology, not counting multiple renewable licensing fees. Seen on every web agency shelves : HTML and CSS standards (250 pages downloaded for free, highly reviewed and rock solid) and a bunch of manuals to explain the bugs and proprietary extensions of various and fashionable corporate products (the rest of the shelf, horribly expensive and heavy with lots of screenshots-for-dummies, of no interest in two years).

I didn't answer the question, so here's the full answer : yes, standards are compatible with innovation, and what's most important is that they actually support it. When you target an important user base with long time in mind, you think about setting up a standard. Until you are a preposterous company which believes it can bring bug-free, competitive (with no competitors), fully interoperable (with nobody else), reliable (with no warranty that the software will actually do what it's advertised for) and secure (with no warranty of privacy and even legal protection against client suits) ... er, software.

So, if you're not called [mumble], you set up a partnership with cooperative parties : until you're a strongly horizontal company, you need partners. I heard someone even tried to set up a 3D programming interface without involving 3D hardware vendors and game developers. Curiously, they didn't get it right until they replicated the approach from an open standard developer.

You're using open standards in your every day life : Philips and Sony set up the CD Audio standard back in '79, your CD-ROM rely on the ISO 9660 standard to be interoperable between all computers (until you use Apple or Microsoft proprietary extensions!), your Internet connection works on a wealth of open protocols to transport and route the data to and from your computer, and so on. Look around you, pick an object and ask yourself : could I replace this device with a compatible one from another vendor ? You'll mostly answer yes. And you'll feel real bad if you imagine that any device around you could not be replaced easily. Hint : what if your local electricity provider had its own plug format ? OK, let's stop the torture.

Conclusion : what should we do ?

First : never rely on someone who tells you what to do :). Next, if you feel that this article makes sense and you believe you're really a part of the puzzle, you can try to improve your behaviour :

About this site

As stated below, this site promote HTML standard compliance. It even manages to respect not-quite-compatible standards, namely HTML 3.2 and 4.01. It also manages to render correctly on the most used browsers. Yes, every page of this site. Any resolution. Any font size. Any compliant browser.

Why two standards ?

When I wrote this web site template code (januar 2001), there was roughly one browser who was correctly supporting then top notch HTML 4.01 and CSS code. However, many people will access this site for its (rather technical) content, not necessarily its nice colors. Even with a conformant browser like links or Lynx, you prefer a simple and bell-and-whistles-free document formating. You'll be automatically entering the simplified version of this site if you are running one of those softwares :


Contact : Vincent Caron <vincent _at_ zerodeux.net> Last modified on Sunday 26 Jun 2005 15:10