Posts from Monday, March 21st, 2005

While I was preparing for SXSW, Chris Wilson—and there’s a name that takes me back a few years—posted an entry on IEblog about standards. I’m not going to excerpt any of it here because most of you have already read it. For the rest of you, go read it. As long as you don’t continue into the comments, it won’t take very long.

First off, let me say that I’ve known Chris for many years, and we get along great together. I have a lot of respect for him, and I firmly believe the feeling is mutual. He did incredible work in the very early years of CSS, and while some of that work may seem lacking when viewed in light of later implementations, it was that all-important first step on the journey of a thousand miles. If I ever make it to Seattle with a couple of days to spare, he’s right near the top of a pretty short list of people I’d do my utmost to find time to see while I was there. (I just added another person to that list a couple of days ago, actually, but that’s a story for another time.)

With a paragraph like that, you probably think I’m going to tear into him now. Nope.

I’m posting my thoughts on this for three reasons.

Chris was nice enough to name-check meyerweb as a site that’s helped “[harvest] the collective knowledge of the web development community” with regard to standards. If nominations were being taken, I’d point to the css-discuss wiki before I would meyerweb, but nevertheless I’d like to think I’ve earned a place on that list—and I’m glad that Chris thinks so too.

The 800-pound gorilla is stirring. It’s hard not to share a few observations.

So as Chris points out, the IE team faces an enormous challenge. This is compounded by the enormous loss of IE developers over the past few years. Think about it. Would you work on a project that was the legal and administrative equivalent of a toxic cloud? Internet Explorer is the focal point of dozens of lawsuits, antitrust litigation, and more. It’s a project straitjacketed by its own success (however rightly or wrongly that success was achieved). I don’t have any direct knowledge of this, but the IE team has probably become the Marie Celeste of Microsoft, a doomed wanderer of the bureaucratic seas, staffed by a few trapped souls and the subject of whispered tales of horror among the engineers.

( “And there… dangling from the door handle… was a scripting hook!” )

Despite this recent legacy of pariahship, it would seem that resources are gathering behind Explorer, and not just on the security front. Chris says, and I have no reason to doubt him, that plans are afoot to add standards support to Explorer. My concern is over the fate of those plans, because the best-laid plans… you know. No matter how much the engineering team might want something, if their irresistible geek force encounters an immovable administrative object, well, my money’s on the object. The only hope is to interpret the object as damage and route around it, which is usually a lot harder to accomplish in a bureaucracy than it is in a network topology.

Chris’ post makes it very clear that backwards compatibility will not be sacrificed, at least in quirks mode. I wrote some thoughts along those lines in “Unbreaking the Web“, so I won’t repeat them here. In summary: improving standards support will not break the Web. It won’t even break the vast majority of sites, and any sites that do break will get sorted out in short order. With a public beta, those problems could be identified and solved well before the browser went final. Backwards compatibility is no longer a reasonable excuse for avoiding standards support.

And then there are the resource limitations. It’s hard to think of anything Microsoft does as lacking in resources, but just as there are hungry people in America, there are starving programs within Microsoft. I believe that, for some time now, the IE project has been living on a sub-subsistence diet. It will probably be hard to attract people to help feed it. The staffing requirements for regression testing alone would be daunting. I don’t envy the IE managers their task—all the more so because no matter what they do, it won’t be enough for some people. They’re going to get slammed. Their only real choice is in trying to pick the things for which they’ll be slammed less. If improving standards support in IE isn’t a corporate (or divisional) priority, they’re in for a world of hurt. Which is why I sincerely hope they’re a priority.

But neither is that a complete excuse. Working for a firm like Microsoft means taking on massive challenges, doing more than you thought possible with less than you should have available, pulling long hours and pounding your head against a wall in order to do the apparently impossible. That’s part of the job description, and being there is pretty much a matter of choice. I say this isn’t a complete excuse because, obviously, any given team can only accomplish so much. It just isn’t a “get out of jail free” card. If you’re going to tell us that standards are important and that support will be improved, it has to be a notable degree. There has to be evidence that a lot of work went into adding a lot of useful things, and fixing a lot of old problems. Again, this is because the promise was freely made, not because it’s what the Web Gods demand.

We all, and by that I mean “us Web designers and developers”, need to stay involved in this conversation. It’s easy to post a few thoughts, assume that they’ve been ignored, and let things drift. It’s also easy to assume that the entire IE team read your ideas and immediately agreed to every single last one of them because they’re so blindingly obviously critical, and then get completely enraged when they don’t show up in the final product. I for one plan to keep an eye on this situation, and to think about ways I could help the IE team.

Because if I truly care about standards—and I do—then I owe the IE team as much as I’ve given to the teams working on Firefox, Safari, Opera, and all the rest. We all do. Whatever we would have done for the least of these our browsers in the name of advancing standards support, we owe the Explorer team no less.

Chris did ask for specific requests, so here are my top ten CSS requests in priority order:

Support all selectors—including CSS3 selectors, which I believe are stable enough to be implemented

Clean up positioning and add fixed positioning

Clean up floating/clearing

min-/max-width/height (got that?)

Fix problems with inline layout, especially the handling of top and bottom padding and margins on inline elements

Arbitrary-element hover

Focus styling for form elements

Better printing support, including better page-break control and page orientation

Support CSS table styling, including the table-centered display values

Support generated content

…plus the unranked but still very important “fix bugs! fix bugs! fix bugs!”.

Did I miss anything important, or under- or over-value anything, on that CSS list? Let us know.