I'm excited to announce that LinkWex Inc. has purchased a license for the Constellation Framework full source code to enable high impact business solutions for Silicon Valley's large enterprise giants! They were searching for a web-based graphviz framework that supported their feature requirements and had the flexibility to handle all their use cases.
Over the past few weeks, Asterisq implemented a number of demos which show off the capabilities of the Constellation Framework. These apps read sample data provided by LinkWex and demonstrate different ways of interacting with it in a graph visualization. Here's a look at some of the features in the demos.
One of the demos involved visualizing customer support data for a set of products and software to enable support personnel to deliver enhanced service. The Constellation framework visualized complex scenarios of vast amounts of service interaction data with an ability to traverse and identify common paths within the data.
The demo also features custom node and edge renderers. The node renderer has the ability to display a different icon based on the context along with a checkbox to show or hide the node's immediate neighbors. The edge renderers can be customized to display the characteristics of the relationship.
Another demo makes use of a few node filters to show the user exactly what they're looking for. The filters are divided between two panels: one controls general graph filters and the other filters nodes based on specific attributes.
The general graph filters include a tree filter—only nodes within a certain distance from the selected node are displayed. This is just like the behavior of Constellation Roamer.
There are also filters which limit the total number of nodes and the number of neighbors allowed for each node. These limits and the tree depth can all be adjusted using sliders and the visualization is updated immediately.
The attribute filter automatically finds all values for the filtered node attribute and displays a checkbox for each one. By checking or unchecking the box, users can show or hide all nodes with that value.
The number of nodes that have the given attribute value is also displayed in each row. This gives you some idea of how many nodes will be affected when adjusting the filters.
The folks at LinkWex, along with some of their customers, wanted an overview of the graph visualization, much like the navigator panel in Photoshop. This control displays the entire visualization canvas and highlights the currently visible area. The user can click or drag the map to shift to other areas of the image.
One of the datasets used in the demos has nearly 20,000 nodes! While loading text data is still fairly fast, parsing it all can take several seconds. An asynchronous parser was used so the user's machine doesn't freeze up while Flash processes the data.
A pair of progress bars makes the wait easier to bear.
Yet another demo features an XML configuration file, which indicates which classes should be used for graph loading, graph parsing, node and edge rendering, and layout. The Flash movie is compiled with several possible classes and the configuration decides which class to use. You can even set the values of initialization variables.
In the screenshot above, the MultiURLGraphLoader class is being used to load data from two tab-separated text files containing customer data. The data is parsed using CustomerGraphParser which is setup to treat the "theater" and "region" properties as nodes.
The class names and initial values can be updated without the need to recompile, making the resulting app extremely portable.
It's been very exciting working on this project because the folks at LinkWex have really tested the capabilities of Framework and expanded its feature set. Knowing that the Constellation platform will be used by LinkWex's Maestro solution to enable innovative solutions and opportunities with enterprise clients is very exciting! A lot of work has gone into Constellation and LinkWex's choice to deploy in enterprises speaks to the quality and scalability of the product. Constellation is a nice complement to Maestro. Maestro brings data from disparate sources together and Constellation provides a visual representation and interconnections inherent in the data.