Email This Page
Print This Page

Privacy Policy | Disclaimers
Site Map

© 2007 Panopticon Software.
All rights reserved.

VIS-À-VIS BLOG

Wednesday, August 6, 2008

 

Visualization Plug-Ins in Panopticon Developer SDK v5.1

Our customers have been very excited about the new Visualization Plug-In functions we’ve implemented in our SDK. I want to clarify the key concepts on how the Plug-Ins work as well as how you can use 3rd party visualizations (like Chart FX) with our SDK.

Beginning with Panopticon Developer 5.0 (yes, that’s 5.0, not 5.1), the SDK has a plug-in mechanism for visualizations. This is what it looks like:


We offer four different visualization plug-ins in the SDK — Treemaps, Horizon Graphs, Barseries, and Stack Graphs. (Sometimes we refer to them simply as “visualizations”.) You can think of these visualizations all having the same nice rounded peg that allow them to slot into a matching hole in the SDK Framework. The shape of this peg is dictated by the corresponding hole in the Framework component. (In actual practice, this is specified by our visualization API.)

It’s important to understand that the SDK Framework itself doesn’t know anything about how to present data. It handles almost everything else — OLAP functionality, real-time data, filtering, and so on — but without a visualization plug-in you cannot actually see anything. Therefore, you must select a visualization and plug it into the Framework, like so:


This gives the Framework the “missing piece” it needs in order to take the processed data and turn it into a picture. The visualization plug-in — in this case our Treemap — only contains logic, so it’s like slotting that special knowledge about Treemaps into the framework.

Here’s another key concept: The Treemap visualization plug-in contains all logic needed to determine the size and position of the boxes in a Treemap that gets displayed on the screen. Think about what our four out-of-the-box visualizations have in common and what things are different; you should be able to get an idea about what logic goes into the Framework box and what needs to be in the Treemap box.


What’s new in Panopticon Developer 5.1?

Everything said in the previous section applies both to both 5.0 and 5.1 of our .NET SDK. The plug-in architecture has not changed in 5.1, so the shape of the visualization “peg” is still the same. However, in 5.1, we also added this to both the .NET and the Java editions of the SDK:


We’ve bundled in a new example visualization plug-in that is actually a set of text documents. It is comprised of a bunch of C# source code file in the .NET edition (and Java source code in the Java edition of the SDK) along with a tutorial document in HTML.

This is really a major revolution for the SDK. What a developer can now do with 5.1 is compile the example code (using Microsoft Visual Studio in the .NET edition or Eclipse in the Java edition), and the result will be this:

The example source code files contain all the information needed to create a visualization plug-in, plus it’s completely open. The tutorial document has thorough step-by-step instructions that we’ve tried to keep as generic as possible. A good developer can follow them regardless of what kind of visualization he or she wants to create, whether it’s a pie chart, a line graph, a spark line, a bullet graph, or scatter plot. With this new function, developers can add any sort of visualization they like to their implementations, including proprietary visualizations that they may have created themselves!

The compiled plug-in is a proper SDK visualization plug-in, so you use it exactly as you would use the Treemap or any of the other three standard visualizations available for the SDK. All the SDK Framework cares about is the shape of the “peg”, and the example code shows you how to create a “peg” that fits into the Framework.

Stefan Odelfalk
Senior Consultant and SDK Architect
Panopticon Software AB

Comments: Post a Comment



Links to this post:

Create a Link



<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]