Be Like Apple - Notify Your Users

Be Like Apple - Notify Your Users

In their 2007 paper Scented Widgets, Wesley Willett, Jeffrey Heer, and Maneesh Agrawala wrote: “The success of an interactive visualization depends not only on the visual encodings, but also on the mechanisms for navigating the visualized information space. These navigational mechanisms can take many forms, including panning and zooming, text queries, and dynamic query widgets. However, effective navigation relies on more than input techniques alone; appropriate visual navigation cues can aid users by guiding and refining their exploration.”  Wesley, Heer, and Agrawal went on to refer to this as “visual scent”. 

As dashboard designers and developers, it is key that we not only provide methods of navigation within a dashboard, but we must also provide visual cues to our users.  We may do this with color, such as turning a mark red when it is outside of a target.  We might also do this with bold text or different shapes.  Apple, however, has seemed to hit the mark with the way in which they notify their iPhone/iPad users.  Apple simply reveals a small number in a red bubble next to an app when there is a notification related to that app.  Without hesitation, every person reading this blog posts knows that the following shows one unread text message, six unread emails, and one missed call.  So why not do the exact same thing in our dashboards?

This concept came up when I was building a dashboard at work where one portion of the dashboard was related to “exceptions”.  These exceptions were issues with accounts that needed to be addressed relatively quickly.  The problem was that 90% of the time, there were no exceptions.  Because of this, I did not want to add a sheet to the main table because it would be blank 90% of the time, so I opted for a secondary dashboard using a dashboard button.  As I began to develop this, I became concerned.  When a user clicked on that button to look at exceptions, most likely that secondary dashboard would be blank.  That user clicked on it again the next day and zip, nada, nothing.  In fact, nine out of every ten times a user clicked that button, that dashboard would be blank.  When something provides no value nine of ten times, our users are then conditioned to stop doing it!  Due to the nature of exceptions in our business, this is something that we could not afford to do.

So, I decided to provide visual cues to tell the user WHEN they needed to click on the button and to do so, I straight-up copied Apple’s technique.  

At the top / right of the dashboard, something should be quite obvious.  The red bubble alerts you to something. 

What do you think it is?  Most people I’ve asked immediately say “there are seven exceptions”.  If that’s what you answered, you’d be dead wrong!!!  Just kidding, that’s exactly what it means.

So how do we build this in Tableau?  Well, it’s very simple.  Let’s assume you have already built your main dashboard (in this case the Sales Overview) and you’ve build a secondary sheet that will be displayed when clicking the button (in my case, I just wanted to show a list of the exceptions in a table format). 

Next, we must build a mechanism for them to “get to the data”.  If you are using Tableau version 2019.2 or later, I would strongly recommend using a collapsible container for this.  If you are using a version prior to this, you may have to use another method such as a duplicate dashboard and dashboard button (see my blog post from last year on how to do this). 

First, it is key to understand how to build a collapsible container.  For this, please refer to my recent blog post Cases for Collapsible ContainersThe top portion (before the actual use cases) explains how to build collapsible containers.  Once you have read these instructions, you should have a good grasp on how to use collapsible containers.  So let's put that to practice.  Create a collapsible container with Item Shown and Item Hidden buttons (you can create them in PowerPoint) then tile your sheet, text, (or whatever information you want to display) within that floating/collapsible container.  

Now you'll need to create the “warning bubble”.  On a new sheet, you will need to create a calculation that counts whatever it is you’re measuring.  In my case, I simply counted the exceptions.  Place that “count” onto label, change the mark type to a circle, and change the circle to red.  Format the label font to be white and fairly small (7 or 8 font size should work).  Then change the view to Entire View (to help it size properly when you are adding it to the dashboard).  One key is that you add a filter calculation with the intention of showing if there is a value and not showing if there isn’t a value.  In my case, I created a calculation that resulted in either EXCEPTION or NO EXCEPTION and I excluded the NO EXCEPTIONS.  That way, when there were no exceptions, the bubble would disappear. 

From here, simply float the red bubble to the corner of the open/close container buttons you just added.  As your count changes, the count in the bubble will change.  Again, it is very important that you add the aforementioned filter so that the bubble disappears if there is no count.  Remember before, your user would go to that page and see nothing nine out of ten times and ultimately they stop going to that page?  Well now, you are telling your user whether something requires their attention or not and all it requires from them is a simple, quick glance.  This amounts to a huge time savings for everyone.

Below is a little gif on what this looks like when complete:

I am lucky enough that one of the work dashboards where I used this technique is a modified version of the Complaints Dashboard shown in the Big Book of Dashboards.  Below is a screenshot showing a warning when action is needed.

As a side note, when using this technique with a table, I love to provide my users with a bit of extra functionality by allowing them to download the information into Excel.  Simply tile an image of an "Excel Download" (search for Excel Download Image and you'll get hundreds of results) then follow the incredible method laid out by Andy Kriebel in the blog post he calls The Greatest Tableau Tip Ever.  (I might have to agree with him).  

And that’s a wrap!  It’s a simple technique that your users will immediately understand, it will ensure that issues are addressed when they need to be addressed, and will save a ton of time.  

I should also note that I wrote this blog post back in September, but other things became priority and I never posted it.  Then on November 20, IronViz finalist and total data rockstar, Lindsey Poulter, tweeted about something very similar.  She uses a very similar technique with a few variations that are very slick.  Check it out here.  

Thanks for reading and as always, please feel free to reach out to me at any time with questions and comments. 

Kevin Flerlage, November 20, 2019 | Twitter | LinkedIn | Tableau Public


  1. Fantastic Kevin!!! I will definitely think about using this technique whenever possible here! Thanks again for always sharing amazing tips!


Powered by Blogger.