CSS2.2 | May 6, 2007

The early pace of CSS development was pretty impressive. First proposed by Hakon Lie in Oct 1994, CSS1 became one of the first W3C recommendations in Dec 1996. Nipping at its heals, CSS2 became an official recommendation in May 1998, just 18 months later. By June 1999 the first 3 draft modules of CSS3 had been published, and in their ground breaking book published that same year, Bert Bos and Hakon Lie postulated that CSS3 would arrive sometime in late 1999.

Over 7 years later, and we’re still waiting. This begs the question, what went wrong?

For a recent conference, I decided to do a talk on CSS3. While researching all the cool CSS3 features modern browsers support, I became intrigued why things were taking so long. I started reading up on the W3C, how it was structured, how you became a member and exactly who was on the CSS working group. I started speaking to existing members and invited experts, reading blog posts from critics and people who had resigned, and looking at every bit of public information I could find.

Organisations pay thousands of dollars to join the W3C, and in return get to set the agenda on forthcoming technologies. While most of the companies involved are eager to shape the future of the internet in a positive direction, they all have their own agendas. Some obviously want to build better browsers, while others are worried about backwards compatibility and engineering problems. Some organisations have a vested interest in technologies such as SVG, while others are more concerned with opening the web up to different platforms like mobile phones and TV. By paying to be a member of the W3C, companies are able to get some of the brightest minds in the industry working on the issues important to their business, and who can blame them?

CSS3 has been in development in it’s current form since early 2000. There are currently 5 modules in “Candidate Release” status, and a further 6 are in “Last Call” status. This sounds good, until you realise that the selectors module was in “Candidate Release” as far back as 2001, and got rolled back to “Last Call” in 2005. Some of the current modules are set to be rolled back, while other modules like the “Box Model” module haven’t been touched since 2002. Of the 40 or so modules, only the TV profile and media queries modules are nearing completion. Lucky us.

There are various reasons why this is taking so long. Many of the issues are technical and can’t be avoided; problems when testing, issues with backwards compatibility and bugs with browser implementation. However there also seems to be a lot of politics involved. Discussions are getting bogged down in the same old arguments that occur time and again, priorities have been given to the wrong areas, and companies have been pursuing their own personal agendas.

Despite being broken down into separate modules, the scope of CSS3 is vast. As well as trying to look at the needs of the current web, the W3C are trying to anticipate the future. One of the big issues is internationalisation, which brings up problems most of us haven’t even heard of before. Tibetan style text justification anybody? Also with the project taking so long, the W3C are working in a constantly shifting environment. What may have been true about the web back in 2000, may not be true today, next year or in the next decade.

My fear is that the W3C has bitten off more than it can chew, and this is having a negative effect on the web. We currently live in a world of live texture mapping and rag doll physics. And yet as web developers, we don’t even have the ability to create rounded corner boxes programmatically. The W3C are so concerned with shaping the future, I’m worried that they may have forgotten the present. Forgotten the needs of the average web designer and developer.

I’ve been thinking about this for a while, and wonder if we need an interim step. If CSS3 is as big and complicated as the development timeline suggests, maybe we need something simpler? Something that gives us designers and developers the tools we need today, and not the tools we need in five or ten years. Maybe we should take all of the immediately useful parts of CSS3 such as multiple background images, border radius and multi-column layout. Maybe we should take all the CSS3 properties, value and selectors currently supported by the likes Safari, Opera and Firefox. Maybe we should take all of this information and build a simpler, interim specification we can start using now. Maybe, just maybe, it’s time for CSS2.2?

Over to you.

Posted at May 6, 2007 7:30 PM

Comments

Jeff Croft said on May 6, 2007 7:48 PM

Great post. All of this slowness is one of the reasons I said at Futre of Web Design that I’m a bit scared for the future of Web Standards, especially as it relates to Flash. Whereas the pace of innovation for Web Standards is snowler than your typical snail, Flash is moving forward very quickly, which major new features in every release and releases coming quite regularly. Not only are there more tools for developers to take advantage of coming all the time, but the new tools are actually usable in a reasonable timeframe because of the amazingly quick adoption rate of each new Flash player.

Since I got into Web Standards back in 2003 or so, there has been almost zero innovation in CSS for designers. There has been some improved browser support, such that I can do more of the things I learned about in 2003 more reliably across browsers — but there hasn’t been anything new at all.

And while I’m a designer and am primarly interested in CSS vs. Flash’s design tools, it’s bear noting that JavaScript isn’t exactly getting a lot of new tricks (again, only better broser support) — all the while ActionScript becomes more and more like JavaScript every day, constantly improving. How long before ActionScript bests JavaScript?

I, as a designer, am growingly increasingly frustrated with the fact that my CSS wishlist basically contains the exact same items it contained three years ago, and I’m getting more and more interested in looking at Flash as an alternative.

The pace of Web Standards had better pick up, one way or another, or some of us early adopters of it are going to start jumping off the train. I believe in everything Web Standards stands for — but I also beleive in tools that make me more efficient and more effective in real world projects. If I start to feel like I can’t do the things I really want to do, as a designer, because I’m hindered by CSS, then I won’t hesitate to switch over to the Flash train.

It’s all about the best tool for the job, and I am sincerely concerned that CSS doesn’t move fast enough to raiming the best tool for most of the jobs I work on.

Great post, Andy.

Joost de Valk said on May 6, 2007 7:48 PM

I agree, creating css2.2 and putting some stuff in there like border-radius would make the web a nicer place quite easiy…

rob hidalgo said on May 6, 2007 7:50 PM

