OSCON 2006: No Flash Required: Interactive Browser Graphics

This week, Kevin Yank is reporting from OSCON 2006 in Portland, OR.

Gavin Doughtie has done stints in games development for Sony, web development for idealab, and software development for Picasa, but these days he works at DreamWorks Animation (yes, as in Shrek), and in his spare time dabbles in the heady world of in-browser interactive graphics. His buddy Jon Stewart (sorry Jon, I came in late and couldn’t find a bio for you) came along to offer Internet Explorer work-arounds for many of the things that aren’t supported in IE.

This talk was really a grab-bag of solutions that mostly work here and there, a few experimental things that are on the horizon, and a couple of stand-outs that could practically be used today. The slides are available online.

For vector graphics, the obvious choice is the W3C standard for such things: Scalable Vector Graphics (SVG). Though slick and all-powerful, SVG doesn’t yet work in Internet Explorer, but that browser has the Microsoft equivalent: VML. Safari will support SVG soon, but not just yet.

For raster (pixel-based) graphics, there is Canvas, which also works in everything except Internet Explorer. Again, Internet Explorer has its own proprietary alternative, DirectAnimation, although that is being removed in Internet Explorer 7. The solution for IE7 is looking to be Windows Presentation Foundation (WPF).

Of course, writing to these various and sundry APIs in a real-world application is not really practical, which is why we see so little in the way of dynamic graphics on the Web right now, but there are solutions in the offing, in the form of several cross-browser drawing APIs.

The ExplorerCanvas project, from Google, attempts to support most of the functionality of Canvas in Internet Explorer by converting drawing instructions to VML. IESVG does a similar trick for SVG in Internet Explorer.

Very basic SVG support can also be added to Safari using the CanvaSVG project until full support for SVG appears in a final release of this browser.

Most promising, though not yet ready for prime time, is the work that Doughtie is doing on a drawing API for the Dojo Toolkit. Named dojo.gfx, the library will combine many of the capabilities of the above-mentioned projects into a single API. The brief demos shown during this talk seemed promising indeed!

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • Pingback: dojo.foo » SVG and Dojo at OSCON

  • Pingback: dojo.foo » Catch All

  • what_the

    Why the heck would anyone bother with SVG and VML when Flash is easily available for almost every platform and every browser? There’s a plethora of cheap easy-to-use tools out there that will produce interactive swfs, so what’s the attraction?

  • http://www.sitepoint.com/ Kevin Yank

    what_the,

    The problem with Flash is that it’s a technology under the control of a single commercial entity. When you write to Flash, you put yourself at the mercy of Adobe’s commercial interests. The fact that there is still no up-to-date Flash Player for Linux, for example, although Adobe keeps promising it is coming soon, is a result of this situation.

    With open standards like SVG, you get the assurance that the availability of a technology does not hinge on the decisions of a single commercial entity, because these standards can always be reimplemented independently.

    Flash has so many dependencies on proprietary codecs that it would be impossible to produce a free (as in freedom) implementation.

  • Danjo_Hart

    I hope to use VML soon, (my audience is IE only).. BUT.. at the same time prepare for future use of the data by such applications as SVG and Flash.

    So I hope by putting all my data in XML first, then displaying in VML, I will be allowing myself the room I need for a future redesign of the data in something *besides* VML.

    Any hurdles I may need to cross?

  • Internet Marketing

    i must say Why the heck would anyone bother with SVG and VML when Flash is easily available for almost every platform and every browser? There’s a plethora of cheap easy-to-use tools out there that will produce interactive swfs, so what’s the attraction?
    http://www.jeffpaulportal.com