I’ve always been a proponent of SVG, even back when everyone was gung-ho with using Flash for every little thing, whether it was a good idea even back then or not.
However, recently I’ve started thinking that perhaps it’s time to start taking it a lot more seriously. With the obvious demise of Flash as a main-stream RIA choice; greater support in all the major browsers; and with Apple pushing Retina displays on their laptops as well as tablets, I think it’s time to start moving away from pixel-defined websites and raster graphics to using “em”-defined websites and SVG graphics.
The combination makes perfect sense – it’s clear you cannot rely on website layouts which are strictly defined using “px” unit-of-measure – that would result in a website being 1000px wide (a good idea if you want to support 1024 x 768 screen resolutions) looking ridiculous on ultra-high resolution displays (such as retina). The obvious problem then becomes fitting graphics in PNG and other raster formats into this different unit-of-measure. Sure, you could scale the graphics image, or have several versions of it and try to detect the screen resolution, but all of that becomes moot if you use SVG, which by it’s very design will scale up and down without pixelation.
What I find interesting is that Sun saw the writing on the wall (even before they were taken over by Oracle) when it comes to greater resolutions, which is why the “Nimbus” look and feel for Swing was specifically designed using vector graphics and not bitmaps/raster images.
As with everything in web programming, however, you’re always stuck with users refusing to upgrade their version of IE to something even vaguely useful (I’m talking IE9 at least), or moving onto a better browser. I wonder if perhaps as an industry we (as programmers, business people, scientists) need to drag consumers along, kicking and screaming. Imagine, if you will, if 90% of all major websites dropped support for IE8 and below tomorrow morning. Users would have no room to complain, and would simply be forced into upgrading. No more “why can I use IE6 on my bank website, but not on your website?”