With the Q2 2011 release the Data Visualization team at Telerik released a beta version of two new controls: RadPivotMap and RadTreeMap. These two controls represent Telerik’s offering for treemap type visualizations. Probably the first question that comes to mind is why have we shipped two separate controls for what seems to be the job for one? This question is what this blog post is about. Keep reading.
When we started our work on Telerik’s tree mapping product we took a step back and researched how these kinds of visualizations are used. We did an extensive research on what kinds of data people visualize using treemaps. The results from our investigation turned out to be really interesting.
A large portion of treemaps we could find on the web are using your typical run-of-the-mill hierarchical data. That is you have real nesting between your data objects. On the other hand, there is a significant portion of people who are grouping flat data and displaying the grouped hierarchy using a treemap. We determined that both groups are significant enough for us to provide support for them out of the box.
So we decided we should support both flat and hierarchical data sources in our new product and moved on to the design of our API. It is here that we hit a serious roadblock. We couldn’t produce a good API design which would handle these different types of data in a single control – the requirements and the implementation details were simply too different.
Certainly an option we had back then was to pick one of the two. If we picked the hierarchical version of the API then we would have to ask our customers who want to work with flat data to group their data manually beforehand and prepare it carefully for consumption by the control. This, however, goes against one of the core ideologies of the RAD controls (facilitating actual rapid application development). On the other hand, if we picked the flat data version, then we would ship a product which was incapable of fulfilling the needs of a huge portion of our customers which was also a no-go.
With the above options out of the way the only path forwards was to build these two controls and so we did:
RadTreeMap – when you need to visualize a truly hierarchical set of data.
RadPivotMap – when you need to group your tables to derive a hierarchical view of our data.
The rest is history. Let us know how you like these two new additions to the growing number of data visualization tools Telerik is offering. It is beta time and this is the best time for you to voice your feedback!
Vladimir Milev is a developer manager.