Secret Origin of SVG

From SVG

The Secret Origin of SVG

In the early days of the Web, there was an explosion of different formats and extensions to HTML. From early on, it was clear that a vector graphic format for the Web would be useful. Chris Lilley wrote up a document for general requirements for vector graphics in 1996. By 1998, the landscape had settled somewhat, and there were six competing submissions to the W3C in the Web vector graphics area that year:

As a result, the SVG WG was chartered. The different submitters had different ideas on what to do with their specifications. Adobe et al said that PGML was just a proposal, and were happy to have it modified in any way by W3C. Microsoft said that VML was documentation of an already implemented and shipped product, and that W3C was not authorized to make any changes whatsoever.

E Pluribus Unum

The SVG WG examined the general requirements and the various submissions, and decided to not 'develop' any of the submissions, but to develop a new language informed by, but not really based on, any of the submissions. There was clearly general agreement on the type of vector graphics facilities that were needed (bezier curves, masks, compositing), and the SVG WG focused on that commonality rather than conflicting over syntax. There were many influences, but SVG was basically designed from the ground up, with lessons learned from all the available work to date.

VML's Influence

Vector Markup Language (VML) originated in Microsoft's Office group as a PowerPoint add-on, and shipped as an ActiveX control in Internet Explorer. VML's element types and compressed path syntax influenced SVG. The SVG WG did some tests on simple XML files both by uncompressed and gzip-compressed, and found that, even compressed, the compact path syntax made a big difference in the file size, so the microsyntax approach was adopted, though not identically.

PGML's Influence

Precision Graphics Markup Language (PGML) was a 2D scalable graphics language that used the same imaging model as Adobe's PostScript and Portable Document Format (PDF) formats. It most strongly influenced SVG's design in the coordinate system and transformations, color space, and to some degree in the areas of text and fonts.

Other Influences

Experience in CSS and in internationalization were strong drivers on having text as child content of the 'text' element, and in not having meaningless numbers as element content, but rather hiding them in attributes. The 'tref' element was influenced by the idea of link transclusion. The 'a' element was obviously influenced by HTML, although with a different content model and the ability to nest links; it was also influenced by the emerging XLink specification.

Drivers and Deployment

Over the course of SVG's development, the strongest early influences were W3C's Chris Lilley and Adobe's Jon Ferraiolo. Adobe produced a popular SVG viewer (ASV), and added support in some of its products such as Illustrator. In recent years, SVG has been implemented natively in several browsers, including Opera, Firefox, and WebKit (Safari and Google Chrome); in 2009, Microsoft announced that it too would support SVG natively in Internet Explorer 9, rounding out the major browsers to support SVG, and bringing SVG full circle to its origin.