Hi, I'm Ben. This is my blog. I write about Flex,
Flash, software development, and other miscellany.

Digging into Flare

If you haven’t heard of Flare, go check out the demo right now. I’ll wait.

Pretty cool, eh? Flare is an ActionScript port of Prefuse, a “set of software tools for creating rich interactive data visualizations” written in Java. The development of both Prefuse and Flare were led by Jeff Heer, I believe as part of his Master’s thesis. I have recently begun to investigate Flare as a potential replacement for Flex charts in my current project at work and have been lucky enough to spend the past two weeks simply diving in and learning how to use the library. I needed to determine whether or not, and how easily, we can do everything we hope to on this project. My conclusion is that Flare is extremely powerful and will almost certainly support any kind of visualization we can think up.

That being said, our project is a Flex application, and Flare is simply an ActionScript library. It has a very basic wrapper component (FlareVis) that extends Flex’s Canvas component, which allows basic instantiation and configuration in MXML but the library is not especially Flex-friendly. My plan is to create some wrapper APIs and higher level classes that will make using Flare in Flex much easier. What is even cooler is that our awesome client has expressed their desire for these enhancements to be contributed back to the community so that others may benefit. There is a lot of work to be done but I am really excited to start making progress. For example, Flare doesn’t have specific components like a Bubble Chart, you simply have a base Visualization class that you customize and extend to create what you need. Developing with Flare has reminded me of my old AS2 days because of its dynamic qualities and freedom from the constraints the Flex framework places on you. (Note I am certainly not knocking Flex; its how I make my living and the only kind of serious AS3 work I have ever done.)

Flare works with lower level classes than you normally would in Flex, with Sprite being the core display class. This is undoubtedly one of the reasons you can attain such amazing performance with Flare. During one of my tests I animated 2000 bubbles on a chart with no noticeable slowdown or degradation, which I don’t think would be the case on a Flex chart. In case you are not aware, Sprites are like single frame MovieClips in Flash. They do not have an internal timeline, but they are a direct extension of DisplayObjectContainer, meaning they can contain child objects. They of course also have a graphics property that allows you to use the drawing API to customize their appearance. They are not UIComponents, so you cannot add them directly to containers in Flex, but that is not a big deal. You can add them as a child of a UIComponent instance, and then add the UIComponent to a container like usual.

That is probably enough introduction and rambling for now, but you can expect a steady stream of posts from me about various aspects of Flare, further experiments and progress on the wrapper APIs. For more frequent and less formal updates, you should follow me on Twitter here.

Google Group for Flare

I have created a Google Group for the Flare data visualization library. Flare is currently hosted on SourceForge and their forums are terrible. I have started (and will continue for some time) working with Flare pretty extensively, so rather than suffer in silence (something I may in fact be incapable of doing) I decided to create a group somewhere better. Hopefully this better platform will help boost the level of discussion, because it is currently pretty low. If you know current or potential Flare developers, or are one yourself, please help spread the word and join the discussion.

I will soon be starting a series of posts about Flare, so if the library interests you be sure to check back soon.

Flash Camp in the ATL

Flash Camp Atlanta 2009 is happening August 28 at the Georgia World Congress Center. Whether you are just getting into the Flash Platform or you’re a veteran looking for some fresh inspiration, Flash Camp will be a great one-day event with a great speaker lineup.

Greg Wilson of Adobe is the keynote speaker, and the rest of the day looks to be filled with quality content as well. Douglas Knudsen, Ben Stucki, Christian Saylor, Jesse Warden, David Tucker, Carl Smith and Leif Wells are all on the roster. The day’s theme is “Enabling the Convergence of Art & Science With The Flash Platform.”

The price is just $54.95 per person, or $34.99 per person for groups of 3 or more. When you consider the fact that most 3 day conferences cost $500 minimum, the price for Flash Camp is an amazing deal. I unfortunately can’t make it to the event, but I hope to make it to a Flash Camp in the very near future.

Disclaimer: I’m employed by Universal Mind, an elite group of technologists who excel at solving the difficult challenges of building and optimizing rich internet applications, and also the primary sponsor of Flash Camp Atlanta 2009.