11 - 03 - 2004


Getting serious about design in open source (and SVG!)

I took a barely affordable detour tonight and crafted a good start at an XBL implementation of JJG's visual vocabulary for Mozilla in SVG.

Here's a screenshot of the supported types so far: page, pagestack, file, filestack:
SVG Rendering of Page, PageStack,File, and Filestack.

 This effort was kickstarted by a call for using the visual vocabulary to spec workflows during design.  I've also been itching to return to SVG given the new top level commitment to it at Mozilla.org.  I had been using Moz SVG extensively back in 2002 but switched to Flash for visualizations when it seemed mozsvg would never reach maturity.  I'm happy to say that conclusion was wrong!

The code, demoable in an svg build of Mozilla here (src, MPL'ed). Here's what the xhtml looks like:
 <svg:file size="20" top="20" left="350" />
 <svg:file size="50" top="60" left="350" />
 <svg:file size="100" top="140" left="350" />


Take a look at the XBL which generates file and filestack.  The transform protocol is largely undocumented, I figured it out from other source code and left a few notes behind. 
Transforms are used to scale and position the elements, and the file XBL is re-used to create filestack.

At the Hypertext conference this fall, a serious compsci guy said "there's no way to get separate scopes for js code in Mozilla" -- not true, XBL does that.  Even better, we can now use standard DOM operations like createElement("pagestack").  The prospect of building connectors is a bit more daunting.  I'm imagining this as follows:

 <link from="someID" to="someOtherId" type="oneWay">

Things will get interesting in implementing areas, for secure/iterative/conditional.  The DOM/CSS approach will allow a bounding element to easily size itself to the contents.  In the end, one might edit a flow diagram in straight XML or in a graphic editor.  Inserting labels into the elements will also be a nice challenge -- if all else fails, the computedStyle can be accessed to see if the boundaries of the container are being exceeded.

The point is that open source needs to own it's design tools in the same way it owns the development toolset.
|||
Posted at 21:53, Published in: Mozilla Code UI

Navigate:

<< Googlebar 0.8
Welcome back, welcome back, welcome back>>


Surf*Mind*Web

Deepen
Browse



search collections


Best of the Blog

08/00 Customization Drawbacks
12/00 Fish-eye Craigslist (IE)
07/01 Smart webserver log analysis
03/03 Junkie: Adaptive Freshness
04/03 Cascading Fish-eye Menus
05/03 Browser Maps (dhtml)
01/03 GOMS in Bugzilla.mozilla?
10/03 CSS Link Markers
01/04 Blog Mountain
03/04 Personal Web Information Manager
04/04 Mousing Behavior in Windows
06/04 DHTML Multi-Select Widget

More Andyed Weblogs:

Cold Fusion Blog: experiences as an instructor & developer.

Clemson Human Factors: master's program notes.

Andyed's Mozilla Projects
aka "chromeantics"

Mozwho: personal adaptive homepage and bookmark/history API for Mozilla.

Optimoz Gestures Back and Forward with a wrist flick or mouse rocker

GoogleBar for Moz