Introducing Snap.svg: Open-source JS library for SVG graphics

“Flash, schmash: SVG’s clearly the future.”

That’s what I thought as I joined Adobe back in 2000 to build an SVG animation tool. Unfortunately we were 10+ years ahead of the market (specifically of Web browser support)—and as Marc Andreessen says, “Being early is the same as being wrong.”

Things have progressed, though, and once again Adobe is working hard to make SVG adoption more widespread. Check this out:

Today the Adobe Web Platform Team is announcing version 0.1 of Snap.svg, a brand new JavaScript library for creating SVG. Snap.svg provides web developers with an intuitive and powerful API for animating and manipulating both existing SVG content and designs generated with Snap. […]

Snap supports animation. By providing a simple [[link to example]] and intuitive JavaScript API for animation, Snap can help make your SVG content more interactive and engaging.

In the height of the Adobe-Apple conflict three years ago, I wrote, “Adobe isn’t in the Flash business,” and this is what I meant: We get paid to help you solve problems, and things like Flash, SVG, PDF, H.264, whatever are just implementation details—means to that end. The richer & more expressive we can make the Web, the better the tools we can build, and the happier, we hope, you and your clients will be.

One thought on “Introducing Snap.svg: Open-source JS library for SVG graphics

  1. I remember, prior to the acquisition of Macromedia, comparing SVG and Flash side-by-side. ANYTHING could generate SVG (because it’s XML), but only Generator could generate the binary-encoded Flash format. It was open, it was text, the only things it wasn’t was compact and ubiquitous.
    Macromedia worked VERY hard to to hammer home the importance of file sizes (at a time when bandwidth needed to keep in mind dial-up speeds. I thought, “Surely people will see past this.” Nope.
    Glad to see SVG hasn’t been shelved just because of bad timing.

Leave a Reply

Your email address will not be published. Required fields are marked *