Remember SVG? The acronym stands for Scalable Vector Graphics. In a posting to the xml-dev mailing list back in 2000, XML co-inventor Tim Bray said: “SVG is going to change the face of the Web.” If that prediction had come true, we’d have used SVG to visualize the results of the recent election. Instead, as Macromedia’s Chief Software Architect Kevin Lynch noted on his Weblog, the election was closely divided, but developers voted overwhelmingly to use Flash for interactive maps, dynamic tables, and live charts.
SVG’s inventors imagined a different scenario. Instead of bundling data and interaction together in a binary SWF (Shockwave Flash) file, we’d deliver data in a declarative XML format. The data would support scripted interaction, but it could also be reused in a variety of ways. With any XML-aware tool, you could extract a subset of the electoral map. Then you could display that extract in your own document or e-mail it to a colleague.
In his .Net rollout speech four years ago, Bill Gates used the memorable phrase “universal canvas” to describe this concept. At the time, Internet Explorer’s support for open XML and Web standards was still advancing. Now, of course, it’s back to business as usual at Microsoft. In the realm of graphics, Longhorn’s XAML (Extensible Application Markup Language) turns inward, reinventing SVG rather than supporting it.
It’s tempting to conclude that SVG just plain failed. Yet it keeps popping up on my radar screen lately. Case in point: Lighthammer Software’s innovative use of SVG. The company’s toolkit creates applications for the manufacturing sector, where dashboard-style visualization of meters and gauges is a key requirement. As Lighthammer’s CTO Rick Bullotta showed me in a video demonstration, the toolkit can animate user-supplied drawings of these widgets -- if the drawings are provided in SVG format. Tools that export SVG include Adobe Illustrator and open source vector illustration programs such as Sodipodi.
Here’s another example. One of the most stunning election infographics was a full-page illustration published in The New York Times. It featured a set of charts I wished I could see as a Flash movie. So I made that movie the hard way: by capturing a series of bitmapped images and combining them in a video editor. Suppose The Times had also published the raw data. Would there have been an easier way to animate it?
My personal Flash guru, InfoEther CEO Rich Kilmer, pointed me to Kinesis Software’s KineticFusion, a Java-based tool that does two-way translation between XML and SWF. Now, KineticFusion’s XML format isn’t SVG. Instead, it’s Kinsesis’ own RVML (Rich Vector Markup Language), designed to express all the rendering and scripting features of the Flash player. RVML does, however, support SVG’s path tag. If you create some named objects in an illustration tool and save the drawing in SVG format, you can treat that drawing as an animation template.
An XML transformation can then merge data with the template to yield a set of SVG path elements. Another XML transformation can embed those path elements in RVML, which KineticFusion can turn into a Flash movie. But the intermediate SVG representation is available for reuse. It can be edited in Illustrator or Inkscape and can be viewed in Adobe’s SVG plug-in or an SVG-enabled build of Mozilla.
SVG was always meant to be a supporting actor, not a star. After a long struggle, it may finally be emerging into that role.