US Trade Deficit Visualized

Author: Thomas Gonzalez

Adobe just released my Data Visualization and Dashboard Presentation from 360 Flex in San Jose.  You can see it here on my new blog:


My Blog Has Moved

Author: Thomas Gonzalez

Well all, the time has come to move over to a blog tool that provides a little more customization, aka: Word Press.  I am sure these are not the words Google/Blogger want to hear, but alas it is so.  I have been very happy with my Blogger experience, but I need more control over my templates and the domain in general to provide a more unique blogging experience for myself and the few of you out there who actually read this stuff.

So without further ado:

I will see you there.

- Tom

p.s. I have moved all the posts and comments from this blog over to the new one.


iTunes Genius, Tricky like a Fox

Author: Thomas Gonzalez

Well, thus far the iTunes "Genius" has quickly allowed me to fill some gaps in my music collection by finding some obscure tracks that I did not know existed without me having to lift a finger.   It was a win-win for me and Apple, I got to listen to some new cool music, and Apple got to take even more of my $$$.

But alas, the Genius ain't so smart.  On three separate occasions I have now purchased tracks that the Genius said I was missing, only to realize I actually owned the song.  It is a little hard to keep track of the thousands of songs I own in my head, and I have mistakenly trusted the Genius when it says I am missing those tracks.

The biggest benefit I see to Genius is that it is a time-saver and reduces the friction for me to find music that interests me and at the same time reduces the friction between my bank account and Apples ;).  But, if I have to go validate each Genius recommendation by doing a manual search (on the same song title) each time, it completely undermines the benefit and REALLY makes it for an annoying experience.  

Now I am stuck in the unenviable position of having to go figure out where I purchased music I already own and then struggle with the abysmal "refund"  UX in iTunes to get my money back.   So far, I have purchased about $30 of music via iTunes Genius, of which about $10 was music I already owned.  The cost for me to get my $10 back will easily be $100 of my time.   So not only did Apple abscond with my $10, they make the friction to get it back very high.

Way to go Apple, excellent customer experience.


360 Flex Feedback - Thanks Community

Author: Thomas Gonzalez

I just got feedback from my 360 Flex session, and I must say it was very pleased to see how many people found the session valuable.  It is always very hard when preparing to present technical information to guess what people already know and what they want to learn.

I spent quite a bit of time polishing code and generating some new stuff that I could share with the community, and the reality is that if this were a billable engagement (the work required to prepare for my preso) it would have been a good size project.  So I was very gratified to see such positive feedback from the community.

I have not done a lot of public speaking, and as such it is something I am trying to learn how to enjoy more and become more effective at.  One of the real challenges I find is how to be engaging and dynamic when discussing detailed technical information.  I tend to be more about "here are the facts" and less about "here I am to entertain you."  I think there is a happy medium somewhere in the middle that a speaker finds over time, this is something I am striving for.

I look forward to MAX, and even more so the next 360 Flex to have an opportunity to create even more engaging and valuable presentations that I can share with the community.


A Few Processing Sketches

Author: Thomas Gonzalez

Here are a couple of sketches I was playing with today that were derivatives of the Fireworks subsystem (okay lets be honest, the subsystem is less than 100 lines of code)


Which Data Visualization works Best?

Author: Thomas Gonzalez

1) Heat Index Grid (click for full view)

2) Micro Histogram  (click for interactive version)

3) Punch Card Grid

Recently I was asked by Universal Mind if I would be interested in consulting for them on the User Experience and Data Visualization aspects of their ground-breaking geo-spatial product SpatialKey. I felt it was a great compliment and privilege to have such a well recognized and respected company in the RIA world ask for my input, and I was excited by the prospect of working with such people as Mike Connor (VP Business Development), Tom Link (CTO) and Doug McCune (Flex Rockstar) and the many other talented people at UM. 

Whiile many of you in the Flex community probably have already heard about SpatialKey, for those of you who have not, definitely go check out their technology preview. Basically, SpatialKey represents some really innovative work on showing high volume data sets as they relate to geo-coded data with visual interpolation techniques that far eclipse the standard pin-based metaphor found on most geo-spatial visualization tools.

In that vein one of the tactical areas I was asked to look at is the effectiveness of certain types of visualizations for specific types of analysis. One of those areas was trying to plot crime incident data data by hour and day of week for a given 7 day period. From this discussion we came up with three alternative ways to visualize this data... one existed currrently within the system, one I created based on the visualization problem as i saw it, and one was found by surfing the web. One of the challenges in doing Data Viz work, is the more work you do in the field the more unique visualizations you create the stronger your preference for certain visual patterns becomes, thus creating a bias in what seems most effective for you.

While I believe I have scientific reasons to explain why I think one of the visualizations above is more effective than others, it comes down to what casual users find most intuitive. To that end, I would be greatly appreciative for any readers to vote on the visualization they feel is most compelling to solve the analysis problem of spotting trends and subtle differences in numeric counts (arrests) as plotted hour-by-hour for a seven day period. While we are interviewing real users in the SpatialKey target market, getting feedback from the Flex community is just as valuable. Just use the comments section to vote for 1 (heat index grid), 2 (micro histogram), or 3 (punch card). (Pics 1 & 2 show the same data, Pic 3 is a different data set, which I realize make the comparison a little harder, but hopefully still valid.)


Processing - A Fireworks Show

Author: Thomas Gonzalez

This is my first attempt at creating something in Processing which I started to work with a few days ago.  Originally my goal was to create a fireworks show that resembled what I saw this 4th of July on the Mall in Washington DC, with my wife, two boys, and my sisters family.  I had fond memories of that trip and was hoping to re-create it in some artwork.  I am not sure this qualifies as artwork, but when my three year old came into my office, saw this running and instantly exclaimed "Fireworks Daddy!  Auntie Kim!" I knew I had reached a modicum of success.

With Processing you can very rapidly iterate and experiment with sketches, this version is about my 5th iteration, after experimenting with some Handel (Classical) I settled on Radiohead (my favorite band.)  Each iteration had its own unique appeal, and some things happened quite by accident.  For instance the circles that form and shoot off were a result of tweaking one number by .01.  I continue to be impressed with the power of processing, and I will probably see if something similar can be done in Flash.   

I am also using this work to serve as partial inspiration for what I am doing within Degrafa and with the Flash Player.

You will need the java runtime installed and the appropriate security permissions to view this, also please be patient when it launches as it is loading up a 4mb song.    Click here to view.


Chart Slicer Component Released

Author: Thomas Gonzalez

Today I am releasing a chart slicer component that behaves like the one seen on Google Finance.

I had several requests for the source code for my Google Finance sample, but regretfully the code is embarrassingly sloppy, and I am not sure when I will be getting back to cleaning it up.  One of the components within that example is this chart slicer control, which I have now created a simple example for, with source code included.

This control can target any Flex cartesian chart, although I have only tested it with a few, so I am sure people will find edge cases (or perhaps not so edge cases) that break the component.   It is easy enough to change the display in the control from an area chart to any of the MicroCharts included with a little customization.

This component has a liberal use of Degrafa to make all the magic work, from custom skins on the sliders, to the microcharts used to represent the data, to the tick marks within the slider track the reference the positioning of the items in the target chart.  You will also notice some extra logic that has the sliders snap into alignment with the actual item renderers of the target chart.   With larger data sets this is less noticeable, but with small ones it is very effective.   

Many thanks to Doug McCune for his HSlider control, and the efforts put forth by Brandon Meutzner.

You can see the example and download the code here.   As usual all code is released under an MIT license.