Archive for July, 2008

Bling and the separation of CSS and SVG

Last year, the webkit developers have been adding some interesting experimental additions to CSS that gives some sexy effects such as animations, transitions and masks. There has been some discussion about whether we should add such effects into the full CSS spec when they’re already available in SVG: is it desirable or even correct to duplicate features across two technologies?

You might be forgiven for thinking that as a web standards wonk I would be dead against such mixing—surely separation of structure, markup, behaviour and animation is a holy grail for a standardsista?

But my take is that it’s perfectly fine to extend CSS this way. In fact, it’s highly desirable. My initial attraction to standards wasn’t because of philosophical purity, but because it seemed to me that there are practical benefits to use standards: maintainability; portability and simplicity. Sure, CSS has its complexities due to browser support, but at its heart it’s an extremely simple idea.

It reminds me of some of the discussions a few years ago when CSS support was new and some DOMscripting experts believed that JavaScript should be used instead of the :hover pseudoclass, because hover is “behavioural” rather than stylistic. They are probably right; :hover is about behaviour. But they lost the argument because it’s simpler to write a :hover rule than a JavaScipt event handler.

We poor web developers have enough to get our pretty little heads around, what with mark-up, CSS, script, server-side techniques, accessibility, without learning loads of spooky xml just to get a sexy bit of eyecandy going.

Nothing against SVG: it’s great for sexy animations (it’s so sexy that it’s an acronym of “Sleep with Voluptuous Girls”) and it’s perfectly possible already to use SVG to get a bit of menu bling, but I know that I’d much rather add a rule in CSS (that is ignored by browsers that don’t get it) than learn another language. (There’s little overhead to allowing both because browsers would be making use of the same code and routines to display the effects whether they are called from CSS or SVG).

What’s your take?

Opera Dragonfly alpha 2 released

David-not-Dave has been hard at work making Opera Dragonfly a better debugging toolbar for web developers. Alpha 1 was usable but clunky, but now he’s added commandline auto-complete, CSS editing, docked window mode, a debug menu, as well as many bug and stability fixes.

So may I cordially invite you to download Opera Dragonfly alpha 2 for your debugging joy? David will celebrate with another cocktail if you do.