For a while now I’ve been building dashboard objects for some specific projects in the HTML5/jQuery framework – Kendo UI. Coming from an Xcelsius/Crystal Reports/SSRS development background, this has been a major change of approach for me with everything being accomplished purely in code.
In my experience to engage users, dashboards need to be meaningful – presenting the right data to the right audience, and well formatted – using a clean and uncluttered layout and a tasteful colour palette. They also need to be responsive – loading quickly and reacting to user input without any drama.
In this article I’ve written about a problem I came across while working on a customer project, and a slightly different way to go about resolving it.
The brief for one of our projects was to create a dashboard that could display different time ranges based on a user selection. A very common request, and one we accomplished in Kendo by defining values in a user input and passing them back via our REST service to SQL stored procedures as a parameter to change our date range.
The problem with this approach appears with any trend metric, where Kendo will default to a category axis label for each and every grouping. Fine if you have a sensible number of data points, but if you’re switching from a dashboard displaying a weeks-worth of data to one displaying a year, the effect on a trend chart is something like this…