Sure, although I’d hate to have these wonderful new and exciting features not working on 80% of the market. Why finish the specs and publish them if IE will continue being crap, albeit less crap after 7, and the dominant browser? I really don’t see why they insist on calling CSS a “standard”, it’s more like the laws in Mexico, merely suggestions…

Andy Budd said on May 6, 2007 7:58 PM

Microsoft were one of the very first companies to implement CSS, before it even became an official recommendation. Sadly the spec changed inbetween, causing them to get burned. Since then, Microsoft have always seemed to have a wait and see policy. Holding off of implementation until the specification and been approved. This would be one of the major benefits of CSS2.2. Giving browser manufactures a solid, unchanging specification to work with, based on existing browser implementations.

Andy Budd said on May 6, 2007 8:04 PM

You’re absolutely right Jeff. Macromedia, and later Adobe, have been doing some amazing things with Flash, Flex, and now Apollo. HTML is great for document mark-up, but lacks many of the UI elements needed in modern web applications. While the W3C and WHAT WG have been sat around debating the issue, Flash has gone an implemented these features. If we’re not careful, the web standards movement is going to be left out in the cold by the very people who are responsible for it’s success – the W3C. Maybe we should all start brushing up on our XAML and MXML skills.

Andy Hume said on May 6, 2007 8:05 PM

The obvious parallel is the relaunch of the W3C’s HTML activity. With XHTML 2.0 looking particularly irrelevant right now, something needed to happen to move the web froward today - HTML 5 was it.

Yeah, I agree. CSS 2.2 would be nice.

Jeff Croft said on May 6, 2007 8:07 PM

The idea of a CSS 2.2 is fine, and I have no objections to it. But, I’m really more interested in the real crux of the issue. The core problem is this:

The process by which the W3 expects new versions of CSS to make it from draft to spec to implemented in browsers is obviously broken. It takes WAY to long and sometimes simply never happens (witness CSS3).

CSS 2.2 is a nice interim fix, but it doesn’t solve the issue long term. If we’re going to stick with CSS as our primary design tool, we still need the W3 to come up with some new process that ensures new features actually make it all the way through to implementation and does so in a timeframe that competes reasonably with the alternatives (notably Flash, potentially Sliverlight).

Andy Hume said on May 6, 2007 8:14 PM

I can’t see how the W3C with its “culture of global participation” can ever compete with the commerical interests of a company like Adobe.

It’s relying not only on members working to some common goal (which is not always the case), and then numerous browser vendors to quickly and accurately implement their recommendations despite having their own industry strategies.

Adobe don’t have to put up with any of that. They can simply innovate, and then implement.

Jeff Croft said on May 6, 2007 8:35 PM

@Andy Hume: Which is precisely why I’m suggesting they may need a new strategy — their current culture will never be able to compete. :)

Luke said on May 6, 2007 8:41 PM

Great post.

I hope the blogosphere will shake things up and may be awaken some peoples there.

Bryan Veloso said on May 6, 2007 9:05 PM

I agree that something has to be done. They really should take a page from the whole agile development movement. Get smaller incremental changes out, faster, rather than gigantic changes all at once. Whether that’s CSS2.2 or what, the powers that be really have to wake up and get rid of their future-focused-tunnel-vision as you said.

But as you also mentioned, there’s an air of bureaucracy. Each of these companies that sign on to the working group are part of it. And it’s really sad to have to say that the people with the dollars are making the decisions, but I think that’s the part of the case. We can’t all pay 6,500USD to join the W3C, but we should have our voices heard. I guess that ultimately falls on whether or not the W3C wants to hear us or not.

In any case, we’re all hitting the breaking point with what can be done with CSS2 and 2.1, not to say that it’s a competition, but I’m sure I’m not the only one who wants new challenges to appear. We can’t keep trying different things with the same framework forever.

Great post by the way. :)

Mike D. said on May 6, 2007 9:16 PM

This is why the best designers and developers are rulebreakers and not rulemakers. Viva la resistance!

Tom Hume said on May 6, 2007 9:18 PM

Heh. The web got old, didn’t it?

2 things that occur to me:

1. The approach you’re describing (let’s just get on with CSS 2.2) is admirable: it’s pretty similar to how the web iterated through many standards in its early days, between Mosaic and Netscape 3. Browser developers had a lot of ideas (some good, some bad), implemented them, and got them out there. At the same time as this pushed the whole medium forward, it led to the fragmentation we saw in browser standards. W3C committees and the like are the attempt to avoid this in future.

2. We’ve been very tangentially involved with some W3C activity around mobile web standards, and yep: what you’re describing happens, even in what is for the W3C a fairly niche interest group (mobile). Lots of competing interests, commercial vendors trying to push forward their products, and able steering by folks who have to draw the whole thing together. It’s easy to underestimate how difficult this task is: for full web standards I’d imagine it’s orders of magnitude worse than anything I’ve seen.

Gareth Rushgrove said on May 6, 2007 9:37 PM

Had lots of good chats around this at Highland Fling so good to see it out in the wild. Lets see…

Remember the W3C publishes recommendations, not standards - the latter was the creation of the web standards community for very good reasons.

@Andy Hume: the problem with an agile incremental changes specification move would mean the browsers would need to adopt the same process. With agile development you go in knowing you need to change stuff so getting things wrong is fine. I just cant see the browsers buying into this.

@Everyone: If the W3C is too slow, but companies like Adobe or Microsoft can move quickly then, er, can Microsoft just take CSS3 and kick ass? Note that this is only half said in jest?

