A message appeared recently on the SVG Development mailing list that, once again, predicts the death of SVG. This meme comes up pretty regularly on the various mailing lists for SVG. Most of them are trolls, of course. But this one got me thinking again about what SVG is and what it is not.
I thought it might be interesting to consider some of these claims and try, once again, to put them to rest. I’ll cover each claim in a separate entry over the next few posts. To do that, we need a little background material.
What is SVG
Let’s start off with the basics. SVG stands for Scalable Vector Graphics. It is an open XML-based vector graphics format described by a World Wide Web Consortium (W3C) recommendation. Unlike the formats you may be more familiar with (JPEG, PNG, GIF, etc.), SVG is not a grid of colored pixels or raster format. SVG describes graphical objects through lines, curves, and manipulations of objects.
This gives a number of advantages. The first is part of the name: scalable. When you scale a normal raster format larger, the image gets worse (jaggies). When you scale a raster format smaller, you lose information. This isn’t a bug, it is a property of all raster formats. Vector formats, on the other hand, are described by mathematical entities like lines and circles. You can scale them to any size without visual artifacts or loss of data.
SVG also supports three other features in addition to the scalability that is part of being a vector format. First, SVG supports declarative animation based on the SMIL W3C recommendation. Secondly, SVG supports scripting through ECMAscript. These two features mean SVG can be used for dynamic images as well as static images. Finally, SVG supports declarative filter effects that can be used to create visually complex images.
The Claims
In the next few posts in this series, I’ll explore some of these claims.
Finally, I’ll summarize the discussion at the end of the series.