Jackpot! A Makeover Monday data set featuring two of my favourite things:
- the Nintendo Switch
- the prospect of building lots of interactivity in Tableau!
I really enjoyed pulling this together so thought I would give a quick write up of how I did it.
You can find the data source on the Makeover Monday website (https://www.makeovermonday.co.uk/data/)
I started with the background as I knew that whatever viz I did on this it was definitely going to be set with a Switch background, it had to be done. So a traditional Nintendo Switch looks like this:
And I wanted to mimic it reasonably closely, but a bit less detailed.
I decided to use Figma (figma.com) which I have used for a couple of previous Makeover Monday challenges to make nicer Text titles for them. You can then use them as images on the dashboard and Tableau Public won’t mess around with the font.
I thought it was about time to try and actually design something other than text in Figma, so I had a go and ended up with:
Which I was very happy with! Essentially it is just four big rectangles – two for the screen (inner and outer) and two for the controllers (these were given rounded corners). The power/volume buttons at the top are again rounded corner rectangles. The ‘+’ and ‘-‘ are just Text, and all the other buttons/sticks are just circle shapes.
For the buttons I added a drop shadow effect to make them appear a little more 3D. For the letters and symbols on the small buttons I just put a text object over the top of each. And the rest was all about making sure the layer order was correct. For example the two side rectangles sit underneath the main screen rectangle meaning you don’t see the other side of the curved corners. Image below as an example:
With this image saved, I moved on to…
What did I want to do with the various buttons?? I knew I was aiming for an interactive fun viz, so I wanted to use as many buttons as I could think of – some to change chart types and some to just make colour/highlighting changes. So the list I went for was:
- Power Button (top left) – Turns it on and off!
- X – Show hardware sales over time
- Y – show software sales over time
- A – show both sales in a different chart format
- B – show BANs
- Up/Down/Left/Right – use to toggle between colours and country highlights
I also wanted to make this feel quite ‘Gamey’ so thought it would be good to have a title page and also an instructions/button layout type page. As I wanted to keep the look quite minimal I thought the best way to deal with the instructions was to have a persistent button available that the user can refer to.
I started with how I was going to deal with the Power Off screen, where I would want the whole screen dark initially. This also set the pattern for how the rest of the dashboard was built – so a lot of the things I describe in this section I have reused for most other areas.
I decided to have a sheet that sat on top of all the others that would have a dark grey background and would be filtered off when the power button is pressed by using a parameter action. By doing this it would mean I would have to always have this sheet on top so it covered everything underneath – so at this point I decided that the charts themselves would not be able to be interacted with (saved me worrying about tooltips anyway!).
My off screen looks like this:
I had a parameter which would switch between ‘On’ and ‘Off’ and a calculated field on that Parameter which this sheet was filtered on ‘Off’ – as I want it to show when the Switch is off. I put some hard coded text (‘TEST’ – helpful!) in the rows column and set to ‘Polygon’ mark so you don’t see the mark, and changed the background to grey. This sheet then floats above the screen on the dashboard.
To allow the user to change the power parameter, I floated a small sheet over the ‘Power’ button – and this sheet basically contains one transparent mark which the user cant see, but will allow a parameter action to be used on click. The sheet looks like this:
I had a transparent shape I had saved previously which I used here, but it can be anything. There is an ‘OnOrOff’ calculated field on detail:
Which is set to the opposite of what is in the parameter. This is to be used in a parameter action – so when a user presses the button and the switch is currently off, we want to send ‘On’ to the parameter.
I also put a ‘Start’ string to be used later on (when I want to reset other elements) and a ‘True’ field to use in a filter action for automatically deselecting the mark once the user has selected it (so they don’t end up double clicking anything)
Finally – to prompt the user where to start, I wanted an image to point them to the on button. To do this, I created a small text and graphic in Figma, and added this to the background map to a new sheet as below:
Using the ‘Map -> Background Images -> chosen data source’ option. I just put value on both axes and set the image to span accross the range:
I used the same on/off calculation as a filter in this sheet to show and hide based on what state the power parameter is on. This gets floated so it points at the power button.
The Other Parameters
Next I wanted to set up the other parameters that will be used to switch various views:
- pChartChoice for choosing which chart to show. The values are: HardwareSoftware, Both, BANs, Start (this is sent from the power button above)
- pCountry for choosing a highlight country – contains the data set list
- pHighlightColour for choosing the colour (Blue/Red)
- pMetric for choosing Hardware/Software sales
- pSplitCountry for choosing the granularity (Split/Don’t Split)
With these built I could build out my three main charts.
Hardware/Software Line Chart
The final view is here:
The calculation on Rows is the one which switches the view between Hardware and Software:
You will also see from above that I used ‘Value*10000’ in my calculations, this was so I could get the units in the correct format.
‘ChartChoice’ in the filter is the same principle as the on/off filter, and only shows this chart accordingly.
The ‘SplitCountryDetail’ field will split the lines out into country or group them to a total line:
Note I used a standard Split on the ‘Nintendo Switch Platform’ field to pull the country out.
Finally, the ‘CountryHighlight’ field sets the colour for the highlighted country:
Here, if it is a ‘Don’t Split’ it will return null for the default colour, otherwise it will highlight based on what pHighlightColour is chosen (red or blue).
This is floated over the screen, but below the ‘Off’ sheet.
Both Bar Chart
This works a very similar way to the line chart, with a couple of differences.
The ‘ColourChoice’ calcualtion is a little more complicated, as the order the colour are applied can make the smaller bar appear behind the larger bar, which I didn’t want:
By giving the colours specific names based on the metric as well as the colour, this means I can order the colour legend how I like it. Without the reordering, this could happen:
The final chart was the BANs chart which was a lot simpler.
‘HighlightText’ works the same way as the line chart version.
You will see some ‘FromXXXX’ formulae, this was because I was going to add an extra layer of interactivity to this part, allowing the user to change the year it was measuring against, but I ran out of time! So basically this are all calculation that just look at the change between 2019 and 2020.
With the three charts above floated on the page, I then decided I also needed a title which updated dynamically based on selections, so I did this with another floating sheet:
Very simple, with one calculation which produces the dynamic text:
This floats above the three other charts.
Then the best bit! Adding all the buttons! These are all replications of the ‘Power’ button, just with different data attached to them to send through to different parameters when they are selected. To take the change colour ones as an example, they look like:
With associated parameter action:
And associated ‘deselect’ action:
These all get floated over the associated button in the background image.
The Title Screen
I built the title screen in figma and used the same method as the ‘Power On’ text, adding as a background image:
It is filtered to only show when power is ON and chart choice is set to ‘Start’ (which only happens when the power button is pressed.
I then added a start button to float below this which will take the user directly to the ‘Hardware’ line chart:
The Help Button
For the help button, I designed the help text in Figma and added it as an image to a layout container, and then switched on ‘Show/Hide’ container so it gets an associated button. I added a ‘?’ image to this button:
Then the container can be floated at the top as it will generally not be on display, and when it is it needs to be on top.
That’s it … Right?
So not quite – There was a lot of lining up of things to make this work. And the one thing I came across, and couldn’t 100% solve, was the ‘?’ Button.
This was the only button on the screen area that needs to be interactive, so my initial plan of having the ‘Off’ screen across all of it didn’t fully work.
I mostly got around this by making the button itself sit on top of everything, but made it the same colour as the ‘Off’ screen so in theory it would be hidden when off. This works mostly, except you can see a very faint outline of the button on the off screen:
I decided this was good enough for me, and it is probably only me who notices!
Final Thoughts on Transparency
I had a bit of fun when posting the final viz, as I hadn’t realised that some sheets were not transparent, and thi wasn’t that apparent when I was viewing the Gif/Images on desktop, however was very obvious on mobile. So always worth double checking!
And here is the result! Fun rght?
Hope you like it! Any questions or clarifications on the above – please drop me a note!