One problem with emerging W3C specifications is that they cannot be utilized until all common browsers support them. Take CSS3: we can't make use of its features because browsers are behind on implementing the spec. When designing sites, web developers are forced to consider the lowest common denominators and either write degradable sites or continue making use of old specs. This means that even as shiny, new features are specified, it'll be years until we can make full use of them.
Browsers should be redesigned to overcome this obstacle. Rather than program a browser to implement the latest standards for emerging technologies--like CSS--why not redesign browsers to a lower level of abstraction. Couldn't we instead create browsers that understand a very low-level spec that deals with graphical rendering and apply higher-level specs (like CSS) on top of that? Then in the same way that web developers start their XHTML pages with doctype headers which point to particular DTDs, developers could also pick and choose from various DTDs that modularly describe how to implement a given spec, say CSS3. This would give developers absolute control over which specs/features they want to utilize. More importantly, developers could realize the benefits of an emerging spec on the day its DTD is published. Developers could even design their own experimental features by creating their own publicized DTDs. Furthermore, through versioning we can prevent pages from breaking as specs evolve.
This line of thinking needn't be limited to CSS but could be applied to other technologies: SVG, Flash, etc. It might not even be implemented using DTDs, but a cross-platform language like Java.
In a nutshell, avoid progress bottlenecks by allowing browsers to link to ready-to-use modules that make the latest techonological specs immediately available.-- mlanza, Apr 15 2008random, halfbakery