A couple of weeks back, I was hanging out in a New York hotel lobby with Tantek, who was either working on his AEA slides or enhancing the overall usefulness of the web in his spare time; I’m not sure which. On the far wall, a plasma display ran CNN continually, softly, offering up such choice crawl text as “N. Korea Missile Test Fallout”. One of the stories running was about alleged plagiarism on the part of Ann Coulter.
We got into a brief discussion over whether such people should be rebutted or ignored. Tantek took the former position, whereas I took the latter. My stance is probably a holdover from my long years of Usenet and mailing-list participation, where one of my most iron-clad rules is “Don’t feed the trolls”. Better they starve for lack of attention, that’s how I see it. Perhaps this is a defensible strategy in the “real world”, and perhaps not, but I will freely admit that it’s one of my default behaviors.
Thus, my first instinct was to completely ignore John Dvorak’s screed about CSS. Mr. Dvorak is an admitted troll, and so my default tendency is to simply ignore him. But “troll” is, in my world, an alternate spelling for “fool”, and as Winston Churchill reminded us, one of the great lessons of life is to know that even fools are sometimes right.
So is Mr. Dvorak right? Not in what he has to say, no, but there is still something there worth hearing.
It turns out that none of his complaints about CSS are really valid, even when you consider only the ones that have a factual basis. Sure, he can complain about the cascade being confusing, but that’s like criticizing Windows because of all those stupid windows that open up everywhere and get in the way of the desktop wallpaper. It’s an inherent feature of the system: either accept it and move on, or reject it and walk away, but don’t waste your time complaining about it. The best part, of course, is where he blames CSS for inconsistent browser implementations, which is rather like criticizing Microsoft because Windows doesn’t run properly on a computer whose processor isn’t compatible with Intel’s architecture.
But step back and let your eyesight blur a bit, and the shape of a worthwhile point begins to emerge. The closest Mr. Dvorak gets to expressing it, possibly by accident, is this sentence:
“Can someone explain to me exactly what kind of ‘standard’ CSS is, anyway?”
I could do so, of course, as could most of you, but that’s not the issue. What we’re seeing here is the initial reaction of a CSS newbie, not too different from many others when they first begin to style, and all brought closer to home by the high-profile nature of the newbie. (Whatever you may think of Mr. Dvorak, he has prominence in the industry.) CSS is not as hard as some make it out to be, but it isn’t easy as cake, either.
A good part of that problem is the natural expectation that all browsers should act the same. It’s a strange thing to expect if you’ve been in the field long enough, since browsers have never really been consistent on anything, from HTML error handling to PNG support. But someone who’s coming in fresh is almost certainly going to expect that if they do things a certain way, the result just works. Why would one expect anything less?
That’s why the Web Standards Project was founded, of course; and its existence, history, and current efforts put paid to Mr. Dvorak’s assertion that nothing is being done. As I’ve said, none of his individual points are on target. What his outburst does is remind us of the problem to which so many have grown numb, and which we still—for all the progress that has been made—face on a daily basis. Consequently, it reminds us to keep advocating for greater consistency between browsers, to praise the efforts of browser makers in that direction, and to help them correct their course when they move in the wrong direction—and to do so constructively, not destructively. For while we may gain insights from the rantings of trolls, we should never be so foolish as to adopt their tactics.