The advantage flash and silverlight have is that the time to implementation in the runtime of new features in the languages is generally very small. Time to implementation in the browsers varies from years before they are spec’d to never. Some interesting points here: Microsoft and Adobe actively sell products to the web designer/developer community so have a business case for constantly adding new features past “making the web better”. The Mozilla foundation don’t. As an organisation they would likely (rightly) favour working on usability led features rather than furthering standards support/working on specifiying new standards.

I like the idea of getting CSS 2.2 out. Favour features that are already implemented somewhere and throw in a hit list of thinks that are always on peoples hit lists and are agreed to be relatively straightforward to implement by the browser makers. As a way of just getting this done without holding up the rest of the CSS 3 work would something like Joe Clarkes micropatronage effort be in order?

Jeff Croft said on May 6, 2007 9:45 PM

And to push what Gareth said even a bit further…

Not only does selling a web design/development product (Sliverlight) make Microsoft have a business incentive for making it incrementally better with each release, but they actually have a business reason for making web standards support incrementally WORSE with each IE release.

I’m not saying they don’t care about web standards. In general, it seems that Microsoft is more interested in standards now than ever before. But, it is a bit scary to think that Microsoft could actually intentionally make IE worse at supporting standards so that Silverlight is more tempting. Seems like a potential conflict of interest. Again, I don’t think they’re doing this — but they could.

Adobe, of course, has no vested business interest in web standards, either. But there isn’t a big conflict of interest there, because they don’t make a web browser, like Microsoft does. So while they can make the Flash world better, they can’t actively make the web standards world worse.

AJ said on May 6, 2007 10:53 PM

Maybe this is one of those cases where you need a national or international external standards body (like the FCC) to mandate certain behaviours; maybe even do the sort of primary research into writing standardized rendering engines so at the very least, the minimum spec is met and interoperability / graceful degradation is kept. As the web is a resource that millions now depend on, it’s starting to require a kind of quality of service (or QoS as they say in the telco field) regulation.

Of course it would be nice if (ahem) lots of coders out there would learn to write proper xhtml/css to begin with, but that’s another issue — post-secondary education in standards and usability.

Tom Morris said on May 6, 2007 11:11 PM

Andy, it sounds like what is needed is deep restructuring in the W3C and the setting up of ‘Current’ and ‘Future’ working groups for most of their technologies. A lot of things that would make my life easier (coming from the perspective of a SemWeb developer) are being held back by the slowness of the W3C process. This is something I suggested a while back when the W3C restarted the HTML WG.

I’m not sure of the specifics for CSS, but certainly in other areas, a neat split needs to be implemented between (a) stuff that needs fixing and (b) stuff that we can implement when that’s done needs to be sorted out.

‘Current’ WGs would work on fixing bugs and haranguing browser manufacturers into supporting standards. Membership on the ‘Future’ WG would be based on following the resolutions of the Current WG. So if Apple or Microsoft, say, didn’t support a certain CSS selector according to the specification, they’d lose the right to be able to participate in the discussion of the future of development.

The advantage of the Current/Future WG scenario is that if there is consensus on 80% of the specification at the Future level, it can be handed off to the Current folks for implementation, and the Future people can then rework the stuff that doesn’t quite work.

The problem is that a lot of good stuff is taking place on the ‘future’ groups (CSS3, XHTML2, some of the semweb groups etc.) but the things which are non-controversial and could be implemented today with minimal problems are attainable only with significantly more complex changes that are controversial or have a lot of dependencies (technological, social or psychological).

I think that having a purely pragmatic approach is a fallacy - we do need dreamy, blue skies folks who can conjure up grand visions. But if we’ve got stuff that’s broken, we need to bloody well fix it! The W3C, on many fronts, is failing to deliver both practical results for the designers and developers of today and the vision for tomorrow.

Adam Schilling said on May 7, 2007 12:31 AM

If not now, when?

I’m for CSS2.2 and finding W3C more incentive (and leverage - sounds like they need it) to get CSS3 out the door.

Joseph Pecoraro said on May 7, 2007 2:15 AM

This is a rather enlightening article for me. I have only been a web developer for a little over a year and I started it as a personal hobby. I always thought that CSS 2 was rather new and CSS 3 was just around the corner. Clearly this is not the case and this sheds light on a number of subjects for me.

As for the arguments I like Tom Morris’s comment, because he suggested a very interesting solution with his ‘Current/Future’ separation.

A number of comments suggested the faults with an “incremental agile” approach to developing the standards, however the browser developers do not always have to obey the standards, although they would be more popular and accepted if they did. I point that out because the browser developers could start making their own features, and if accepted widely enough by the web developers would be issued into the “common area” and become supported by all browsers. Isn’t that how the first stages of the XMLHttpRequest (AJAX) started?

Quote from: nate.koechley]
XMLHttpRequest started as a proprietary extension to MSIE, then added to Mozilla but with a slightly different initialization since Mozilla didn’t support Active-X.

After reading this article my ideas have been shaken. Clearly if the W3C wants to remain an influence they had better reach some sort of milestone pretty soon (be it CSS2.2, CSS3, HTML5 or whatever) or else they will be left behind. Catching up and their current will be close to impossible.

Great article Andy and comments by everyone. Thanks for the lesson and the textile practice ;)

Chris Messina said on May 7, 2007 2:24 AM

If you ask me, CSS and the state of the art of web design needs a phoenix moment from the grassroots — and some collective leadership from a small squad of highly dedicated, motivated and learned could really push things forward in this domain.

Mozilla has been silent on XAML, WPFE, Silverlight, Apollo, Flex and the whole onslaught of RIAs. Where are they? Where are their tools? Where’s their touted platform? XUL? Gimme a break. It can’t hold a candle to most of the new powerful and visually refined proprietary platforms coming from Adobe and Microsoft.

The open web is has not achieved its maximal potential — and independents need to step up and move things forward. I think microformats has been an extremely successful grassroots effort — just imagine what we could do if we had similar standardization efforts underway in the realm of CSS.

I’ve got a few projects up my sleeve that might help, but I think your call is one that should be heeded and taken as a call to action. The open web isn’t going to advance on its own.

Frank 'viperteq' Young said on May 7, 2007 4:59 AM

This was a great article. It made think fo a few things:

1) The W3C, IMHO, is broken and beyond repair. I think that the web has become larger and implemented in ways that the W3C couldn’t possibly have anticipated for in it’s initial creation. If you ask me, what should happen is that the W3C should be dis-banded, and then the various browser vendors should just make a standards body comprised only of reps from each company. That way changes can happen quickly and with frequency.

2)When I started out as a web developer, I first began using Flash as my technology platform. When I started learning about Web Standards and why they were important, I still loved using Flash, but quickly stopped because of one thing: Search Engine indexing. It’s the one thing that Macromedia, now Adobe, has still left out of Flash.

Like Mr. Croft, I have as of late been thinking about developing sites in Flash and Flex again. I really like how far along the technology has become, but not having the ability to have a site developed in Flash or Flex be indexable by search engines is still the thing that’s making me keep my distance. If the Adobe devs were to bake this into the technolgy, I don’t doubt that I would drop CSS development in a heartbeat. The capabilities of Flash and Flex are just awesome and i think that even if the W3C were to get their heads out of the arses, CSS still wouldn’t be able to compete with were Flash and Flex technology currently is.

Speaking to no one in particular, I’d also like to see better integration with other Server-side scripting languages other than just PHP. I think a Rails-based backend/Flash/Flex-based frontend site would be just awesome…..

When it comes down to it, I love CSS and I love developing sites using standards complient code. I just think that things are cluster-f*cked beyond believe and it’s going to take a miracle to fix things….

Richard Earney said on May 7, 2007 8:07 AM

Smaller, quicker releases always make more sense in my experience.

All the things you mention in a 2.2 release would be great and an align: center for block level elements rather than margin: auto!

But keep it small get it adopted in all the browsers then sort the next version out!

Andrew Rickmann said on May 7, 2007 8:59 AM

CSS is in danger of being eclipsed by newer more flashy technologies if there isn’t something new soon.

To roll up the changes into point releases based on what they are for would be a much better way forward than one giant monolithic, and late, change. It would also give the vendors time to implement them bit by bit instead of forcing a huge amount of work on them in one go.

I would definitely support that.

Perhaps we need a Dean Edwards style javascript add-on to implement the things we want to see now, such as multiple backgrounds. It may be that there is a need for enough people to feel the benefits to push it through on consensus.

Gareth Rushgrove said on May 7, 2007 9:41 AM

Remember CSS3 was broken down into lots of smaller portions in order to try and make it easier to roll out in pieces, rather than one monolithic release - and it’s still taking a long time to get things out into the wild. I’d like to think at least some of this is because there are hard problem to solve, but also because CSS works.

Their, I’ve said it. CSS works. Ok, so not all of it everywhere but enought to be completely usable. What we are talking about is better, fancier and faster features that in many cases benefit us as designers more than end users.

I’ve generally resisted ideas like Chris’s of some sort of grassroots movement taking over some of the work - in a similar way to the microformats movement - but I’m changing my mind. If that groups aim was to discuss, refine and propose (ie. standardise) small incremental advances as well as provide reference implementations (in javascript or even better by hacking on open source browsers) then maybe it can both improve the situation and give the working group both more time and more impetus to get a good job done.

I’d like to think microformats will be the harbinger of the semantic web rather than it’s demise (but we shouldn’t go there in these comments!) - maybe something like this could do the same for CSS3?

Richard B said on May 7, 2007 10:32 AM

There really isn’t a lot more I can add that Andy and those above have not already. Excellent post Andy, totally agree on what you’re saying. It’s taking far too long and you hit the nail right on the head when you wrote;

“The W3C are so concerned with shaping the future, I’m worried that they may have forgotten the present”.

Sadly very, very true.

tom said on May 7, 2007 11:10 AM

No-one owns the Internet! Let’s start a petition or something… Bring Back the Web!

Chris Hunt said on May 7, 2007 12:52 PM

Never mind CSS 2.2, CSS 2.1 is still only in working draft/last call status. W3C currently makes the Internet Explorer development cycle look agile. How about finishing something for a change before starting all these new projects?

Maybe we should take all the CSS3 properties, value and selectors currently supported by the likes Safari, Opera and Firefox.

Don’t forget the CSS3 stuff currently supported by IE , @font-face{ } being the most notable, but there are one or two others too.

Asbjørn Ulsberg said on May 7, 2007 1:09 PM

I completely agree. Specification development probably needs to align more with regular software development, where you have one far off goal that you postpone difficult and time-consuming tasks to, and several smaller goals inbetween now and “then” to get features implemented, the software tested and released.

The CSS WG could easilly have produced at least 4 specifications from the stable parts of CSS3 on top of CSS2 during the last 7-8 years. We could have seen CSS2.2, CSS2.3, CSS2.4 and CSS2.5 with features such as rounded corners, gradient coloring and other stuff that’s even already implemented in browsers like Opera, Firefox and Safari.

But since all of these features are slated for the unreachably large goal of CSS3, we can’t use any of these features yet. As a web developer, I have to say: That sucks.

Andy Budd said on May 7, 2007 2:45 PM

Remember that when CSS2.1 was started back in 2002, the idea was to create a stable snapshot of the current state of CSS2 for browser manufacturers to work from. CSS2.1 is still very important today because that’s what most of us are currently using, despite not being a formal recommendation yet. However I know that finishing off CSS2.1 is currently one of the working groups main priorities.

The idea behind CSS2.2. is pretty much the same. To provide both developers and browser manufacturers with a stable snapshot of the current CSS landscape, as well as the inclusion of a few quick wins.

Jonathan Snook said on May 7, 2007 2:45 PM

Imagine if Adobe released their own browser that worked on OSX, Windows and Linux and used Flash as the primary core but still supported HTML objects. I believe Apollo is close to this… in fact, it wouldn’t surprise me to see an Apollo-based browser by the time it hits launch.

Imagine 10 years from now, all of us remembering what it was like to code in HTML/CSS.

Andy Budd said on May 7, 2007 2:49 PM

What both Macrosoft and Adobe are trying to do is do away with the browser altogether, and allow browsing straight from the desktop.

sil said on May 7, 2007 3:31 PM

While I appreciate that it’d be nice if some of the designer-ish stuff in CSS 3 was out there, it’s not a zero-effort proposition to create “CSS 2.2”, and the effort that goes into that is taken away from getting CSS 3 finished and finalised. Is it really reasonable to say, well, the Tibetans can wait, because us having rounded corners is more important? Would you be equally happy if the CSS working group were to down tools on CSS 3 and put out a CSS 2.2 which covered all the internationalisation and localisation stuff but none of the designer-y parts? That would still meet the goal of “put it out in bits rather than wait years to get the whole lot finished”, but I suspect would not make you happy with it?

Of course, everything you say is true: it’s been an insanely long time coming, and I’m in no way exonerating the W3C from blame; they’re in serious, serious danger of making themselves irrelevant when everyone just ignores their ivory tower and gets on with the job. This is precisely why the WHATWG sprung up, and it does seem to have kicked the W3C into gear. As I understand it, browsers like Firefox have started implementing CSS 3 properties but with the moz prefix; presumably the browser manufacturers could do that (which would bloat your CSS a little as you fill in three or four separate properties for different browsers rather than the one “official” property, but would give you the tools). MS having been burned by getting in ahead notwithstanding, of course.

Fredrik Wärnsberg said on May 7, 2007 4:15 PM

To continue where Jeff left off.

Microsoft, as a company, shouldn’t really have any interests at all in the web standards movement (which was made even more obvious when Silverlight used it’s own vector format instead of SVG). By creating their own standards instead of conveying to existing ones they make it harder for people to switch software and for others to make software that can produce/understand the same things as MS applications.

This is obviously a very smart move from a business perspective since you force people to continue to use what you’re selling.

To me it seems as if Silverlight is a desperate attempt from Microsoft to tie people to their server software not that they are losing huge market shares to Linux/*NIX.

I think that Microsoft only released IE7 to be able to compete with Firefox feature wise. The improved standards (like adding support for PNG) was good for two things;
features for the end user and more importantly to nurture their relations to web designers (avoiding bad press in the blogospehere).

Microsoft won’t be an early adopter of CSS3 as long as other browsers don’t adopt it at blistering speed so that the average Joes will get trouble viewing sites because they’re using standards not implemented in IE yet. I don’t see this happening any time soon, and thus I don’t see Microsoft adopting CSS3 happening any time soon, either.

Justin said on May 7, 2007 5:00 PM

Great article. I agree. I think something does need to happen. I don’t know what, but something. Over 7 years is way to long without some sort of new features.

Andy Budd said on May 7, 2007 5:19 PM

@sil: The point of CSS2.2 would be twofold

  1. Priorities the features that have the lowest cost (in terms of effort) to value (in terms of usefulness) ratio, thus getting them into the wild sooner.
  2. To release features that have already been implemented, rather than holding them back until the entire spec has been finished.

Karl Peterson said on May 7, 2007 7:08 PM

What if someone made a new browser that had it’s own version of CSS3. And then what if the web community started building websites that could only be viewed in that browser. If a user came to the site and didn’t have the browser they would be shown a link to download it (If flash can do it why not a browser?).

If enough designers implemented this then more and more users would switch over to the new browser (the same way they did with flash).

I know this is an extreme solution but hey Microsoft, Mozilla, and others: You snooze, you loose!

I know this goes against web standards and accessibility, but you cannot impose recommendations on huge companies like Microsoft. To quote Rushmore “… get them in the cross hairs, and take them down.”

Excellent post.

Andrew Dupont said on May 7, 2007 7:27 PM

Part of this has to do with process, I think — making sure specs are written with enough urgency that they don’t fall dormant. The other part, as you’ve said, has to do with over-reaching — trying to do too much at once, or thinking about next decade’s web instead of next year’s. (Like premature optimization, but for standards. Premature specification?)

I think CSS 2.2 is a great idea. Just like HTML5, it’d be a backlash against the torpor of the ivory tower, and an important step forward for those of us who want solutions to the problems we face every day. If it delays CSS3 even further… well, that’s what prioritization is all about.

But this is not a complete solution; it doesn’t address the process itself. Most of the CSS3 modules seem to be stuck in a specific state: the syntax and naming are essentially frozen, but the final 5% of details are getting in the way of the rubber stamp. This is where specifications go to die. We’ve got to figure out how to prevent this from now on.

tablet said on May 7, 2007 8:01 PM

I agree they are moving way too slow. Every week something new amazing is coming out or a new technique someone developed is coming out (heck, its every day if i you read Digg). There is so much going on in blogs, news and other sites, even with RSS and filters you cant keep up, unless you spend 2hrs a day reading these sites.

First it was IE6 keeping the web behind (still is as well as IE7 will :p) now its gonna be the w3c.

mangoduck said on May 7, 2007 8:06 PM

“Organisations pay thousands of dollars to join the W3C, and in return get to set the agenda on forthcoming technologies.”

i can see why this might have been set up to begin with — only those who are really serious about furthering web technologies would be able and willing to put up the money in order to have influence at the top, where things (ideally) actually happen.

that way nobody has to deal with the continual flood of misguided or just plain bad ideas that would otherwise slow the process and complexify compatibility. plus, it’s an easy way to get the ball rolling quickly on new projects. serve the next “big thing” on something shiny enough and you’ll have vultures with “business sense” picking at it within minutes, no matter how dry the turkey is.

however, the reverse is not true — those who are willing and able to further web technologies do not always have the money to put in their mouth. in light of how many brilliant programmers are on the web, and having experienced the lowly conditions in which many of them tend to live (think young scrappy student geniuses), i think it’s safe to say that most authors won’t ever have the cash to fork over for a w3c membership, nor could they justify it.

this limiting factor is the biggest shame of the whole setup, and flies in the face of the open source paradigm which the web was founded on. it creates serious problems for indie developers and smaller organizations that want to bring us great things, but can’t because they’re not allowed at the “adult” table.

the reality is that while companies are busy plotting out how to squeeze more money out of the market in some sterile conference room (eyes on ms here), the rest of the developers in the world, particularly the ones with the dirtiest fingernails, the ones who belong at the adult table, would jump at the chance to make theirs and everyone’s lives easier.

who do you think could design us a better plow: some guy in a suit who’s never stepped in gum, or a sunburned, underpaid, do-it-yourself, earth-loving farmer that works in the field every day with a sweaty brow and a gleam of defiance in his eye? i have another question: who do you think is going to last longer in this world?

i think this system needs some major revamping so that interested, legit parties can actually get their foot in the door. it’s clear that the lads and lasses involved with and supporting whatwg agree completely. thank you for html 5!

sil said on May 8, 2007 1:26 AM

Andy: agreed on both your points (cost vs usefulness and releasing completed stuff); my point was really that judging “usefulness” is hugely, hugely in the eye of the beholder. I’m not sure who makes that determination. Is being able to change the opacity of an element more or less important and useful than having text formatting work in boustrophedon mode for Klingon text? No idea how you make that judgement.

Damien Buckley said on May 8, 2007 1:33 AM

This is the second hugely concerning post of this nature I’ve read today. Seems to me like the politics or whatever at W3C is out of control and costing them (and us) the benefits of a lot of good people. Roger Johansson had this to say.

Jonas Flint said on May 8, 2007 3:25 AM

Yes. Let’s do it… are we still talking?

Steven said on May 8, 2007 3:48 AM

I’m depressed.

Stefan Seiz said on May 8, 2007 8:29 AM

Yeah, how funny is it, that at the time we will finally get rounded corner support in CSS, rounded corners as design elements will be so worn off, that almost no one will use them anymore.

tripdragon said on May 8, 2007 1:09 PM

Wow! .. Hmm Sooo it looks like that tug back to flash was for a good reason.. 

So long css hell, hello flash player download hell :D 

JulesLt said on May 8, 2007 1:09 PM

Great article, and some great comments.

1. It’s interesting reading TBL’s ‘Weaving the Web’, how XML emerged from an almost WHATWG-like frustration with the SGML standardisation process. Equally, HTML was also developed along with it’s first implementation, and then presented to become a standard.

2. ActionScript/JavaScript - as far as I understand, AS3 is already ahead of JavaScript, in that both are based on the ECMAScript standard, and ActionScript is the first implementation of ECMAScript 4.0 (still a working draft spec) which moves it a long way from being a scripting language towards being the dynamic programming language people are already using it as. Presumably this is a reason why Mozilla has accepted the donation of the Tamarin engine from Adobe.

Of course, there are differences between AS and JS in terms of the basic classes/APIs added to the ECMAScript spec.

3. One thought that’s struck me is that with Microsoft’s DLR being released under a BSD licence, perhaps the next step is actually implementing a wider choice of languages in the browser (as Silverlight does for the plug-in). Client side Python and Ruby with full access to the DOM. Maybe even Java again (can Sun stop MS distributing their own JRE now it’s open source?).

4. Adobe do still have a huge interest in web standards - SVG was an Adobe initiated spec, in the days before they owned Flash. As the main tool vendor for web development they have a vested interest it getting ALL the browser vendors to implement new CSS and HTML features, as that in turn sells updated versions of Dreamweaver, etc.

5. On indie developers and the W3C - yes, your bedroom genius can’t afford to be a member of the W3C, but that does not mean they are without influence. They contribute to Mozilla or WebKit, who then in turn represent them at the big table. The farmer isn’t always the best person to design a plough either, despite his noble son-of-the-soil image - you want someone with a mind for mechanics.

>I point that out because the browser developers could start making their own features, and if accepted widely enough by the web developers would be issued into the “common area� and become ?>supported by all browsers. Isn’t that how the first stages of the XMLHttpRequest (AJAX) started?

Yes. Another example is the Canvas tag (basically a surface in which you can paint bitmaps programmatically, rather than having an underlying model). That was introduce by Apple for it’s Dashboard widgets, and has since been implemented by Mozilla and Opera. However, it duplicates - in intention - part of SVG, so has been politically controversial. And is thus a good demonstration of the points here - solutions that solve a problem in the now vs the perfect solution.

Of course the main thing about XMLHttpRequest is that it was implemented in the majority browser. You won’t find any sites in the wild that use Canvas other than as a demo.

mangoduck said on May 8, 2007 4:31 PM

“They contribute to Mozilla or WebKit, who then in turn represent them at the big table. The farmer isn’t always the best person to design a plough either, despite his noble son-of-the-soil image - you want someone with a mind for mechanics.”

i realize there’s some distributed influence, and that small developers can still contribute in this way. many features have risen from this arrangement. but regarding whole specifications, i still think it’s hard to make a large impact from the top down as a bottom feeder. we’re talking new drafts of guidelines that are sorely needed, not a bottom up, sort of feature-creep, inverse trickle effect that will take years and many iterations.

true, some farmers will not design a suitable plow. also, some desk jockeys are brilliant engineers. generally though, the man in the trenches is going to have a pretty good idea how to do xyz efficiently because it’s his job. this tends to be more of a constant than with the opposite arrangement. he may not have the scope others do that are farther away from the project, but overblown scope has proven just as bad (imo, dot-net applied to web, the latest greatest “platforms” with marketing glitter).

a frequent gruber point is that some of the best software is borne of a real need of a solution in a real situation, and is built by those the creative spark originated with, the people with the drive.

“I point that out because the browser developers could start making their own features, and if accepted widely enough by the web developers would be issued into the ‘common area’ and become supported by all browsers. Isn’t that how the first stages of the XMLHttpRequest (AJAX) started?”

well, we’ve seen this happen for years, and it’s largely responsible for the mess we’re in these days.

if one agent has this new feature, and developers start to rely on it, other vendors may adopt it. good ideas can spread upward due to their very nature. i like this.

what i don’t like is that the ones that don’t adopt will be railed on by people because their product doesn’t work right, in their opinion, when the reality is that the feature in question isn’t part of any official spec and the vendor technically has no obligation to recognize it. someone just made it up and acted like everything was gravy, and sheep hopped on the train.

how many times have you heard “ffox sucks because my page breaks in it!”, and someone replies “because you’re expecting proprietary code to work everywhere, wingnut! [browser, usually ie] is the one that’s broken!”

this falls on deaf ears most of the time in my experience, so perhaps this model is abused more than most realize. the feature in question isn’t always a good one, but if it’s forced up into the “common area” anyway, it means there must be alterior motives working. like market leverage, ahem.

proprietary css properties passed off as “normal”? expressions? implementing “javascript” as “jscript” with just enough tweaks to be a pain in the ass? page transitions (that are hardly used)? a backwards box model? some of these are good ideas, and some not, but all seem to have been put in place stategically to perpetuate dominance. obviously i’m talking about ms here, and i think it’s silly that they can afford to be part of the w3c, yet they never seem to utilize it. “just put it in there, everyone will use it eventually because we have the market!”

ajax i see as an exception because the web really, really needed it. the web is heavy and slow. ajax tends to make things smaller, lighter, faster, and richer. there are other ways to get snippets of data from server to client, like frames or script objects, but they’re convoluted and support varies too much to be mainstream.

i think we lucked out that people didn’t really jump on ajax till after the big vendors had included it. the ride would have been rougher. who knows how much slicker it could have been though if it had been submitted formally, or whether it would have been worth the wait.

Andrew Dupont said on May 8, 2007 7:12 PM

[M]y point was really that judging “usefulness� is hugely, hugely in the eye of the beholder.

I agree, but that’s what standards bodies do every single day. If working groups didn’t make implicit “usefulness” decisions then we wouldn’t have CSS 1, 2, and 2.1.

Johan said on May 8, 2007 9:18 PM

It is against what the Internet stands for: innovation, cutting edge, freedom, liberation. If we could use CSS filters for browsers (like IE conditionals),we could preserve backward compatability abd implement CSS3 rules at heart, and we could implement whatever new CSS rules. At the moment, It’s like hitting the back button once too many, we should move forward, and refresh and clean our caches.

Andrew Shebanow said on May 9, 2007 4:43 PM

I disagree with the various posters who have said Adobe has no vested interest in web standards. As some have pointed out, having a single standard for HTML/CSS/etc. would help Dreamweaver enormously - we could focus more features on letting people build web experiences and less on features that address browser incompatibilities.

Furthermore, Apollo is not just about Flash and Flex, its also about HTML/AJAX applications. So anything that makes HTML/AJAX applications more powerful and easier to develop helps Apollo, too.

The Apollo team is also contributing to WebKit development, and there again, anything that can be done to spend less time on cross-browser compatibility issues means that more time can be spent on making other things better (performance, more features, etc.)

Alex McKee said on May 10, 2007 2:53 AM

The W3C needs business rigour but won’t get it. However, external pressure such as the WHATWG did end up with an official revival of HTML (as opposed to XHTML). Perhaps a community driven CSS2.2 spec would do the job in speeding up CSS3 or creating official recommendation of CSS2.2.

It’s certainly an idea that I for one would like to see explored thoroughly.

Michael Dick said on May 10, 2007 4:51 PM

Compete against the Wc3 and start a movement! But, no matter how big of an impact it would take to actually work a movement has to start somewhere so why not start an organization that supports the creation of PRESENT DAY web standards. And until the mainstream browsers support this movement, have all web designer supporting it include a small javascript file into their websites that tweak the users browsers to support these new standards (kind of like the old JS PNG hack for IE6).

If the browser doesn’t support Javascript then serve a basic CSS stylesheet that just lays content out in an easier to read fashion.

Can we say one biggg movement?

William Wedin said on May 11, 2007 2:16 AM

Just wanted to point out that, if I have my facts straight, CSS 2.1 is not yet a recommendation because the criteria for acceptance as a recommendation have changed since CSS 2.0 came out. In particular, there has to be a certain degree of proliferation of the implementation before it can be promoted. Basically, the W3C is waiting on IE in order to flip a switch.

DocDave said on May 11, 2007 9:05 PM

I have really been paying allot more attention to standards lately and would really like to have one that works across all browsers. I agree CSS 2.2 is needed. But I would like to see all browser support before anymore features. Don’t get me wrong those are some cool features proposed for CSS 3, but I want standardization across all browsers!

Now if they (W3C) wait too long technology will perhaps pass CSS by and left us stuck with something else. It could happen.

Ian Isted said on May 14, 2007 12:18 AM

I agree CSS 2.2 would be nice, but the biggest problem with CSS at the moment is compatibility between browsers, and older versions of browsers. We have to constantly write workarounds or second sheets for older browsers.

As nice as CSS 2.2 would be, we would still have to hack our rounded corners and backgrounds so that they could be seen by most browsers. Let’s not forget that a large percentage of people still use IE 6.

A nice feature of the next generation of browsers would be auto updating CSS support. It would take a few years to spread, but eventually any new updates to CSS could be used globally even if people didn’t have the latest version of Safari, Firefox, IE or Opera.

gary turner said on May 14, 2007 7:50 PM

Quite right, css2.something needs to be adopted. The apparent problem lies with MSFT. Rumor has it they were the impetus behind kicking css2.1 back from RC status to draft status in order that their ‘new’ browser would not appear to be non-supporting of the current recommendation. Opera, Konqueror/Safari and the Moz/Gecko browsers look to be two or three nines conformant, while IE6 and IE7 are barely 50% conformant, if that. (Considering no support, incomplete implementation and buggy implementation)

The modern big three have begun implementing css3, a bit at a time. That’s good, as adoption is dependent on UA support. Where’s IE?

The W3 ceased development of html, going off on a tangent. Not a big deal; everyone loses direction, time to time. Pressure from the what-wg seems to have brought things back on line. I don’t see MSFT giving more than lip service to html5, even though they were given a co-chair on the html-wg.

The problem lies with the end results of an html5 and css3. The what-wg abbreviates ‘Web Hypertext Application Technology’. The goal is anathema to MSFT’s business model. An html5, with css3 and additional DOM APIs for client side scripting, would support full featured client applications, and require only a conformant UA. That reduces the need to depend on a ubiquitous OS and proprietary applications that run only on that OS. Don’t look for the Bigfoot from Redmond (for those not familiar with the metaphor, think 800lb. gorilla) to do more than drag their feet, and keep the rest of us back in the process.

If we are to see an improvement, the Operas, Apples, Mozillas, Nokias, other mobile vendors and the independent developers will need to flex their collective muscle to:

First, adopt css2.1 as the current recommendation;

Second, move those sections of css3 that are ready or nearly ready to a css2.2 RC status;

Third, encourage UA implementation testing, pursuant to adoption of css2.2.

That will leave us developers in the same boat we’re in now, writing to standards, and dumbing down for IE—unless MSFT allows itself to be dragged kicking and screaming into the world of the modern browser. By widening the gap between modern UAs and IE to the point that corporate suits and Jack and Jill User can’t ignore the difference, MSFT will likely jump to the head of the bandwagon, if only to maintain an appearance of leadership.

cheers,

gary

Hafiz said on May 14, 2007 10:19 PM

Hi, loved this article and I can’t agree more with the interim solution. Also, I did an Indonesian translation for this article and I just realized that I really should have asked your permission first. The article is up here:
http://hafizr.wordpress.com/2007/05/14/css22/

If I don’t have your permission then I’ll take it down immediately.

Regards,

Hafiz.

Mahir said on May 15, 2007 1:25 AM

Very good article but the problem is that some browsers (aka IE) already have problems adhering to CSS2 standards and are still being worked upon. We need browsers that can support the current standards before we can move on, otherwise we will always have the problem of having to worry about CSS2.2 rendering correctly across all browser, essentially making it useless.

Regards,

Mahir

maht said on May 15, 2007 7:27 AM

I could take you more seriously if your website wasn’t grey text on a grey background.

Goodbye contrast and readability, hello …. what exactly ?

phey said on May 15, 2007 9:11 AM

Hmmmm…this’s just out of curiosty, think for more bitten fo css3 than another css1 or 2

Ted said on May 15, 2007 7:26 PM

Hell yeah. Something needs to be done to spur the likes of MS to adopt these modifications. So long as these modifications gone unratified, MS will probably keep ignoring them. Ratification puts the pressure on the top dog to get them in the next version of their browser (of course, it could be another 5 years for that release).

Mike said on May 17, 2007 4:36 PM

Can I make a slightly different suggestion - change to a date numbering system? So every year we get a new version of the standard, regardless of how little has changed. Then it would be far more obvious to outsiders how bad IE is - telling people that it only supports some of 2.1 is meaningless - if you instead say that it only supports CSS_1999 people could instantly see how out of date MS are. And any other browsers that lag behind, of course…

Destry Wion said on May 20, 2007 12:27 PM

I completely agree that things are moving much too slowly. A jump to 3 never made much sense anyway, considering the ridiculous number of factors involved. We need an interim (and forward) step to happen ASAP, but I don’t see it coming if the W3C is expected to do it (even though it should be the one). Another grassroots effort (nod at WHATWG) might be the ticket here, and if by doing so the W3C gets another reality slap, all the better.

Jonas Flint said:

Yes. Let’s do it… are we still talking?

Exactly. So where’s the CSS2.x wiki already?

Destry Wion said on May 20, 2007 12:47 PM

Mike D. wrote:

Viva la resistance!

Yeah, meant to quote that relevant claim too.