SVG in IE7?

by M. David Peterson

Update (and quite a long one): As per Jeff Schiller's and Len's comments below (thanks Jeff, Len!)

* Fixed the mention of CLI to read CLR instead. The difference to those of you unaware... CLI refers to the ECMA Common Language Infrastructure specification, the CLR is the runtime implementation of the CLI spec, whether this be Microsoft, Novell/Ximian/Mono, or DotGNU Portable.NET. Also, see footnote one below.
* As both Jeff and Len point out, the difference between a plugin solution and Trident (IE's rendering engine)-native support for SVG is of major significance. If you consider things from a very simplistic perspective, a plugin sits on top of the underlying processing engine, so at a bare minimum, when Trident notices there is an SVG document to render, the cost of passing this document to the plugin for rendering, wait for the result, to then output the result is substantial. The result in this case is a simple performance issue.

Of course taking things one step further, compound documents in which could contain any number of formats such as XHTML, raw XML, reference to CSS files (or embedded CSS for that matter), in the case of Mozilla, XUL and XForms, in the case of Opera, WebForms 2.0, and in Mozilla, Opera, and (as Jeff points out, eventually) Safari, SVG and Canvas, And this is a non-inclusive list, especially when you consider microformats (see Uche's recent article that covers this topic extremely well!) in which can be extended without limits given the now ALL major/significant-browser support for XSLT. Even excluding microformats, and ignoring the current set of standards groups at the W3C that are working towards standardizing a much richer set of UI components, as well as a detailed compound document specication -- Even then you still have a large base of important standards in which need pure native support to be enabled to truly take advantage of all that compound documents have to offer this WorldWideWeb of ours.

With that said -- I really need to clarify my point regarding the use of Adobe's SVG engine. This is a pure-and-simple time to market type solution, and should be seen as only temporary such that enough time can be allowed for MS to build solid native SVG support directly into the Trident engine. This is REALLY important stuff! (both the "do what you have to do to get SVG support integrated into IE7", even if that means via an existing plugin as well as the "then take the time to do it right such that in future releases the support is native, and the conversion to XAML and back again, completely transparent.

Of course as Len helps clarify (once again, thanks Len!),


Jeff Schiller
2006-04-27 07:23:08
Just a clarification: If IE7 shipped with the Adobe SVG Viewer, this would not be a native implementation. A native implementation (like Firefox, Opera and soon Safari) means the browser can render SVG documents without the need of a plugin.

So this is really two requests: In the short term, a workaround would be to bundle IE7 with ASV. In the long term, IE8 should handle SVG natively without the need for a plugin.

Jeff Schiller
2006-04-27 07:24:08
And I think "CLI" should be "CLR" in your article...
2006-04-27 07:42:07
"Let SVG handle the browser-based world of vector graphics"

Heck yes, please replace VML with this. Do note, however, that SVG is a 2D vector graphics language, not 'vector graphics'. 3D scene graphs are a different kettle of fish. Whether one really wants 3D supported natively in an HTML browser is a different issue.

Agree with Jeff. The problems of plugins and HTML browsers is a deep architectural chasm.

M. David Peterson
2006-04-27 08:20:29
Hey Jeff,

Thanks for the clarification. You are correct on both accounts. I will fix the CLI issue, and bring out the point regarding the need for native support rather than the plugin... Obviously from your comments you understand the fact that the plugin is simply a time-to-market type solution.... the real solution needs to be pure, native, and at the very heart of the Trident engine to truly be be an effective overall solution.


Very good point! I will bring this out in an update as well.

Thanks to both of you for your comments!

2007-05-08 03:58:31
my thought is that it is better to stick to another browser... Opera has a very good svg support; firefox has it too (but far from being perfect, and not so good as that of Opera)... why are you all continuing using a such "boring" browser, that gives features years later other browser?! I am almost sure that it is because it comes in bundle with the system and a lot of people don't know that a browser is none but a program running on a operating system.
2007-08-04 07:41:17
Check out the dojo.gfx -- it's basically a wrapper for svg and vml, so will draw 2d vector graphics in internet explorer and gecko.

Best thing since sliced bread.