Improvise, adapt, overcome! How to increase the adoption and user satisfaction of dashboards
Discover the art of creating user-friendly dashboards that truly resonate with your audience. Drawing from six years of experience with Sisense, this article dives into dashboard design. Learn practical tips on improving dashboard readability, integrating advanced filters, and using dynamic widgets. Whether you're a seasoned designer or just starting, this guide offers invaluable insights to ensure your dashboards are not only functional but also a delight to use.
Let's start at the beginning...
We have been using Sisense for over 6 years now. We started on a Windows deployment and have since migrated to the Linux version of Sisense. In those six years, we have encountered all types of users;
- The Know-It-All Novice
They claim to have extensive knowledge about data but often misinterpret basic concepts. - The Excel Enthusiast
Believes that Excel is the ultimate tool for any data-related task - The Chart Junkie
Loves creating charts and graphs, regardless of their relevance or accuracy - The Privacy Paranoid
They're extremely concerned about data privacy to the point of absurdity. - The Data-Driven Dreamer
Has grand visions of data transforming the world, but lacks practical skills to implement anything. - The Expert Fact-checker
Compares all results with their analysis and submits support tickets on why the results are not the same
Although this is meant as satire, I think we all recognize either ourselves or someone else in these personas. We have at least met them all in the last six years, and every interaction with these users made one thing clear for us: dashboards (and in extension widgets) need to be
- easy to understand
- free of confusion
- clean and concise
- well documented
- simple to use
With the ease of use of Sisense, in terms of creating a dashboard, we should be vigilant not to turn into a Dashboard Diva (Obsessed with creating dashboards for every possible metric, regardless of their importance). Spending time on a dashboard can make us blind to the actual understandability of a dashboard. Things that can be very logical and clear for us (... it is obvious that X, Y, and Z are like this) might be illogical and complex for regular users or even other designers. Our end-users are primarily doctors, nurses, and other types of practitioners. So, not necessarily data power users.
For this reason, we are always looking for ways to improve the 'readability' of a dashboard. It starts with simple questions such as;
- Does every dashboard have a title?
- Does every widget have a concise title and description?
- Is the color usage the same between charts?
- Is there a general description explaining the dashboard (we do it with a video)?
- Are all relevant filters available?
- Do we apply the dashboard pyramid (KPIs on top, tables at the bottom)?
- No more than 9 widgets?
Although these are a good set to start with, it does not always result in a 100% score on readability. This led us to continuously look for improvements in the dashboards and their widgets.
Extending widgets and improving adoption
As mentioned before. We are continuously looking for ways to improve the readability of our dashboards and widgets. On the one hand, we get valuable insights from this community, and on the other hand, we check in regularly with our end-users to validate dashboards, widgets, and assumptions.
Filters
The filters are not intuitive for everyone. Often, users will collapse the filter field, not knowing how to restore it and get lost or frustrated because they cannot filter on their parameters.
We first started out with using Blox to create widgets that look like filters. A good example of this is given by Harik on Blox Filter . It is a easy way (once you know how) to create all kinds of widgets that users can use to filter. The only downside is the customization options and the limitations of Blox. We looked around and stumbled upon the Advanced Filters Plugin by Paldi.
It supports single and multi-select, date-range (with a calendar), filter dependency, easy Excel-like search, and the ability to create filter presets. Our users have been ecstatic about this feature, especially in combination with Filter Bookmarks. Which also makes it possible for designers to create preset filters that end-users can select and use
Widget filters
When we noticed the uptake in dashboard adoption due to easier filter usage, we wanted to further integrate this into the dashboard, especially by applying this to widgets. Again, thanks to Harik, we found scripts that can be applied to widgets to either create filter buttons and dropdowns on a widget level. This works very nicely and gives the end-user the ability to change the insight of a chart. For us, it made it possible to see the average treatment hours per discipline per diagnosis, either for all diagnoses or for a specific one. Without the need to filter all the data in the dashboard.
The downside is that applying code is tedious, especially if you want to apply it to multiple widgets. Plus, not every designer feels comfortable doing this (and also, it is prone to error when configuring it)
Fortunately Paldi's Advanced Filter widget does not only allow to create filters on a dashboard level, but also apply it to specific widgets. Now our designers are applying this to almost every dashboard. Simply selecting widgets and setting filters and they are done and ready to go.
Dynamic Widgets
Creating a concise dashboard can be a challenging task, especially when there are a lot of insights that are related to one another. Before you know it, there are 5 similar widgets, each altered a little. To combat this, we have been diving into the ability to change dimensions and measurements in widgets. Similar to the previous example, we did this with Blox or JavaScript. There is a nice community post to create a dimension switcher in Blox (https://community.sisense.com/t5/knowledge/using-blox-to-dynamically-change-a-dimension/ta-p/8701). This one is on a dashboard level and can even be used to change dimensions in multiple widgets ( we use this in one of our product dashboards).
If you are looking for a way to only change it on a widget level, then this post can be of assistance. Eventually, we migrated away from code and are using a plugin called Widget Toolbar, which gives us the ability to, without any code, set per widget(s) the changeable dimensions, measurements, breakdowns, and chart types. Due to the ease of use, our designers are implementing it in almost every dashboard. Here is a link to the plugin
Dynamic Values
There are use-cases where a value is dynamic and cannot really be captured in a database (unless your application has the ability to capture this information). For us it came down to changing ward-capacity and the ability to dynamically calculate products based on current registrations plus additional input (admission days and treatment hours).
We started with a Blox widget that made it possible to let users dynamically input values that can be used in other widgets. A link to the how-to can be found here: https://community.sisense.com/t5/knowledge/input-parameters-using-blox-for-what-if-analysis/ta-p/18374.
Again, it was a code-intensive solution which was not suited for our designers, plus the values that were inputted were not saved when the page was refreshed. So we found our solution in a Paldi Plugin called Input Parameters, which allowed us to easily add a widget with the amount of input parameters we needed within seconds. Afterward, we could easily use placeholders in our formulas and let them do the rest. A very nice addition is that the inputs are persistent (optional). So when a user came back a week later, the same inputs were still there 🙂
To be continued...
I can write and share even more great additions that we have implemented, perhaps this is interesting for a different post, as this one is already becoming quite extensive 🙂
Let me close off by saying the following things:
- If you need another set of eyes to look at your challenge, feel free to reach out. Happy to help
- The power of Sisense i, among other things, is the connectability via JavaScript and APIs. We have created so many extensions, such as creating Word documents on elasticube/Dashboard Datavia Blox. We are happy to share how we are doing this for the interested Sisense-ers.
- Because there are so many scripts available fhich it can be difficult to find them,.I have created a post to aggregate all widget scripts so it will be easy to find.
- Some of the above-mentioned plugins are premium plugins offered by Ravid_PaldiTeam It might not be an option for all, however, they also offer great free plugins that I also recommend:
-
Advanced Jump To Dashboard --> JtD without any scripts/coding
-
Advanced Text Widget --> Similar to Smart Label/Blox but easier.
-
Advanced Tabber --> Widget tabber without any scripts/coding
-
Indicator Card --> Combine the indicator and charts into one
-
Advanced Tooltip --> Add additional information to a chart
-
Folder Organizer --> Organize all folders and dashboards easily
-
Default PDF Options --> Set default PDF options without the need to configure this in every dashboard
-
Share Dashboard View --> Share a dashboard URL with filters. As an OEM, we support a lot of our customers, and this makes it very easy to get their view right away
-
Avoid Over Filtering --> A handy plugin we use for our benchmark dashboards, peer group stays above a certain threshold
-