Kilian Valkhof

Building tools that make developers awesome.

The great divide

Web, 30 June 2008, 2 minute read

A long time ago, there raged a war. At the time I was too young to notice much of it, but there were a great number of casualties. While the two major forced kept making new rules, the innocent inhabitants were forced to pick a side and fight along.

I am, obviously, talking about the Browser Wars of lore, between Internet Explorer and Netscape. At the time, both browsers were rapidly innovating and adding new features, — however, they both implemented different stuff, never the same thing in the same way. This caused web developers to develop for one of the two, two different sites for two browsers, or one sub-standard website that worked in both.

Luckily, This is all over now

Now, with increasing standards based browsers, this should be a thing of the past, right? wrong!

While we’re all piling over the new stuff the Big Four, Safari, Opera and Firefox (and, IE8, I ‘spose. At least, some people. I think…) come up with, both in own ideas and in standards support, there is an increasingly divergent pattern visible.

It seems that with every new nightly build, Safari (Webkit) adds a mindblowing new feature that’s still lacking documentation but oh my, it’s shiny and f-ing cool.

Opera, on the other hand, is hard on it’s way to be the first HTML5, CSS3 conforming browser. Oh, and for good measure, they added in pretty much every other standards: (X)HTML, XML, XSLT, CSS 2.1, SVG 1.1 and JavaScript.

Firefox is, well, playing catch-up with the above two, adding a bit of the idea’s from safari, opera or, if you’re lucky, both. To be honest, it’s also making great headway on SVG.

And IE isn’t even trying, adding their own non-conforming microformats and just getting round to CSS2.1. well, whoop-dee-doo! Now go to bed and stay there, this is grown-up time.

What do you want to be?

Opera is heading towards ultra-super-duper standards support. Safari wants to take over the desktop. Firefox wants to integrate the desktop and the web. Internet explorer… just wants to play with the big kids.

But because of these goals (as they are perceived by me, anyway) all the browsers have different priorities in what features they support. This makes business sense, but it’s incredibly frustrating for developers. Web standards are of course supposed to be the baseline here, but in reality they are not, and standards-based feature support is just as diverse as home-grown innovations.

What can we do

The way I see it, for developers, there are a couple of options:

Obviously the latter isn’t going to happen, but the first two look suspiciously like the choice the martyrs in the Browser Wars had to make. Only instead of two browsers, we now have four to support. (Being extremely positive and forgetting about IE6 and IE7)

This is not a choice we should make

I’m all right with different browsers having different goals, and them needing different features for it. However, we thought up standards for a reason. The reason being interoperability.

What I think needs to happen, is an even larger degree of openness concerning features. Not business goals, just features. With 50% of the Big Four being open source, this shouldn’t be hard. Both Webkit and Firefox already have a lot of documentation, and Opera, despite being closed-source, offers a tremendous amount of documentation as well. (Notice who’s missing…)

All I’m asking for…

…Is a single document, outlining the baseline support in the browsers for the coming years (increasing the baseline each year), agreed upon by the Big Four. That’s is all that’s needed to help mature the web in a developer and user-friendly way and will still allow each individual browser to focus on it’s business goals.

Polypane browser for responsive web development and design Hi, I'm Kilian. I make Polypane, the browser for responsive web development and design. If you're reading this site, that's probably interesting to you. Try it out!

  1. Make you wonder why, as web designers, we bother some times. We work our typing fingers to the bone with the best of intentions to create something standards compliant and beautiful only to find that isn’t as fully cross browser as you’d been lead to believe.

    The little hand says it’s time to rebel

  2. I don’t agree. When IE8 launches we will, for the first time, have four major browsers (or browser engines) with a solid baseline implementation of CSS2.1. On top of that, we’ll have a load of experimental features implemented in three of those four which will help immensely the development of CSS3 & HTML5 – and, they should all degrade elegantly.

    One thing that’s much better now than in the original ‘browser war’ is that many of these new features – animations, variables, etc – are documented as they are released. I was critical of Webkit’s decision to implement so many new features (and really, they are to act as a replacement for Flash on the iPhone more than anything else, IMHO), but at least they’ve written released technical specs for everything they’ve implemented.

  3. Oh no! that sounds bad, but we all know that. The true is that simple web developers can make the difference, but some just don’t want to do it. It’s easy, just ask your self Why in the world do I want a reflection in my pictures? When you realize that you don’t want or at least you don’t need that reflection, you’ll be able to not to use it. Then if you don’t use it, why would they want to continue working on that? It’s just easy, the best way to force them to develop standard browsers is keeping your websites standard and showing that you don’t want to use any cool effect unless it it standard. It’s hard to believe, but it’s true. Oh, by the way,if we have an XHTML why do we want an HTML 5?

  4. The differences between the browsers are slowly closing. The best solution would be for each of the browsers to adopt a single rendering engine, and apply extensions to it so they will all render exactly the same under the CSS3 spec. If browsers such as Safari want to expand and test new waters, they can implement their drop shadows, variables etc. But are optional extras.

    These extra properties won’t make much of a difference. It’s selectors that need to be consistent.

    However, they’re all too stubborn to even consider that option. They’re more concerned with business rather than how far we can push the boundaries of web development for the future.

  5. Once IE8 takes hold, browsers compliant with the current standards will comprise nearly 100% of the market. The specs for CSS3, HTML5, and XHTML2 aren’t finished yet, and while browser manufacturers can start to experiment with implementing these new standards, it’s unreasonable to expect them to invest a lot of time and effort into implementing standards that aren’t finished yet and might change.

    As long as a browser provides me with standards support, I don’t care if they add extra features on top of that – especially if they are enhancements that degrade gracefully. If I don’t like them, I won’t use them, and if I like reflections or text shadows, then they’ll be enhancements for the browsers that support them and the people using other browsers won’t miss a thing.

    So many of the standards we have now began as proprietary features in one browser or another – the browsers competing against one another has historically been the biggest driver of innovation in web technology. If browser manufacturers weren’t innovating and adding new features, we’d have to depend on the standards bodies to innovate – and we see how slowly that happens. The CSS 2.1 spec is ten years old.

    So I say, as long as you’re implementing standards, go ahead and innovate. If you produce something useful that enhances the web, the other browsers will pick it up, the standards bodies will pick it up and it will eventually become a standard.