Welcome to MSDN Blogs Sign in | Join | Help

CSS not moving? Blame Microsoft!

CSS is criticized for not moving fast enough, or not moving in directions that web developers would like to see.

I am one of the new working group members, and I really want it to be relevant. I actually believe it is, and it is about as relevant as it can be…

Standard is as good as its implementations

What surprises me in the attacks on CSS are two things:

  1. People talk about CSS standards being slow to appear, but not about browsers not having the desired features
  2. Microsoft is not blamed often enough

What is CSS after all? It is a language and a set of properties. It is easy to add a property. It is about as easy to describe a property for italics ("font-style:italic") as it is for float ("float:left") but there is a world of difference in what it takes to implement them.

The reason CSS1 developed so fast in the beginning is that it was a new way to express the features that already existed. CSS2 was a step ahead, adding features that were highly desirable, existed in other applications, but not all were in browsers of that time. It took longer to become a reality, because the features had to be implemented. Same applies to CSS3 – everything there involves new development work.

Now, is it reasonable that CSS2 was introduced in 1998, but it took until 2007 for CSS2.1 to become a Candidate Recommendation and to the date it has zero fully compliant implementations?

No, it is not reasonable. How did it happen? Well, the last decade had pretty dark times for browser world and we are still recovering. Right about the time CSS2 showed up, Netscape has left the scene. It took a few years for Firefox to pick up the speed. Then IE has checked out for a few years (I am not going to explain or defend the latter, but it did happen)…

It turns out on the web, standards only matter if they are implemented completely and everywhere. As much as Firefox supporters may wish IE would disappear, or as much some people may think Microsoft would desire same for Firefox, neither would be good and neither is going to happen. For any new feature for the web we have to all work together implementing it. If one wheel is turning slower the others have to wait. Here is where I expect Microsoft (as the last one to be checked out) to be blamed for lack of new exciting developments in CSS for years. We've changed but it is part of why we are where we are.

The CSS working group could have designed CSS3, CSS4 or CSS5 in these years, but it is not implementing any of the new features. It can recommend a feature, then wait for implementers to pick it up. It can describe something that is already implemented and document it so that others can implement it the same way. Both approaches work, but neither is a guarantee the feature is adopted. Remember, it only matters if everybody has it.

Now, dark times are over (at least the dark times I am talking about). What is going to happen to CSS? Will anything coming from CSS be relevant? Will it happen soon enough? Is it time to forget it and look elsewhere?

CSS working group is relevant

I actually think CSS working group is productive. It is about efficient as it can be. Overall progress is still limited by implementations, a lot of it is limited by IE (blame Microsoft again). I can't say anything at this point about what it will unblock first (sorry), but trust me, there is an infinitely huge difference between what we do now and doing absolutely nothing as of 5 years ago.

That is not to say CSS WG is perfect. There is criticism, from outside and from inside. Here is my take on some of its issues:

