CSS3 - Coming Soon to a Browser near You
Home Tutorials Reviews Weblog

Review: After the Great Winter of no updates to CSS and most W3C standards CSS3 thaws
Feature: There is some awfully nice features but support of SVG creates Microsoft Clash
Microsoft is responsible for the Great Winter of almost ten years without major implementation or improvements to W3C and other Web Standards. One can see it by looking at the working draft dates for the the CSS3 Roadmap and other W3C or other Web Standards - work stretches back to 1999 and 2000. Also just do a google of IE7 CSS compliance. Here is a typical link.

However, with the emergence of Google as a major Web player, Web 2.0 's rapid advancements and the Firefox+Safari browser taking nearly 25% of of IE browser's market share - Bill has issued a terse "mea culpa" and Redmond has now been redirected to become Live to the possibilities of the Web again. So Web standards are getting some movement - albeit with plenty of Redmond proprietary trimmings (for example XAML over SVG and XUL, Open XML over ODF, etc, etc).

CSS, JavaScript and rationalization of the DOM suffered the most during the roughly ten year lull that has marked Microsoft's de facto stewardship over Web standards. With 90% of Web browsers as the starting point, Microsoft could and did assure that movement on standards like CSS, DOM, JavaScript and E4X, PNG and JPEG2000, SVG and XUL, XForms and countless others languished for 10 years or more. And just as a counterpoint see how quickly Microsoft has gotten C# and Open XML through ECMA when it wants to promulgate a standard. So IE7 and now IE8 still have the most catching up to do in terms of CSS 1, 2, and 3 standards. But according to Chris Wilson, a leading spokesperson of what gets developed in IE, Redmond is still committed to full CSS. So that commitment makes it worth while to take a look at what is coming down the pike in terms of CSS3.

The CSS3 Directions

This party was expecting CSS3 to be desultory and tentative with very little outside of small incremental changes to CSS3. However to my surprise the working groups have produced a varied and in some cases very media oriented set of proposed changes to CSS3. However, a warning is due. CSS3 has been broken up into about 20 modules - which are not moving uniformly through the standards process. Some modules are already completed recommendations while others are still in the working draft stages. So even W3C took a sabbatical during Redmond's imposed decade long Great Winter of no changes to Web standards. But now here is what's up (largest sources are CSS3.info and WebToolkit and NIST CSS3 Test cases):

  • Syntax / grammar - new media types (kiosk, handheld, presentations)and extensibility features.
  • Selectors - many changes to selector targeting, pseudo elements, and new namespaces.
  • Values & units - minor changes throughout such as aural measures, angles, etc.
  • Box model / vertical - border image, border radius, box-shadow.
  • Box-line - aspects of line within block elements and inline elements, baseline alignment, drop initials.
  • Positioning -template-based positioning, tabbed (stacked) displays, row and column layouts, etc.
  • Color / gamma / color profiles - major changes with HSL, HSLA, RGBA, and opacity controls.
  • Colors and Backgrounds - background-clip, background-size, background-origin, multiple backgrounds.
  • Text - text-shadow, text-overflow, and other smaller adjustments.
  • Fonts - allows font specification by a user agent and new font decoration properties.
  • Generated content / markers - new list, numbering and section heading capabilities.
  • Replaced content -footnotes, endnotes, section notes. Inserted content can also introduce counters and strings, which can be used for running headers and footers, section numbering, and lists. Finally, techniques for declaring replaced images, as well as scaling and cropping them using CSS.
  • Paged media - running headers and footers, page numbers and print-style cross-references, etc.
  • User interface - more cursors, desktop color scheme interface, and other extensions.
  • ACSS - Aural CSS is a touchy subject even though it is still fairly basic; many players have diverging views here including IBM, Microsoft, Opera, VoiceXML, CSS Speech and many others.
  • SMIL - trying to bridge CSS transition effects with existing SMIL standard.
  • Tables - tables are alive and well and living in CSS3.
  • Columns - will allow for column counts , width and other properties.
  • SVG - sees increasing integration in diverse CSS3 modules such as Color, Columns, Line and Box Models.
  • Math - is an attempt to provide style properties for mathematical expressions in CSS but linked to MathML.
  • BECSS - behaviorial extension bindings work like Includes or Imports in other languages.

However despite the long wait, the number and scope of CSS3 recommendations make it into a major update. There are some very useful innovations on pages and multi-column layouts, more definitive color and opacity control, plus more recognition of special devices and media. Also, as in the case of CSS 2.1, CSS3 addresses a number of issues with CSS1 and 2 implementations. For example, by changing the CSS3 syntax drop shadows can be implemented more effectively. However, it should also be pointed out that searching through all the W3C modules (at least 20) with their various working drafts is tedious work - since level 1 and 2 standards are also explained there.

