Special Topics

Web Sites
Mailing Lists

GBIC >> VML >> Advice
Advice to Beginners

Use the Right Tool Education VML vs SVG

Return to top of document

Use the Right Tool

While there's much you can do with VML (or SVG, for that matter), it should not be the tool of choice for creating complex graphics. Using the predefine shapes, some animation, and a few custom shapes - VML can handle that just fine. But VML is not the best choice for scenes with multiple custom shapes or scenes with independent animation of multiple shapes.

Flash is still the king of vector graphics animation. It costs more, requires your site visitors to use a plug-in and takes more time to learn. But it offers the ability to create innovate animations that you would have a very hard time doing in VML.

For complex still pictures, such as logos, you'll be better off to use a tool that specializes in the task. For example, Xara3D can do 3D text and other kinds of logos - quickly and easily - far more easily than VML/SVG will ever support. ZPaint, as another example, makes short work of creating cool looking buttons for your web site. To do the same in VML can take a lot of manual effort and much more creative skills than ZPaint requires. Yes, you'll have larger downloads with the images that these specialty applications create, but there is also a limit to how much time you have to spend creating complex images manually - hours vs minutes.

Return to top of document


The bottom line is that to be good at using VML you need to be knowledgable in XML, CSS2, and JavaScript.

The style attribute is straight out of CSS2. It's not part of the VML specification, but is used on virtually every VML shape made.

VML has no built-in animation. To get animation you'll have to use a script that works in web pages. JavaScript is by far the most popular scripting language, but VBScript provides similar capabilities.

Finally, remember that VML is an extension of XML. To bring together VML and JavaScript you'll have to have a strong background in XML.

Let's make a distinction here - you can manage to use VML with a limited expertise in CSS2, JavaScript, or XML. But that's all you will do - get by. Strong skills in all three are required to become an expert at using VML.

Return to top of document


Your intended audience is the key, deciding factor in this decision. If you're a corporate programmer and your company standard browser is MSIE, then just use VML and don't look back.

If your intended audience is visitors to a public web site, then it's likely that about 10% of your site visitors will never see your VML graphics. You have to trade that off against the percentage of site visitors who will be willing to load the SVG plug-in. If you have to have vector graphics (to improve download speeds or to add graphics to your site to catch the attention of visitors), then I recommend you go ahead and use VML. You'll have far more visitors who cannot see SVG, who don't have the SVG plug-in and are not willing to download/install it, than you'll lose by having visitors who are using non-MSIE browsers.

Of course, to play it safe, you won't use vector graphics at all. Stick with raster (GIF/JPG) images and you won't lose anyone - at the expense of not enjoying the special display features that VML/SVG provides.