Safari gets SVG

Apple has released Safari 3 beta, and it features SVG support. This means that your SVG apps will become usable by another 4-5% of the Internet surfers (or, depending on your audience, a lot more than that, as Safari dominates the Mac browser market). Two other nice features that have caught my attention are tab drag-and-drop and textbox resizing (for those poorly designed web forms).

On a related note, Safari for Windows is sadly getting bad reports thus far (sadly because I think we've gone from an IE monoculture to a FF/IE duopoly, and I'd love to see more competition among browsers).


Batik is alive

After almost two years of silence, Apache Batik has released version 1.7 beta 1. Depicter uses Batik internally, and one of the changes that seems interesting is the updated PDF transcoder (which we hope to use to export diagrams to PDF; we're still playing with it). SVG-based graphing calculator is a nice graphing calculator that uses the browser's native SVG (in Firefox and Opera) or VML (in IE) to display function graphs. FooPlot can save to EPS, PDF, PNG, or SVG (though it seems to generate a broken SVG 1.1 DTD, which stops Squiggle in its tracks; Inkscape continues past the error). A nice touch is that you can embed the function to be graphed directly in the URL (^2+2*x+1).

There is another SVG-based graphing calculator, but it's a Firefox extension (which may or may not be more convenient, depending on your location and browser of choice).

RaveGrid raster to vector image conversion

The LANL Tech Transfer Division has released RaveGrid, an image vectorization and segmentation application. A free version is available (a quick 2.1M download), which is supposedly more limited than the non-commercial and commercial licenses (though I wasn't able to determine what those limitations were). As far as performance,

On a Pentium 2.13 GHz M processor with 2 GB RAM, this version vectorizes images at an average rate of 0.55 mega pixels per second.

The free alternatives are, of course, potrace and autotrace (and see this comparison).

Open jACOB Draw2D

Andreas Herz has added diagramming features (connectors, ports, tool selection) on top of Walter Zorn's famous DHTML graphics library to create Open jACOB Draw2D. There are several interactive demos that let you create simple diagrams. There is also javadoc style documentation (though it mostly documents the class hierarchy).

I think a discussion of the underlying wz_jsgraphics library (which currently also uses) is in order. First of all, the good: this approach works in all Javascript-enabled browsers (in particular, Flash is not needed). But wz_jsgraphics is rather inflexible: it's merely a compiler for a few graphics primitives (lines, filled rectangles and XY-alligned ellipses) to an "assembly" language consisting of stacked DIVs. Because the library doesn't keep track of the DIVs associated with each primitive, there's no way to undo a shape (short of clearing the entire drawpad). wz_jsgraphics can also be slow (anything but rectangles and horizontal / vertical lines requiring large number of DIVs). However, these shortcomings aren't fatal for a diagramming application.

Open jACOB is supposed to be a bigger framework, including a server-side part, though at the moment there isn't much to see besides Draw2D. Overall, this is a promising start; hopefully this project will stay active and yield (further) useful results.

Adobe will discontinue the SVG plugin

Adobe will discontinue (end of life) their SVG plugin starting January 1, 2008. This is not so surprising given their new-found interest in Flash after acquiring Macromedia; what is surprising is that they plan to actually remove the plugin from the Adobe download area after 2009 (and no, third parties are not allowed to redistribute it under the current licence).

While Opera and Firefox have native SVG support, Internet Explorer, which still has the dominant market share, has no good alternatives (Mark Finkle's VML-based SVG emulation is only a start). This is sure to spark outrage among application developers (though, to be honest, everyone knows that other than Flash or DHTML, there is no safe way).

Update: Adobe has yielded to pressure and agreed to continue distributing the plugin indefinitely (though there will be no further releases, in particular no Vista version).

CSS triangles

Uselesspickles has come up with a way to draw triangles using only Javascript and CSS borders. It works by adding two adjacent borders (say top and left) to a zero-height div, and making one of the borders transparent. Of course, IE (versions 6 and below) has problems with transparent borders, but this can be hacked around using filters, at the expense of designating a "transparent color" that can't be used in the document.

This technique, of course, creates only right triangles aligned with the x and y axis. But you can cover any triangle (and, by extension, any polygon) with a collection of right triangles.


Subscribe to Depicter: online diagrams, vector graphics RSS