Archive for the ‘Standards’ Category

Evolution of Web Standards

October 11th, 2010

Web standards, in a nutshell, are the reason that your computer and my computer display content from the World Wide Web in the same way.  When the concept of web pages was first unleashed, we had something of a Tower of Babel situation on our hands.  All of the key pioneers of web technology were striding boldly forward, creating new solutions for displaying web content without regard for what their peers were doing.  Developers were writing code that produced amazing results when viewed in Netscape Navigator, but was utter gibberish in Internet Explorer.

Eventually, developers got tired of having to develop two or three versions of every page they wrote, and turned their efforts to writing code in such a way that it would work in any browser.  This made for some ugly and convoluted code.  Then Sir Tim Berners-Lee founded the World Wide Web Consortium (W3C) in October 1994, and they set to work on writing a standard for HTML.  Over time, the W3C was able to exert enough influence over people in the business of building web browsers, and they started to fall in step with the HTML standard.  This was a great thing for guys like me in the website business, because it meant each page only had to be made once, using one set of rules.

Internet Explorer’s user market share recently dropped below 50% for the first time in over a decade — probably because more savvy users have recognized that Microsoft simply isn’t as interested in innovation on the Web as its competitors.  Since the W3C sets the standards, they also have a great deal of control over our rate of innovation.  That comes with a responsibility  to drag browser producers, kicking and screaming if necessary, into compliance with modern technologies (or fall by the wayside).

The problem now is that pendulums swing both ways.

Most of us in the web development business are bursting with enthusiasm for the new HTML5 standard.  It’s already in use by most of the major browsers, but a lot of developers are loathe to use it because it’s not fully supported.  (I’m not using it here on samhooker.net because it would mean re-designing my site, and I’m content with the way it is, for now.)

Another (more woeful) reason that HTML5 is not being more widely used at present is the W3C’s assertion that it needs a lot more work before it’s ready.  So much work, in fact, that it’s not going to be ready until 2022, according to their timeline.

I’d like to share a screenshot I took from CanIUse.com, a really handy tool that tells us which features are supported by which browsers.  This screenshot shows a summary of browser compatibility with HTML5 and CSS3.

You can see that the current versions of FireFox, Safari, Chrome and Opera are between 73% and 90% compatible with HTML5 and CSS3.  Internet Explorer, on the other hand, is at a pathetic 16%.  Even with the release of IE9 next year, current projections do not show Internet Explorer offering the same levels of feature support that other major browser offer now.

As the browser with the highest market share, I am sure that Microsoft’s slow progress is a major contributing factor to the W3C’s 2022 estimate.  But given the strides that web technology has made in the 17 years since the birth of the web, doesn’t 10 years until the next big step seem overly cautious?  I feel that a more aggressive approach to developing the official HTML5 standard is crucial to our rate of innovation.  Whether the W3C’s inertia is due to waiting for Microsoft to catch up, or to the organization itself becoming top-heavy with obsessive bureaucracy, it’s time to shake things up.

Internet Explorer’s market share

Inconsistent CSS: DIV widths in IE and FireFox

May 9th, 2010

If you’ve ever tested your pages in more than one browser (and you always should), you’ve probably run into a situation where Internet Explorer and Firefox rendered the width of one of your <div>s differently. Fix it in one, and the other is wrong.

What’s going on?

This is typically referred to as the box model problem.  IE and FF interpret the padding element differently.  Chances are you’ve pulled up this article in a teeth-grinding search to correct the problem, so I’ll just make with the solution:

Add another <div> for your padding.

<div class=”TheStuffYouAlreadyHave”>
  <div class=”ThePaddingYouSeparated”>
    Content
  </div>
</div>

Support web standards! Go to WebStandards.org, educate yourself, and prevent articles like this from being necessary!

Looking forward to @font-face

April 26th, 2010

Every so often, when my brain has a moment to sit idly, I like to check in with the W3C and see what’s happening with the new standards.  Once I stopped drooling over <video> tags, I started looking into the CSS3 proposal for the @font-face rule, and started getting excited.

If you’re not sure why this is cool, lemme ‘splain.  When your web browser opens a page, it can only use the fonts that are installed on your computer to display the text it contains.  When designing a page, web designers are largely limited to web-safe fonts — fonts that are installed on (more or less) every computer.

We can specify alternates.  We can tell the browser to use Helvetica, but Verdana’s okay if Helvetica’s not installed.  No Verdana?  Use Arial, or any sans-serif font.  By the time it gets to the end of the list, we’re pretty much willing to take anything, just so long as you can read it.

In cases where we really, really want you to see the page just how we envisioned it, we can link the font on the main page so you can download and install it… but will you?  Sounds like a lot of work…

If we really insist, we can make a graphic of whatever text we simply must have displayed in Haettenschweiler, and have the page display that; but that’s a lot of work for us, and it makes pages a pain to update.

With @font-face, our worries are over.  We install the font on the server hosting the page, and your browser loads the text looking exactly how it was designed.  It’s still a working draft — they have to set it so that fonts will only be available for the page for which they’re intended, lest everyone be able to snatch pay-to-use fonts from the web with abandon… but I’m excited to start playing with it.

Want to have more reasons to dislike Internet Explorer?  Trip on over to When Can I Use to see how little interest Microsoft apparently has in supporting new features.  Why, exactly, is IE6 still alive?