Bridges to Prosperity, Design Process & a Cool Little Trick (Guest Post)

The following is a guest blog post from Samo Drole.  Samo is a Product Designer at Splunk with a keen interest in data visualization. Samo previously designed internal tools for Uber and Coinbase and co-ran blockchain explorer at Samo is known for his incredible eye for design, which won him the Tableau Wannabe Best Designer award at TC20.  Samo lives in the San Francisco Bay area and can be contacted on Twitter @SamoDrole.

For me, Makeover Monday week 4 / 2020 started a bit earlier than usual. It was Friday and the San Francisco Bay Area Tableau User Group was being hosted by Eva Murray.  This meant we were going to see the data two days early…and more importantly, I was going to meet Eva in person!  I was quite excited to say the least. 

At the event, it was announced that MakeoverMonday would be collaborating with Bridges to Prosperity (B2P), which envisions a world where poverty caused by rural isolation no longer exists. B2P works with isolated communities to create access to essential healthcare, education, and economic opportunities by building footbridges over impassable rivers.


Typically, the Makeover Monday projects come with an already published article and chart, but this would be a bit different. B2P provided us with a short overview regarding their vision and then introduced us to the data.

I explored the data set and imagined numerous stories that could be told through a visualization, but for this one, I wanted to take more of a standard dashboard approach. The idea was to have 30,000 feet view of the impact B2P projects have made with the ability to drill down into a single country for more detailed information. I wanted to allow users to focus in on the areas that mattered most to them. 

When building visualizations, I typically make some sketches; this time was no different.  I didn’t spend a lot of time drawing, but wanted to quickly see how my idea might look on paper.  I didn’t think through every detail, as I was happy with the sketches and anxious to move onto Tableau as soon as possible.  Unfortunately, that decision cost me quite some time later in the process when I decided to modify the layout (lesson never learned).

With a couple of sketches complete, the next step was to test and validate some drill-down functionality that I wanted to employ within the dashboard. I jumped right into Tableau and created two dashboards.  The first dashboard contained a choropleth world map showing data for numerous countries, one of which was Bolivia.  The second dashboard showed a zoomed in view of Bolivia only (with additional data points).  The idea was that a user could click on any country in world map (first dashboard) then be taken to a second the second dashboard containing details specific to that country. 

Unfortunately, I had some issues making this happen.  After spending an hour or two thinking, experimenting, dancing, and googling I gave up and pinged Kevin Flerlage for help. Apparently, I had caught him right before leaving work, but you could tell that it was on his mind.  Over the next 20 minutes, I received numerous text messages from him with ideas (he has confirmed that all of these were hands-free, voice texts).  Shortly after he arrived home, he came back with a solution, the one that was implemented within the viz.  I will explain this a bit later. 


With a proof of concept in place and the initial challenges under control, I started designing the main, overview dashboard. Originally, the idea was to visualize ALL the countries where B2P has built bridges, but I opted to trim the focus to just a few countries.  The three countries were Bolivia, Uganda, and Rwanda, which happen to be the most important countries to the organization currently.  

I first built the world map with these three countries highlighted.  This would be the focus of the visualization. I wanted it to be to have a minimalist feel due to the nature of the data.  I leveraged Mapbox to control every aspect of my map design. Once I was happy with the map style, I connected it to my project within Tableau.

Next, I started filling the sidebar with the additional charts and context. In most cases, I usually create one chart using default colors, minimal styling, and no background color as a starting point. I then position this chart onto the view to see how it feels within the dashboard.  From there, I start applying more styling if needed. I employed the same technique with this dashboard as I built out the charts and figures in the side panel.

Once I was satisfied with the design of the main dashboard, I began building the secondary dashboards, the ones that would focus on a single country; we will talk about Bolivia for this example.  To start, I duplicated my first dashboard so that it would be nearly identical.  I zoomed into the country of Bolivia and rather than a choropleth map, I plotted actual bridge data points related to the country. 

While developing this secondary dashboard, I realized that I needed to include details specific to the bridges in Bolivia.  The main dashboard was not this granular and since I used it as a template, I really didn’t have the space I needed.  I felt that this data was too important to ignore, so I needed to find a way to include it.  I opted to implement some hide/show container functionality. This gave me the additional space I needed and also allowed users to minimize if they chose to.

With the larger aspects of the visualization taking shape, I began spending more time on details like colors and typography. Typically, my process with colors involves a long process of hunting for an ideal color palette and small refinements every five minutes. However, B2P had shared a brand guide that made my color decisions simple. I thought their dark blue color worked well as a sidebar background and meshed well with other brand colors that I used in charts. 

For typography, I wanted to use something a bit different, but was limited due to many fonts not being web-safe.  I opted to use the Tableau series of fonts, which worked out quite nicely. 

Drill-Down Magic

As I previously mentioned, the key to making this viz work was giving the user the ability to drill-down into a specific country once selected on the map.  This is when Kevin saved the day. His solutions was a bit hacky, but it worked quite well.  He suggested that I name the secondary dashboard with the exact name of the country.  Next, he suggested that I publish the viz then implement a URL action where I would feed the country name from the data set into the URL. 

Okay, so here’s how it worked.  I had my main dashboard with three countries: Bolivia, Uganda, and Rwanda.  I named the secondary dashboards associated with each of these countries as the country name itself.  For example, the dashboard containing Bolivia data was simply called Bolivia.  Uganda was called Uganda and Rwanda was called Rwanda. 

Next, I published the viz to Tableau Public (hidden) even though it was unfinished.  I went to the Bolivia dashboard and copied the URL.  I did the same with Uganda and Rwanda.  All of these are shown below.

You’ll see that all of these URLs are identical with exception of the country name. 

Now, on the main dashboard, I went to Actions, and created a Go to URL action.  In the Source Sheets, I selected just the main map (Overview) and set it to work on Select.  In the URL field, I added the above URL but without the country name:

Next, I clicked the arrow to the right of the URL field and selected Country.  This fed in the Country as part of the URL as follows:

(As a side note, I originally planned to include numerous countries, some with spaces in their names, so to make this happen, I had original created a calculation to trim off the spaces: Replace([Country], ' ', '').  I used it, but it ultimately wasn’t needed since I only showed three countries and none included spaces in the country name). 

At this point, when a user would click on a country, that country name would be fed into the end of the URL so that:


This is precisely the published dashboard link.  That meant when a user clicked on the country, that published dashboard would open in a new tab of their browser. 

Final Thoughts

I was quite pleased with the resulting visualization and happy that it ended up fairly close to what I had originally imagined.  It definitely took me longer than expected but that’s because I’m stubborn and wanted to have drill-down functionality. Ultimately, I believe that extra time really paid off.

The next day, my viz was selected for Viz of the Day by Tableau Public.  This was such an incredible honor.  I am humbled by this and also humbled by the fact that dataviz can have a true impact on social good.

As always, there is always room for improvements in design, storytelling, and data analysis.  That’s one reason I absolutely love Makeover Monday as it always allows us to do better next week.

This viz definitely wouldn’t have be achievable without Kevin’s help and crazy awesome community, which gives me the motivation to push further. Thank you!  The final viz can be accessed here.

Some Personal News

Before I depart, I’d like to thank Kevin and Ken for giving me the opportunity to share this experience as a guest blog post.  This was my first dataviz-related blog post, but I soon plan to write many more.  That said, this blog post is my way of introducing  This B2B blog post will be “cross-posted” both here, on as well as on my new website.  I hope that you will check it out and come back often for new material.

Thanks so much for reading and happy vizzing!


Kevin Flerlage, February 17, 2020

No comments:

Powered by Blogger.