CSS WG works in secret? (it doesn't)

Here the criticism is heard, and the group has changed. In the half a year since I've joined the working group it has become more open. All technical discussions are held in a public mailing list, anything that happens in working group is reported there promptly. I'll admit I was one of the people who were reluctant to move to a more open forum. I think it was more of inertia than principle. Current public forum works pretty well.

CSS3 has too much to make sense? (yes and no)

CSS3 is in fact easy to get lost in. The latest approach from the WG is to create profiles that group together relevant specs (see "CSS snapshot 2007", a.k.a. "Beijing profile". The definition of "relevant" is not precise yet (as can be seen from Fantasai's note here). Is it most stable specs? Most popular? Most implemented? Should there be profiles for all of the above? I don't think we've sorted that out so far.

One of the issues David Baron points at is the appearance of WG endorsement for specs on TR page. I agree there should be an obvious difference between a working draft and a recommendation. As much as I like to see my own grid positioning module there I do want readers to have a way to find its importance relative to other documents. I am not sure what is the best way to achieve that. Not publishing working drafts is against the desire of being public. Creating more folders for different levels of consensus doesn't make sense. Prioritizing drafts by who plans to implement them is problematic for a number of reasons (not all companies would make such promises, and if they do they can't be trusted until implementation is complete). We can use some new ideas here…

CSS3 doesn't have enough? (it never will)

Certainly, CSS3 doesn't include every feature imaginable, and there are many demands for one feature or another. Not all features will or should be in CSS though. The art of good design is to achieve the most with doing the least.

For example inheritance is a great feature but it is unlikely to ever make it to CSS because it already use a different way of combining styles. Adding inheritance would greatly multiply complexity without making possible something that is not possible now. (BTW I like inheritance, it is the main reason WPF has its own style system which I helped design; inheritance has advantages over cascading in terms of toolability, but having both inheritance and cascading is just very scary).

But at the same time CSS3 space can be seen as a collection of ideas, as subset of which is gradually transformed into implementable specifications. It can always take more ideas, and it does grow. The real issue here is on how fast it is can evolve, and I've talked about that already…

WG is working on wrong issues? (I disagree)

Perhaps the only thing I disagree with in David Baron's post is that we are not focusing on right concepts. I do have interest in printing and features that bring the web and paper closer, but I don't think it is has to happen at the cost of user interface. As long as somebody is motivated enough to promote UI features in CSS it will get equal attention (it certainly will have mine).

Did I say implementations matter?

That's what makes a difference in where standards go. Unfortunately not all browsers will always say in advance what they are doing. Pretty much only Mozilla can do that. But as far as I can tell from news, blogs, betas and generally reading between the lines, exciting stuff is being developed. That means good news for future of CSS…

Published Tuesday, September 25, 2007 1:42 PM by alexmog

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Tuesday, September 25, 2007 4:53 PM by Techy News Blog » CSS not moving? Blame Microsoft!

# Techy News Blog » CSS not moving? Blame Microsoft!

Wednesday, November 14, 2007 10:46 AM by Fyrd

# re: CSS not moving? Blame Microsoft!

Excellent post! Sadly, I suspect the reason people don't blame Microsoft enough is because by now they're used to MS lagging behind with browser developments anyway, and it would be like complaining about the weather.

Your candidness is both appeciated and encouraging for future CSS support in IE. Keep up the good work!

One thing I'm curious about, why exactly aren't you (or other IE devs)  allowed to mention the upcoming features in IE8? Is it just some silly policy or are you specically worried that doing so would lead to complaints about what has NOT been added?

If the latter, a solution could be a weekly post on the IE blog mentioning a single new feature that would make web developers happy. That way we would get a small boost of encouragement and still know more might be in store for us later.

Tuesday, January 15, 2008 9:21 PM by alexmog

# re: CSS not moving? Blame Microsoft!

Thanks for your comments!

There are many reasons IE people don't just go around and tell everything they know about their work. Just think about the effect of any change, or bug, or bug fix in IE... As much as we want people to know, we have to plan carefully what we say, when and where. Otherwise we'll spend all our time dealing with what we've said, instead of doing our job...

IE blog is the right place to watch, and I promise, there will be plenty of good reading there;)

Saturday, January 19, 2008 2:53 PM by Mackenzie

# Blame Microsoft?

A coworker and I were talking about IE & CSS (or perhaps I should say cursing it) one day, and we agreed upon a projected timeline of when Microsoft would get it right.  In IE8, CSS2 will finally be fully implemented.  In IE9, the CSS2 implementation will be fixed to actually work properly.  In IE10, some CSS3 will be supported, and by the time IE11 is released we will have gotten enough people to use good web browsers that it won't matter anymore.

Honestly, it's not just Firefox fans that want IE to die.  It's just about every web designer on the planet.  I cannot wait for IE's userbase (I don't want to say marketshare, since it's not sold, or installed-base since it's forced upon Windows users) to drop below 10% overall.  Then I would be more OK with completely ignoring them.  

The web shouldn't have to wait for Microsoft to get its act together.  I'm not waiting around for Microsoft to write a decent, secure, fast (fast is a feature, Microsoft!) OS.  I've moved on to a better one, Linux.  The rest of the web needs to move on to something that actually works with standards and displays sites properly.

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker