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 affect 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
Article courtesy of Andy Budd | www.andybudd.com
Users' Comments (0)  |
|
|