When you think about designing dashboards, colors, contrast, and balance are probably some the first things that come to mind. All these dashboard design elements are related to aesthetics and user interface, making them great examples of designing for form. That, however, is just one half of the dashboard design equation.
Two of our resident dashboard experts, Trip Dixon and Zach Breimayer, took on the challenge of talking about another, lesser known design consideration – designing for function – during the 2018 iDashboards Conference in New Orleans, Louisiana. Here are their tips, tricks, and nuggets of wisdom.
Designing Dashboards for Function: Best Practices
Designing for form is more involved with user interface (UI), while function is all about the user experience (UX). When designing for function, you need to consider how users are going to interact with your dashboards. This will get you thinking about important elements that affect the performance of your dashboard and usability like: navigation, load times, and data location.
Improving the Usability
While the components of usability you should incorporate into your dashboards will vary depending on your use-case, here are a few examples to get you started:
1. Don’t copy old report functionality
Some beginner dashboarders have a hard time letting go of the report design they had become accustomed to before they engaged with iDashboards. This results in dashboards that are simply tabular charts with rows and columns, which is not the most effective way to tell the story of your data. Remember that you aren’t confined to that style of reporting! There are so many dashboard features to take advantage of that can upgrade your end-user’s experience and more effectively show off your key insights.
2. Summarize information with ViFrames
The utility of ViFrames is underrated. You can use them for header summaries, totals for year-to-date or month-to-date, and more. For example, these four charts are just summations of other charts in the full dashboard to give you a quick glance at the data:
3. Drill down to transactional data
Effective dashboards start off with charts that show summary data that uses grouping and filters on the data to give you a nice overview of your key metrics. However, the best dashboards give you the option to dig deeper and drill down into transactional data, which is your lowest-level raw data from a database.
In fact, drilldowns seem to be a fan-favorite feature of this year’s conference attendees. “For me, it gives levels of information. You can see the highest level, but you can also drill down several levels to see the details,” noted Daniel Ramia, Assistant Dean at University of Maryland College Park.
Read next: 5 Down & Dirty Tips for Clean Dashboards
4. Track and display goals
Generally, your goals are not stored in the same database as your performance data. However, if your goals change often, we suggest you keep everything in one place so you don’t have to open up a different platform just to change your goals based on performance data. To measure your actual data against your targets/goals, create a spreadsheet with all of your goal data and combine that with your performance data in a chart in iDashboards.
5. Use images and icons for navigation
Just because you are designing for function, doesn’t mean there aren’t any visuals! Improve the user experience of your dashboard by using images or icons to create filter controls that change based on performance. It will be both aesthetically appealing and functional. This doctors scorecard example enables users to click on the doctor’s pictures to see the details of their performance and workload.
The second component of designing for function is optimizing the performance of your dashboard. Here are just a few ways to make your dashboards run more efficiently:
1. Use parameters over pivots
Parameters and pivots both help you filter your data. Parameters perform much faster because they do all the heavy processing on the database server, while pivots return all of the data to the dashboard server and filter it on the front-end. Because of this stark difference in performance, you should only consider using pivots when you have a specific need for them.
2. Set your picklists on distinct tables
Picklists are pre-defined drop-down lists within an input parameter. They are great for filtering dashboard data based on individual items. These items can come from a dataset that might contain duplicate data. If you run a distinct function on the database server and point your picklist there, the server will only return the distinct data. It would take significantly longer to bring all of the duplicate data to the dashboard server and run your distinct function there.
Principal Sales Engineer Zach Breimayer further emphasized this point by concluding, “Do not run picklists on transactional data, run on distinct selections without any duplicate values, this can be the difference between a dashboard loading in a minute or 3 seconds”
3. Denormalize datasets
Normalized data in a database is data that is stored in multiple tables to optimize storage space. A denormalized dataset can be thought of as all those tables brought into one big table, resulting in data that is easier to read but takes up more storage space. It is often advisable to have a version of your data denormalized, so your dashboard users can easily create new charts from it. This can be accomplished using the Data Hub.
4. Move your data to the iDashboards server
Connect your applications to the iDashboards server and move your data there by using the Data Hub to minimize network-related latency. If the data exists on the iDashboards server, your dashboard will perform faster, plus you will have more options for aggregating and summarizing your data.
5. Create/rebuild indexes
Indexes makes it easier for the database to find information and logically organize it. You’ll want to index on the items you are filtering on to improve performance. When you re-build, you have to automatically do it after your ETL job is set to run to get the dashboard to run quickly.
Stay tuned for more 2018 iDashboards Conference updates! We will feature notes and insights from the “Top 10 Support Questions” session on the blog tomorrow.
Zach Breimayer Principal Sales Engineer @iDashboards
Zach Breimayer focuses on both pre & post sales. As a Technical Consultant with iDashboards, he has worked with many organizations throughout various industries, designing and developing functional and creative solutions to solve business issues and bring valuable insight to his clients.