-
Get a monthly update on best practices for delivering successful software.
Too often in software development projects, we're asked to provide what I would call thoughtless reports. By this I mean a collection of tables and charts that depict and enumerate standard relationships. There's nothing wrong with the reports themselves, mind you -- we know how to present relationships in graphical form. No, the problem is that no one has given much thought to the relationships that are being depicted.
You've probably heard about the finding that in children, shoe sizes and handwriting quality are highly correlated. It would be wrong to conclude, however, that one causes the other. In fact, as children mature, their shoe size increases, as does their cognitive ability and their motor skills. They are all dependent on age. Continue reading »
Topics: data visualization, Robert Fogel, Waaler Surfaces
Theresa Neil over at InsiderRIA has a nice post about 28 data visualization tools. You could google these yourself, but she's actually put together a bunch of screen shots and collected them all in one place.
If we're honest about it, these aren't really "data visualization" tools. They're some decent graphing and charting libraries. Data visualization is more than just pretty pictures. Providing the user with direct manipulations and other interactions is also a key ingredient to making the data understandable to system users. As such, these 28 tools only provide one piece of the puzzle.
Topics: data visualization
We've been building a lot of mapping/GIS data visualization applications over the last few months, mostly using flex with various back end services (ArcGIS, google and yahoo maps, open source mapping frameworks.) One of the more fun little projects was putting together this flex widget for displaying maps and graphical data together on a timeline. It's meant to be distributable so that anyone with a blog can display it. We put it together using presidential election data and national debt, not because we thought the correlation was particularly significant, but because the data was available going back a long time. The widget is pretty flexible; it can go against a local data source or a web service, and we can easily modify it to show different kinds of data. We'll be coming out with a few more of these over the next few months, hopefully with some more 3D maps, drill down on geographic level, as well as more charting and other visualizations. If you'd like to use this one, or have ideas for other data sets and visualizations you'd like to see, let us know.
Topics: blog widgets, data visualization, elections, Flex, flex widgets, graphing, mapping, Widgets
As part of our ongoing development in the air traffic logistics and weather forecasting space, we developed a three-dimensional prototype for tracking flight path data and meteorological readings using Flex, Papervision 3D and PureMVC.
The framework is configured for using multiple APIs for mapping services from Yahoo and Google, as well as receiving live data streams from different sources. A number of custom controls were developed and integrated into the application, including altitude and rotation controls. The application can be re-used for any three dimensional map-based visualization such as weather patterns, demographic, political or economic data.
Topics: 3d mapping, Adobe AIR, AIR, data visualization, mapping, papervision3d
From John Graham-Cumming, an excellent point about pie charts: they fail to convey information as well as bar or line charts. Why? Apparently, people aren't able to perceive changes in area nearly as well as they perceive changes in length. It's easy to see in this example from Wikipedia. Something to consider next time you're designing that executive dashboard.
Related Services: User Experience Design, Flex, Flash and Air, Custom Software Development
Patrick Lynch over at A list apart has just written a great article about the role of aesthetics in web design. In it, he specifically deals with the question of how much of a role visual aesthetic design should play in the design of web sites. To answer the question, he delves into the somewhat controversial notion of visual decision making--the idea that aesthetics can help users in their decision making and aid in general website usability.
The article is written in response to assertions made by one Jakob Nielsson, who, citing numerous eye tracking studies that his team has performed over the years, concludes that any images, or other elements on a web page that are not integral to the site's content or function are routinely ignored, and hence superfluous or even distracting.
But the author says no. Aesthetic elements on websites, while not recognized as helpful in eye tracking studies, do perform a vital role in website usability. Mr. Lynch cites the work of early 20th century Gestalt psychologists that have proven that the brain responds to images in milliseconds. And more recent studies of web sites suggest that users make visual impressions of pages in less than 1/20 of a second--before eye tracking movements begin--and that those impressions more or less stay through the length of the visit.
He goes on from there about why "attractive things work better", describing Don Norman's three levels of human psychological processing (Visceral, Behavioral and Reflective), and why they all work together to create an impression of a product like a website.
Read the full article over here.
We just published a case study on a Hedge Fund Analytics application developed in Flex. It's an extensible Flex based platform for real time analysis of hedge fund performance data, with dynamically updating charts, graphs and sophisticated filters for cumulative performance, return distribution, alpha, beta and correlations, commissions and fees, credit and sector exposure.
The system is designed as a modular platform which can consume data services from multiple sources, and can integrate multiple custom components. Custom components were designed to conform to a standard API. Components expose standard flex component properties and events so that properties and method references could be passed. This allowed individual dashboard applications to be built, fed data and customized at run time. Take a look at a video demo or read the longer case study on the Pathfinder site.
After a long time of searching for the right data visualization framework for Flash Platform, some time ago I've put my money on Flare which is based on a Java framework called Prefuse. I have been very happy with it and haven't looked back until a new framework of same purpose crossed my way - Axiis.
Before anything else said, Axiis is a brand new framework so I have to give it some credit if all the bells and whistles are not there. What intrigued me about it in the first place is that Axiis is heavily relying on Degrafa, a well proven declarative graphics framework that I have a lot of good experience with.
After looking at Axiis examples, here are my first impressions of how it stands against Flare.
Topics: axiis, data visualization, Flare, Flex, Flex, Flash and Air
One of the things I most admire about Ward Cunningham's work is that you can read something like 'Signature Survey' and still find new things to appreciate, even years later.
Ward's original article discussed a method to tackle large code bases (based somewhat on Tufte's ideas on data visualization). To quote the original article, he summarized the process as the iterative application of two steps:
1. Inspection. Browse the report looking for startlingly regular or startlingly irregular structure. Examine the source code associated with each (ir)regularity.
2. Projection. Modify the summarization program (the cgi script that generates the report) so as to represent aspects of the inspected code that seem relevant to the inquiry at hand.
The real lesson I took years ago from 'Signature Survey' is that, when dealing with any sufficiently complex problem, knowing which questions to ask may not be obvious. And rather than approaching each problem with the same set of questions or criteria in mind, it is useful to let the problem itself guide you to the right questions.
All of this should seems obvious right? It is, after all, a simple idea. Still, if you have never done so, I would ask you to really give this idea some thought. Sleep on it. Think about it during your walk back from lunch tomorrow and take your time with it. Toy with the idea and some current problem you are working on. I'm not kidding-- the exercise will be worthwhile in the end, and will continue to pay off.
Topics: agile thinking, data visualization
By this time, I am very happy and impressed with PureMVC. In combination with Flex Code Generator, plumbing downtime is minimal and the more you work on a project, the more you see the benefits.
Out of all visualization frameworks for Flash Platform that I came in contact with, Flare is looking like the most customizable. I also like it's structure. At first I didn't, but now I love the fact that Visualizations are based on Sprites. I find that good for performance and transitions. You have to do a little extra work, but you will be happy with the result. All in all, I'm sold on it for now.
Topics: data visualization, Flare, Flash, Flex, Flex, Flash and Air, PureMVC
In most projects, it’s easy to come up with ideas but more difficult to give weight to their importance since the client (and sometimes the team) think they’re all important. So we move onto establishing a scale (1 = must have; 2 = nice to have, etc.) and then assigning values to each task/idea/feature. Generally some good discussions come out of this exercise in determining exactly what is important in creating a successful project, along with defining exactly what “success” is.
At the IDEA 2008 preconference workshop, Dave Bishop and Paul Gould from MAYA showed us another way to prioritize project tasks: a bullseye diagram. It’s still a ranking system, but done visually rather than numerically. The team first lists out all the project tasks. These are then placed in the bullseye based on where they fall in rank; the critical items are in the center and the less important items moving towards the outer rings. If this is done on a whiteboard with the tasks on Post-it-Notes, then information can be quickly be moved around in relation to new tasks that are added to the bullseye.
Once the tasks are prioritized and in the bullseye, you can organize, arrange and add structure. You can start to see relationships, which may indicate a different priority. You can start to see categories, which may affect iteration planning. You can begin to add structure. The outcome of this exercise is an easily understood diagram showing the project’s priorities. For teams that aren’t comfortable assigning a number to a task, this is a good alternative to try.
Topics: data visualization
As a coder, I go over tremendous amount of information on daily basis. My case is no different than anybody's else living in the world today. Regardless of where we live and how we spend our time we are saturated with all kinds of information, a lot of it that we don't care about and a lot of it that we wish we had fast access to, if at all.
Ironically, computer technology adds to the problem more often than not. All that computational power is often just creating more data that we will never experience because there's just too much of it everywhere and all the time. Traditional techniques of consuming information are becoming too slow and narrow to handle this kind of pace.
We have all heard that a "picture speaks a thousand words". Doesn't that sound like an efficient way to consume information? Now, there are pictures and there are pictures.
There are pictures that strike a cord with you and there are pictures that leave you bland. Which one are you more likely to remember and allot the time of your mind?
Here are some libraries for data visualization in Flex/Flash as well as some artful experiments that I found to be good tools/examples of data visualization.
Continue reading »
Topics: code art, data visualization, Flash, Flex