Also it is hard to get a bead on what is likely to be implemented by the major browser and app development vendors. It is worthwhile to note that Adobe with Flash and Cold Fusion, IBM with some of the Rational line of tools, Oracle with JDeveloper, Sun with Java Studio Creator plus NetBeans and many others have adopted CSS as their styling tool - many times outside of the Web context. So Application Tool developers as well as browser vendors have a lot of influence on the rate of adoption of CSS3. And its worthwhile pointing out that all the major browser vendors except Microsoft have made some major CSS3 implementations in their browsers already.

But even with these it is hard to pin down what will get adopted. So instead I will identify some of the CSS3 features I like and why. Hopefully, users will follow the first 3 links above into CSS3 and see what strikes their fancy.

First, CSS remains primarily a Web Text and Container standard. True there is more media movement particularly as regards accessibility and the Web UI for the visually impaired. However the bulk of the new media directions is for the print and page options. And given the rapid development of online/offline Web pages with Adobe's Apollo and Google Gears plus all type of portals and sub-windowing systems this is a good if not broadly accepted direction. Less controversial, is the strong beefing up CSS3 has done in the world of Color definition - 3 new color modes are supported plus opacity settings. Can transparency be the next target? Third and finally, CSS3 continues to refine targeting of Selectors but now in terms of the HTML DOM hierarchy tree. This will appeal to Web 2.0 JavaScript coders and XML-oriented Web developers. The broader community may be less enthusiastic.

Summary

CSS3 may become a standards watershed. It may force Microsoft, the biggest laggard in Web standards delivery to do that - stand and deliver. Redmond is still running many years behind all the other browser vendors on CSS 1 and 2 not to mention 3. However, I am not sanguine about this. Microsoft sees itself as pitched in a great war against Open Source (see the Fortune magazine article of June 2007). So Redmond may do a Dubya - in wartime all standards promises in the past are off (consider that IIS Server which was declared to be perpetually free by no less than Bill Gates no longer can be downloaded for free from Microsoft's website). In addition, I suspect that Microsoft will go "pro-active". Last years garrulousness about IE7 and its future plans is now running silent. 8-12 month IE updates have slipped to nearly 2 years again. IE8 now appears to be shaping up as proprietary instrument and standards breaker for Redmond.

So instead of compliance I see Microsoft doing a Vista - sending out an IE8 loaded with proprietary and semi-open standards (rivals to W3C and other standards but partially open and supported by some standards shop like ECMA or of their own making - think ECMA C# and Open XML, XAML, SilverLight as prototypes). Then Microsoft will stand on its ever more tightly coupled Rock of Monopoly Gibraltar - 90% desktop OS share, 90% Office share, 70% browser share, 60% Exchange Mail share, 70% Server 2003 share in key market segments, etc - and say to the IT community as it is doing with Vista, take it or leave it.

And for the record, IT continues to support Windows and Vista despite it being the highest cost OS by far, the most bloated in terms of resources requirements, and no longer any better than Linux or Apple in terms of device support and even applications support. Likewise, in the browser field, IE has lost only 20-25% market share despite being the browser that has the least standards compliance, having the most resource requirements, having a new and sometime confusing UI and has less features than Firefox and Opera the former of which has literally hundreds of add-ons for huge extensibility advantages. In sum, I expect Microsoft to want to capitalize on the inertia and timidity of the IT community to enable Redmond to seal off its desktop and server monopolies from Web 2.0 and Open Source incursions with a defensive wall of semi-open and frankly proprietary standards such that Redmond can more readily defend its monopoly market shares.

Now some will argue that Live and commitment to Web 2.0 wont allow this. That CTO Ray Ozzie has broader vision and generally employs less draconian tactics. However, the countervailing executive suite includes CSO-Chief Strategy Officer Craig Mundie, CEO Steve Ballmer, and Chairman Bill Gates who have all proved to be much more belligerent than Ray.

So innocently and innocuously, a relatively small standard like CSS3 (or it could be the more visible Open XML versus IBM sponsored ODF-Open Document Format) will be a Rubicon - it will decide whether Microsoft will be willing to be generally compliant to IT community standards or whether they will, given their ever expanding monopolies, become de facto standard setters and gatekeepers - able to impose substantially their will on IT shops. Stayed tuned, the next two years should prove most interesting.

By the way, for a divergent view on the Future of CSS see what Andy Budd has to say on CSS3.info.




Top of Page  Home  Tutorials 

Developers Weblog  Graphics Reviews and Tips