After working through the steps involved in “Setting Up Axiis for Security Visualization,” I became interested in taking a look at Prefuse Flare. Flare is a visualization toolkit written for Flash in ActionScript. It is a creation of the UC Berkeley Visualization Lab. Sasha Dzeletovic, a person who has worked with Flare, has done a very nice post comparing the two, “Flare vs. Axiis.” Both Tom Gonzalez, one of the co-founders of Axiis, and Sasha seem to agree that one big difference between Flare and Axiis is that, to quote Tom, “Axiis allows you to describe complex layout algorithms in markup in a more concise, and I like to think, intuitive manner.”
The Flare tutorial provides some useful links to resources intended to help with ActionScript 3:
-
Adobe provides an Overview of AS3, with links to additional resources.
-
Essential ActionScript 3 by Colin Moock from O'Reilly publishing is a great book to help you get started. You can access it online here (some institutions, such as universities, provide access for free).
-
The Adobe Flex API Reference is invaluable for understanding the different classes and methods available. We will be focused only on the classes in the
flash.*packages.
Installation is very similar to Axiis. Install Flex SDK and/or Adobe Flex Builder. Installing Flex Builder is straight forward, but regrettably development for Adobe Flex Builder for Linux has been put on hold. We will be using Flex SDK. We will want Apache Ant. Flare is package with a build.xml file, so all we need to do is change the first few lines to point to out Flex SDK installation, and we are ready to use ant to compile the libraries.
While I could duplicate the steps for installing Flex SDK and Apache ant, it is simpler to point to “Setting Up Axiis for Security Visualization.” Once you complete those steps, you are ready to install Flare. Continuing from my previous post, let us make sure the required software is installed and our environmental variables are properly set:
root# declare -x JAVA_HOME="/usr/java/latest"
root# declare -x PATH="${JAVA_HOME}/bin:${PATH}"
root# java -version
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Server VM (build 11.3-b02, mixed mode)
root# declare -x ANT_HOME="/work/software/ant"
# ant -v
Apache Ant version 1.7.1 compiled on June 27 2008
Buildfile: build.xml does not exist!
Build failed
root# declare -x PATH="${PATH}:${ANT_HOME}/bin"
root# export PATH=/work/software/flex/bin:${PATH}
root# mxmlc --version
Version 3.3.0 build 4852
|
At this point, we are interested in downloading the Flare file and unzipping it.
root# cd /work/software /work/software root# mkdir flare /work/software root# cd flare /work/software/flare root# wget http://flare.prefuse.org/download /work/software/flare root# unzip prefuse.flare-alpha-20090124.zip /work/software/flare root# vi build.xml |
Now we need to modify the first few lines of the build.xml file that is part of the Flare zipped file. We will want to adjust FLEX_HOME, asdoc.
<?xml version="1.0" encoding="utf-8"?>
<project name="flare" default="usage" basedir=".">
<!-- ================================================ -->
<!-- Import Flex Ant Tasks, Set Flex Home and asdoc -->
<!-- ================================================ -->
<property name="LOCALE" value="en_US"/>
<property name="FLEX_HOME" value="/work/software/flex/"/>
<property name="asdoc" value="${FLEX_HOME}bin/asdoc"/>
|
At this point, build all Flare targets with ant.
/work/software/flare root# ant all /work/software/flare root# ls build DependencyGraph.swf flare.swc JobVoyager.swf flare.demos.swf flare.tests.swf PackageMap.swf |
You can now use your favorite browser to open file /work/software/flare/build/flare.demos.swf. The program will call the other Flash executables.
The Flare tutorial provides a great starting point in working with Flare. The post “Flex and Flare Installation (K)Ubuntu 8.10” will take you through building some of the examples from the tutorial.
Check out the different examples and start experimenting. Two other projects that caught my attention and might be of interest:
- JuiceKit, which is for building graphically rich and interactive information displays. JuiceKit is particularly interesting because it is based on Flare.
- BirdEye, which states “the actionscript-based library enables users to create multi-dimensional data visualization interfaces for the analysis and presentation of information.” BirdEye caught my attention because it was listed in the article “Visualizing Relational Data Using Graph Theory” by Jason Bellone and Daniel Lang.
With Axiis and Prefuse Flare, you have some powerful tools to start visualizing your security data.
If you are interested on Flash development on Linux, you can find a detailed tutorial here:
http://netpatia.blogspot.com/2009/09/flash-development-on-linux.html