Meet the Penguins!

makingof

 

OK here we go. Iron Viz competition time. I don’t viz that much so pleased to dust off Tableau Desktop and have a go. This competition is all about the natural world. A very interesting theme for me being a massive nature fan.

1. The Idea

I love nature. Thinking of a theme I reached back into childhood memories and for some reason I thought of long afternoons with my family at the zoo. Aside from the usual animals we always used to make a beeline for the penguins, something that still happens when I take my own family to the zoo. Everyone loves penguins!

However, I don’t think that many people know just how many different flavours of penguin there are. They live in varied locations, come in a host of different sizes and looks and not all of them live in cold countries. They do all stink though.

So I thought I’d use Penguins of the World as my subject for this viz. And here it is.

Go take a look at the viz!

 

2. Data

I got the data from a single source- https://seaworld.org/en/animal-info/animal-infobooks/penguin/

References to sited data is always good to see

Although I didn’t conduct any lengthy data validation exercise I was given some degree of confidence that the website has a detailed references section, siting the data sources. That’s always good to see and something that is mandatory in scientific papers and such like.

Now there’s tons of penguin data available out there. But I really didn’t have the time to spend days looking for that perfect data source. I also didn’t want to spend days transforming the data before I started vizzing so I settled on this one pretty quickly.  Then it was a copy and paste into Excel and I was off.

Always be on the lookout for good images to incorporate into your viz

One thing I did like was the fact that this page had some cool drawings of each penguin species. That instantly got me thinking of using them as Tableau shapes. It’s always a good idea to be on the lookout for images and drawings that can you can incorporate into your visualisations.

 

3. Viz Design

Now I’m probably not the only person in this competition to be heavily influenced by the master of these kind of visualisations, Sir Jonni of Walker. (@jonni_walker). And with that I thought I’d steal like an artist and try to emulate him.

Key design choices were to use a black background, with plenty of large images and the use of BANs (Big Assed Numbers) as callouts. Things that Jonni does all the time and that really create a visual impact. I also wanted to utilise the penguin images as a “penguin picker” to create some interactivity.

I also wanted a map to be a main feature of the viz as maps are not only informative, but visually striking, highly customisable and also act as a canvas on which to overlay images (in oceans etc.). I had a problem at first with the fact that Antarctica was one of the main locations, and that meant the bottom of the map had a straight edge, which looked ugly. This meant the map would have to meet the bottom of the viz to draw attention away from the abrupt edge.

The IUCN scale

I was pretty pleased with the highlighted IUCN status of each species. The icons looked nice and almost acted as a traffic light theme. Jonni thought they should be greyscale but I overruled him. Pfft – what does he know anyway?

In terms of Tableau content, only a couple of charts to show population, location, height and weight; but that was fine. It didn’t really need anything else.

I also wanted to include a section on famous penguins but it ended up overloading the viz and spoiling the theme. Although it did make me smile. Bonus question – can you name all of these famous penguins?

How many of these famous penguins can you name?

I also considered the use of an embedded YouTube video but decided against it.

I had fun choosing the title font, something that I think can make a huge difference to the viewer if chosen well. Regular fonts were somehow boring, and fonts with penguin characters looked too cluttered. I finally managed to settle on an Austin Powers style font, and then had the idea of alternating the colours to give that penguiny feel. I like it!

In the end I think the final result was ok. However this wasn’t one that I enjoyed. See below.

 

4. Challenges

This was my first viz in a while. I’ve spent the last 3 years knee-deep in Tableau Server and have a crazy busy job building a Tableau Centre of Excellence, supporting thousands of demanding users so I’m the first one to admit I don’t have the Tableau Desktop skills of people like Adam Crahen, Neil Richards, Pooja Gandhi et al.

The standard of skill out there in the community is crazy good. And that really was the main challenge. I found this viz a fairly stressful experience, it made me feel like a newbie all over again, simply because I’d be putting this out there against some stunning competition. I even considered not entering for a while. But hey, that’s not what the Tableau community is all about so I thought I’d have a go at it.

As mentioned earlier, I was deliberately trying to emulate Jonni’s style. Now that proved to be pretty difficult. I managed to create something reasonable, and fairly quickly, and began thinking to myself that hey this is a piece of cake, Jonni who?? But then it got harder. My ideas began to dry up and I found myself staring at an okay-ish viz but being unable to take that next step to make it better. Felt like vizzers block.

And that’s when I realised that the people who create these REALLY good vizzes have a lot of inherent natural skills and imagination that folks like me lack. So I gave Jonni a call and asked his advice. He came back with a number of suggestions, none of them earth-shattering, but much more subtle and delicate. Making the map larger, bringing highlight colours out from the penguin plumage were a couple of suggestions that made a huge difference to the impact of the viz. My point here is that the real geniuses of visual design have these thoughts occur naturally and without significant effort, folks like me have to learn them, or at least work a little harder than some others.

But hey, IronViz (and any vizzing) is all about learning. So I’m good with that.

Another challenge was that the Tableau part of this was pretty easy. That’s obviously great and what we want from our favourite application, but in terms of this viz I spent more time in image manipulation tools than in Tableau. And that really did detract from enjoyment. Come on Tableau! Make it harder for us to complete our vizzes!

 

5. Analysis & Story

So what can we take from this story? Here are some of the key observations that Tableau has allowed me to glean from the dataset.

  • All penguins live in the southern hemisphere, and some in hot countries
  • There are some seriously big populations, although some are endangered
  • They range from massive to teeny tiny
  • Main predators are Leopard Seals & Sea Lions
  • There are not one, but two penguin days in the calendar

So that’s it. I hope you enjoy the visualisation. If you do then please consider voting for me in the IronViz competition. And thanks to Jonni Walker for providing advice for this viz. Top man.

Good luck to all the other entries this year. Especially blinders like this from Ken Flerlage. – The Killing Fields – Viz / Blog.

Hmm. After all that writing I could do with a chocolate biscuit. Now which one……

Regards, Paul

Advertisements

Tableau Server – all about the… Backgrounder

Hello everyone.

You may know me as a Tableau Centre of Excellence manager. That can involve a lot of paperclip pushing skills, with the real work being done by my excellent team (thx @jakesviz & The Information Lab). But I do try and get down and dirty with my lovely Tableau Server environment to keep my skills fresh. Obviously I don’t mess with it – @jakesviz gets pretty protective about his Server.

This series of posts is my attempt to shed some light on the internals of Server. Note there are many more experts in this field than me (Craig Bloodworth, Mark Jackson, Jen Vaughan, Tamas Foldi, Mike Roberts, Angie Greenhaw – to name but a few) so please do comment if anything is incorrect here. Maybe you guys could help me evolve this post?

What is the backgrounder?

The backgrounder is a process that runs as part of the Tableau Server application. As the name suggests, it handles background tasks such as refreshing extracts, running subscriptions and also processes tasks initiated from tabcmd.

Here are the backgrounder processes. The .exe file and the .war file. The WAR file is a Web Application Archive, and contains all the necessary components and resources needed for a Web Application such as Backgrounder.

On a clustered environment you’ll find these files in D:\Program Files\Tableau\Tableau Server\worker.1\bin (may vary slightly with your installation).

28-01-2016 14-07-52

Other files related to the backgrounder.

Template (.templ) files – These files TBD

28-01-2016 14-13-09

There are also a few .rb files in D:\Program Files\Tableau\Tableau Server\worker.1\tabmigrate\db\migrate.

And we also have a .properties file which contains all the config entries relevant to the backgrounder. It also has almost all of the other stuff that you’d find in the main workgroup.yml file which is odd. I’d  have expected it to be just the backgrounder config.

backprops

Here is the location of the backgrounder log files

backlogs

Here are 2 instances of backgrounder.exe running on my server (from Task Manager).

28-01-2016 14-01-08

 

Can I mess with it?

Backgrounder can be configured. There are several settings present in both workgroup.yml and backgrounder.properties. Workgroup.yml is the master config file, and it populates the backgrounder.properties (and other .properties files) when a ‘tabadmin configure’ is run.

I don’t know what all of these do (yet) and the only one I’ve ever edited is ‘backgrounder.extra_timeout_in_seconds‘ which sets the max time in seconds that a backgrounder session can run for. Tableau kills off the session if this threshold is reached. Useful for forcing users to optimise their extract times!

I also pay attention to the ‘backgrounder.vmopts‘ parameter, as this defines the size of the java heap space for this component. All components have a vmopts setting and I’ve had to increase them on occasion due to out of memory problems.

You may also want to change the ‘backgrounder.log.level‘ if you need more debug info, although Tableau logs are chatty enough for me.

If there’s a golden parameter in this lot that you get value from then let me know in the comments.

backgrounder.deploy.dir: D:/Program Files/Tableau/Tableau Server/data/tabsvc/backgrounder
backgrounder.external_cache.concurrency_limit: 10
backgrounder.external_cache.enabled: true
backgrounder.external_cache.num_connections: 1
backgrounder.external_native_query_cache_disable: true
backgrounder.extra_timeout_in_seconds: 1800
backgrounder.failure_threshold_for_run_prevention: -1
backgrounder.jdbc.wg.connections: 8
backgrounder.jdbc.wg.idle_connections: 4
backgrounder.log.dir: D:/Program Files/Tableau/Tableau Server/data/tabsvc/logs/backgrounder
backgrounder.log.level: info
backgrounder.native_api.log.level: info
backgrounder.out_of_date_schedule_minutes: 240
backgrounder.ping_dataengine.millis_to_wait: 5000
backgrounder.ping_dataengine.num_retries: 24
backgrounder.ping_services.num_retries: 10000000
backgrounder.ping_services.time_to_wait: 5000
backgrounder.purge_directories.directories: ""
backgrounder.querylimit: 7200
backgrounder.restart_interval_in_minutes: 480
backgrounder.restrict_serial_collections_to_site_level: true
backgrounder.search_index_verification.enabled: true
backgrounder.sheet_image_api.max_age: 240
backgrounder.sleep_interval: 10
backgrounder.sort_jobs_by_run_time_history_observable_hours: -1
backgrounder.sort_jobs_by_type_schedule_boundary_heuristics_milliSeconds: -1
backgrounder.timeout_tasks: refresh_extracts, increment_extracts, subscription_notify, single_subscription_notify
backgrounder.tomcat.threads: 4
backgrounder.urlprefix: backgrounder
backgrounder.vmopts: -XX:+UseConcMarkSweepGC -Xmx512m

Note that Tableau Support don’t like you to edit config files manually, they recommend that you use the tabadmin set commands to change any parameters. They might have to change that recommendation when we see Tableau Server on Linux.

For more about .templ, Ruby & properties files check out this from Tamas Foldi.

 

What are the problems with the backgrounder?

Here are some of the things that can be problematic with the backgrounder.

  • Single Threaded – This means the backgrounder process can only run one thread at a time, a thread being a set of executable instructions that a process can perform. The upshot of this is that your backgrounder works through a queue of tasks one-by-one.
  • Latency – Due to the single threaded nature of backgrounder, you may see delays or ‘latency’. For example, if you have one backgrounder, and 2 tasks for it to perform at 2am, then task 2 will have to wait until task 1 has finished. If task 1 takes an hour then task 2 won’t start until 3am. This can be annoying for users that expect their data to be refreshed by a certain time.
  • Resource Intensive – The backgrounder can consume a significant amount of processing power (CPU) and input / output (I/O) on your server. This is dependent on the type of task it is performing. It’s not uncommon to see a backgrounder node consuming 100% CPU.
  • Other Stuff – The backgrounder process also does other stuff on Tableau Server that isn’t concerned with extract refreshes. For example – reaping extracts, checking disk space, synching Active Directory groups, rebuilding the search index etc. Bear that in mind when building your system. In reality these tasks don’t take up too much resource but they do take some and you should be aware.

 

Isolating the backgrounders

A common configuration in a clustered environment is to dedicate one of your worker nodes to the backgrounder processes. This means you can dial up the number of backgrounders and let them do their stuff without worrying about any impact on other processes. This is one of the most common performance recommendations from Tableau support.

You can also get a lot of info out of the Postgres DB relating to backgrounder usage and performance. Nelson Davis has posted a guide to getting started here.

 

Improvements I’d like to see

Ok so here are a bunch of improvements I’d like to see to the topic of backgrounders and extract management. I know some of this will drop in upcoming releases and some of these problems have been solved with custom solutions at some customer sites.

Alerting – Tableau Server doesn’t alert (email / IM / SMS) when a task fails. This means you’ll need to set up external monitoring to detect issues. I know Tableau are on this though so expect to see it in an upcoming version. Some people in the community have also coded their own solutions to this problem but it really should be native functionality.

Control per site – We segregate our dev / test / prod user environments using sites , all on the same server. We run 8 backgrounder processes on that server, which are shared across the tasks on all sites. As an administrator I’d really like to be able to bind backgrounder processes to specific sites. For example, 2 backgrounders on each of dev & test sites, then the other 4 dedicated to the production site. That would ensure production tasks always have enough resource to be able to execute on time.

Control per process – I’d like to be able to stop / pause / mess with individual backgrounder processes easily. It is possible – see this from Toby Erkson, but it would be good to have this as part of an administrator console or something.

Control per type / size / pattern of extracts – It would be good if I could dedicate specific backgrounder processes to particular extracts based on their characteristics. In particular I’d like to allocate one backgrounder to all the extracts that take less than 1 minute to complete. Or even use this to reward users that show diligence with their extract management by dynamically prioritizing incremental refreshes or extracts that have a low failure rate.

Better metrics – I’d like to see exactly how much CPU is taken up by a particular backgrounder process or task / schedule or per project. This would be useful for chargeback.

Dynamic reprioritisation – I love all my users. But in particular the ones that take good care of their extract refreshes. I’d like Tableau to be able to dynamically increase the priority of tasks that complete quickly, are incremental and that have a low failure rate. The message being, if you want your stuff to get the best slice of available resource then help us out with best practice.65

Disable run now – We’ve had some issues with the “run now” option that allows users to kick off an extract refresh on-demand using the UI. In particular we’ve seen some trigger-happy users bring our server down by hammering on the run now option multiple times. I’d like to disable that or maybe throttle it somehow.

Better guidelines from Tableau – The documentation from Tableau isn’t great in this area.

05-05-2016 13-09-11

I have an 8 core 128GB server and  run 8 backgrounders with no capacity issues. And I know of other organisations running way more than that. According to this doc I should be running between 2-4. That would be some serious under-utilization of the server. I’d like to see some clearer recommendations, maybe taking into account the variety of use cases that I’ve seen in other big enterprise deployments.

 

OK that’s all for now. This post could have been more detailed but I figure that I’ll get some valuable inputs from the community that will help me expand it. Actually in the time I was writing this, Mike Roberts was doing the same – check his post for some excellent info.

Cheers, Paul

 

The Svalbard Global Seed Vault

makingof

Hi all,

OK here we go. Iron Viz competition time. My first viz in a long time, so it’s good to get back using Desktop again. The first competition this year is the Food Viz contest!

1. The Idea

So this one’s all about food. Plenty of potential ideas here but I love to deviate from the norm and go a little bit off the wall, a little bit unusual.

I got thinking about food. But then I thought what would we do if there was NO food? If we had nothing to grow. If all the crops in the world failed overnight. What would we do? That would be a pretty bad situation for sure and someone must have a backup plan. I’m in IT as you might know so I do love a good backup plan.

And it turns out there is one. The Svarlbad Global Seed Vault. Buried 130m into the Norwegian permafrost, this building looks more like a Bond villain’s hideout than a critical storage facility. Once I saw this website my mind started racing with questions and that’s a good sign that you’ve got a decent subject for a viz.

 

Screen Shot 2016-04-19 at 08.36.51

The Svalbard Global Seed Vault

Go take a look at the viz!

 

2. Data

I got the data from 3 main sources.

The main seed stocks data

Plenty of detail in the data which gives some good potential for analysis. The main seed stats xls was pretty tricky to work with. There were a lot of nulls and gaps which I had to exclude from the dataset, and the file was pretty untidy. There were also close to a million rows in the file and that meant my pc struggled at times. All of this made manipulating the data tricker than I would have liked.

 

3. Viz Design

As with last year’s entry I thought I’d use Story Points again. This format has limitations but I think it works well for visualisations that answer multiple questions. In terms of formatting, I’ll be honest. I just didn’t have the time to mess about so I pretty much went with the same style that I used for my Evolution of the Speed Record viz last year.

Screen Shot 2016-04-18 at 22.35.49

Construction stats

I also thought I’d use a lot of images with this viz. The seed vault is an impressive construction and had a load of really good quality images available for use. I found it was useful to use a text box to provide additional commentary on each slide.

 

 

 

Screen Shot 2016-04-18 at 22.39.29

Seed vault funding

Most of the information about the seed vault made a big deal about how this was a big global project. This led me to question who was contributing and supporting the project and who was pretending to? I was pretty sure there would be a big difference in contributions, both in terms of stock and also finance.

 

 

Screen Shot 2016-04-18 at 22.40.21

Embedded Wikipedia page

A technique I learned last year was embedding a contextual Wikipedia page into the viz. This provides more detail for anyone wanting to know more about the data points.  A good tip is to append “?printable=yes” to the URL to display a more cut down page, as well as using the mobile URL (thanks to David Pires for that tip). Some of the links didn’t work as there wasn’t a direct Wiki page – no big deal.

 

So there you go. An interesting story for sure and one that was pretty enjoyable to put together.

 

4. Challenges

This was my first viz in a while. I’ve spent the last year knee-deep in Tableau Server and have a crazy busy job building a Tableau Centre of Excellence, supporting thousands of demanding users.

So my biggest challenge wasn’t data, or thinking of a subject, it was my own lack of ability with Tableau Desktop. I was shocked at how rusty I’d become and even some basic tasks took way longer than they should have. On the plus side it was great to be back on the vizzing horse again! I’m now inspired to get stuck into some of the online training and boost my skills.

Another challenge was actually deciding to have a go. The standards in the Tableau Community have gone through the roof in the last year, and the level of quality out there is absolutely amazing. So for the first time ever I was nervous about even getting my entry out there.

 

5. Analysis & Story

So what can we take from this story? Here are some of the key observations that Tableau has allowed me to glean from the dataset.

  • The Svalbard Global Seed Vault was a decent build. Didn’t cost too much and also only took 20 months. Pretty impressive going.
  • Some unusual crops stored in the seed vault. Rice at the top, and mostly concentrated around the Triticeae tribe of crop – wheat, maize etc. Surprisingly few fruit. I like blueberries so I’d be stuffed without them for my doomsday breakfast.
  • Probably not a surprise to see India top the seed donations chart but it was curious to see several African nations amongst the top donators.
  • I was surprised to see seed donation amounts tailing off big time in recent years. I wonder if that’s down to project apathy or maybe we’ve just got all the samples we need for now?

Wanna know even more? Go check out this Interactive 360 tool.

So that’s it. I hope you enjoy the visualisation. If you do then please consider voting for me in the IronViz competition.

Regards, Paul

The Evolution of the Speed Record

makingof

Hi all,

Oh dear – it’s that time of year again. Time for the Iron Viz competition. The first challenge this year is the Wikipedia challenge. Create a viz, any viz, so long as the data comes from Wikipedia.

1. The Idea

There are tons of data on Wikipedia. Trouble is, much of it is in a nightmare format and takes a lot of tidying up. I wasn’t cool with doing much of that this time so reasonably tidy data was a must. I also wanted something with depth, and an element of competition, danger and heroism. And I love technology so wanted that as well. All in all a tough ask.

But then I stumbled across the perfect topic – how speed records have evolved over time. Ticks all the boxes and could be a nice use of Story Points.

So that was it – “The Evolution of the Speed Record” was GO!

kings

The Evolution of the Speed Record!

 

2. Data

I got the data from 3 Wikipedia pages.

kand

An example of the land speed record data

The data has enough variety and richness to satisfy my requirements. It is also pretty consistent between pages so makes consolidation into Excel a lot easier. I did have to remove entries that referred to record attempts that were not ratified, and I also had to standardise on mph vs kph as well as distance miles vs kilometers. But with those caveats, I’d gotten me a pretty decent dataset.

It was also cool that most rows linked off to pages about the pilot and the craft used, each with some neat images for use in the viz. Plenty of room to supplement this data set should that be required. I also managed to find some clips of some of the drivers on YouTube.

 

3. Viz Design

The evolution of the record featured trials and tribulations, joy and pain, heroes and villains. So all in all this was a great opportunity to try Story Points for the first time.

axisThe overall look and feel took some arriving at and I’d like to thank Kelly & Chris for assisting with the peer review process. My original version made use of custom “speed-style” fonts to give the impression of speed, but we eventually decided that the real ethos of the whole story was the nostalgia and ‘Pathe’ News‘ style of flat capped heroes with handlebar mustaches pushing the boundaries of technology. So we switched to a style that sort of represented a 1930’s newspaper. I was really pleased with the final look and feel of it. Deciding the style really helped the story design of the charts. I tried to be as minimal as possible, removing unnecessary chart ink and distractions.

paper

Operation Paperclip

I wanted to give a feeling of progressing along a chronological timeline, whilst interspersing with ‘infographic’ style information pages. In particular there was a great story to tell about Germany and Operation Paperclip, that made a great infographic.

 

 

wiki

Embedded minimal Wikipedia page

I obviously wanted to use some advanced techniques so used the individual Wikipedia pages for some of the pilots to link off to an embedded web page. A masterstroke was working out that if I added “?printable=yes” to the URL it would give me a stripped back render of the page, that almost looked like a 1930’s newspaper, fitting the theme perfectly. I was really happy with that.

 

 

Screen Shot 2015-03-14 at 12.02.30

Embedded YouTube page

There’s also a page that links off to a YouTube video of the driver. I like that one, as the links are all monochromatic grainy film with appropriately stiff-upper-lipped voiceover. Excellent. I did worry a little about the ethics of including these videos as some of them show the final moments of the driver’s life. I think I’ve been respectful enough in my overall viz to justify inclusion though. I also added an old-school TV border to give a little bit more visual appeal.

So overall I was really pleased with this. A nice style, several good stories and a use of some advanced multimedia techniques.

 

4. Challenges

As mentioned this was my first use of Story Points. Unfortunately it turned out to be a frustrating experience. The feature, whilst undoubtedly useful, is in need of customisation and doesn’t provide a smooth user experience. One for the Tableau dev team to look at for sure.

Another challenge was the fact that the new Tableau Public site has sneakily been changed to https. That only becomes apparent when accessing a published viz using Chrome. Make sure your links to embedded content are https or they won’t work.

 

5. Analysis & Story

So what can we take from this story? Here are some of the key observations that Tableau has allowed me to glean from the dataset.

  • Records are dominated by only 3 nations, with France killing it in early years with their brilliant aviators.
  • It took a while for airspeed to get going, in fact land speeds were higher for a long time.
  • Germany’s poor record really didn’t tell the full story, their brilliant scientists being key to the USA’s great NASA missions in later years. Interesting how their previous misdemeanours were overlooked though…
  • Most record-breaking attempts advanced the speed slightly, with the occasional big jump.
  • The incredible Malcolm Campbell and his son Donald held an amazing 21 records.
  • Oddly, no-one seems to be bothered about records anymore, there hasn’t been a new record since 1997. Or is it too hard / dangerous now?

So that’s it. I hope you enjoy the visualisation. If you do then please consider voting for me in the IronViz competition, should this make the Elite8 twitter vote-off thing.

Regards, Paul

How to initiate IM / Skype / Chat / LastFM session from a Tableau dashboard

Top Tips

Hello everyone. Before I start this I have to admit I nicked the idea completely from Dave Hart of Interworks, who came up with it when he was working with us. But he doesn’t blog or tweet so that leaves me to claim all the glory… Actually I’m just passing on his superior knowledge..

Many of you probably use mailto: actions in your Tableau dashboards, to kick off a mail to someone that might be highlighted in a viz etc. And you might also have some sort of internal IM system like MS Lync or something like that.

Well you can just as easily initiate a chat session to one or multiple recipients using Tableau.

This uses the Session Initiation Protocol (SIP) to open the session in whatever IM client is in use. You just need to open Tableau Server like this

tabadmin set vizqlserver.url_scheme_whitelist sip
tabadmin set vizqlserver.url_scheme_whitelist im
tabadmin restart

sip: allows Lync to lookup people using their email address
im: tells Lync to open it as a group chat

This is an example of an URI Scheme. There are dozens of others, such as callto: which tells mobile phones to call as well as facetime: and of course mailto:. 

Once you’ve opened the server up you can then create a Tableau action to fire off the command. Note that if you try and IM yourself it will usually default to email.

im:<sip:kelly.smith@company.com>
im:<sip:kelly.smith@company.com><sip:james.anderson@company.com>
im:<sip:kelly.smith@company.com><sip:james.anderson@company.com><sip:rob.jones@company.com>

When it comes to the action Tableau won’t let you use multiple items without specifying a delimiter so what you do is use “><” as the delimiter and then put [url encoded] “<” and “>” around the data field.

Anyway I posted this on the Tableau Forum and there’s a workbook attached to that post so you should be able to download it and see how you get on. I reckon there’s some potentially way cool stuff possible using URI schemes. There’s also lastfm:, spotify: and skype: amongst them – so much fun to be had here I think.

Forum post: http://community.tableausoftware.com/thread/155429

Regards, Paul

Stack-Attack! A Visualisation of World Records in Sport Stacking

makingof

Hi all,

You know I’ve been feeling a bit vizzed out lately. All I can see when I close my eyes at night is data. And the Tableau splash screen. A bit like when you overdose on Tetris, or Plants vs Zombies. So I was just getting ready for a little rest when they only went and announced the Iron Viz Competition for 2014! Damn you @DataRemixed!

So I’m straight back on the vizzing horse… When Iron Viz calls, you answer.

Bit of a nightmare picking a subject for Competition 1 (Sports). Sure I could grab loads of data for (real) Football, or Baseball or American Football, but that’s just not coooool enough. I wanted something with a bit of originality. It would have to be good to beat the competition and I’m hoping that originality will count for a lot in the selection of the “Elite 8”.

Cue a week-long thought process. A few ideas came and went, and even a few vizzes made it to the development table (step forward Athletics World Records & Driver Deaths in Motorsport), but they were too mainstream or a bit too macabre, so in the end I settled on this….

Stack-Attack!A Visualisation of the World Records in Sport Stacking

For the uninitiated, Sport Stacking is where competitors attempt to stack, and then de-stack a pre-determined configuration of plastic cups in the fastest possible time.

Like this –

Mental eh? It’s a proper sport with a governing body, World Championships and everything. The best players even have their own sponsorship deals with equipment manufacturers. Like these William Polly branded stacking cups.

And here it is! Click the image to open the viz. 

stackdash

So how’d I do this?

1. Data

Pretty easy this. All the World Record times for Sport Stacking are tracked by the World Sport Stacking Association. Better still there are a number of main game types (3-3-3, 3-6-3 & cycle), as well as multiple age groups and a gender classification. So lots of nice measures all ready to visualise. Lovely.

I used ScraperWiki to extract the tables from the website, but had to manually add the competitor nationalities to the xls. Didn’t take too long though.

That gave me a decent dataset to work with.

2. Viz design

Charts –I wanted to tell a few different stories, hence the following chart selections

Which age is fastest? – Could have done this several ways but decided to use a line chart. Allows me to see the trend in fastest time across the age groups.

Male vs Female – Tried a bar chart for this initially but it was cluttered and hard to read. So settled on a line chart with cups as the marks. This makes it really easy to compare male vs female for each game type (using filter) and age group division.

Best Nations – I wanted an at-a-glance visual to get an idea of which countries dominated. And that was easy with this bar chart. Simple enough using colours to represent the nations.

Images & Video – Now I really wanted some cups there somewhere. So I went for a worksheet of images as the game filter on the left. I also really wanted a video of each world record attempt, selected when the user changes the game filter. That was pretty easy, thanks to this handy tip from @dataremixed.

Look and Feel – Took a risk and broke from my usual safety-blanket of an all white background to go with a rebellious @pgilks style black background. I think it actually works better on this occasion, especially with the cup marks on the Male vs Female comparison as they look all luminous and glowing.

Information – Important to have an info sheet with tooltip to provide context here as I was sure viewers would want to find out more. So I provided some text as to the game types and also a link to Wikipedia.

3. Analysis

So what’s this telling me about the world of Sport Stacking? Well there are several interesting things that jump out at me from the data.

It’s a young persons game! You can see the U-shaped trend from the line chart as the young kids start off slow, but then the times improve and peak around the 12 years old mark, before tailing off again with advancing age. To the point that a seniors time is slower than an under-6’s.

Males are faster – until the male reflexes cave in at senior age! Amazing this. You can see that males are always faster, until we get to the seniors division, where it all changes. What a great story. That’s one up for the Grandmas!

USA have a strong youth policy, but Germany have the experience. The sport is dominated by USA & Germany. You can see USA have almost all of the records from youth to early teenage level. It then evens out at 17-18 years, and swaps around totally when you get to the oldies. Again exactly the sort of story I was looking for. Vorsprung durch Technik (or something like that).

So that’s my entry for Iron Viz 2014 (Part 1 – Sports). If you like it then do cast your vote via twitter, provided I make the Elite 8 of course.

Now if you’ll excuse me I’m off to stack my wife’s finest china cups….. How hard can it be?

Cheers, Paul

How to: To Boldly Go – A History of the Space Shuttle

makingof

Hi all,

Space: the final frontier. These are the voyages of the starship Enterprise. Its five-year mission: to explore strange new worlds, to seek out new life and new civilizations, to boldly go where no man has gone before. DA DA DA, DA DA DA DA DAAAAAAAAA!

Now I’m no Trekkie, but I do love a bit of space action. And I remember rushing home from school early as a misty-eyed 9-year-old to watch the first launch of the Space Shuttle.

space-shuttle-atlantis_1223_600x450The Space Shuttle programme should rank as one of mankind’s greatest technological achievements. Over 130 missions across 20 years, to the point where a launch was completely routine and barely a newsworthy item. Incredible. And even more so when you look at the technology itself. Old and creaky by the time the programme ended, but it still worked.

I was pretty sad when the programme came to an end a couple of years ago. So I thought I’d relive the excitement by vizzing up some of the mission data.

And here it is!

shuttleviz

So how’d I do this?

1. Data

wikiI got the data from 2 sources. First off was a nice list of all the missions, dates and other data from Wikipedia. Columnar, consistent and easy to chuck into Excel.

The only issue with this data was that there were surely a load more measures of interest for each mission. Duration of mission was interesting and would make a good measure to viz, but what else could I find?

nasapdfThat brings me to the second data source. This excellent pdf from NASA details all the shuttle missions and crucially adds a couple more cool measures – namely distance travelled in miles and total orbits of the Earth.

Problem was that this was pdf and I couldn’t get to the text easily. To get around that issue I used this Mac automator guide to extract the raw text from the pdf into a text file. Then I used a quick bash script to return just the 2 measures I was interested in, in a columnar format that I could paste into excel alongside the existing measures from Wikipedia. I could have used Alteryx for that also.

So how’d I do this?

2. Viz design

Timeline – I wanted to show a year on year timeline of the mission launches, broken down by shuttle and also to have one of the measures on there as well so I could pull some trends. That was easy enough, and I wanted to use a shuttle shape to act as one of the points.

shuttlelcipI had to download a simple shape and then make the background transparent so that I could further differentiate using colour. The end result looks a bit cluttered when all missions/years/shuttles are selected, but is still okay for analysis. 

E.g. I can see from the timeline how missions started short, then gradually got longer as the programme progressed. You can also see the gaps in the programme after the 2 shuttle crashes in 1986 & 2003. You can also see how each Shuttle had a different usage profile, something that I expanded on with the box & whisker plot.

Images – Yet again I followed Shawn Wallwork’s tip for dynamically assigning images. I downloaded each mission patch image and then assigned it to the appropriate point on the timeline. The image is then displayed when the user hovers the mouse over the shuttle shape. Took me ages to assign them all so you’d better appreciate it.

Shuttle Stats – Simple bar chart view of the key measures. I’ve used the average of the values to colour the bars.

shuttlestatsYou can see from this that although Discovery and Atlantis got the most missions, Endeavour and Colombia did more miles per mission on average than the others.

Box & Whisker Plot – First time I’ve used one of these. Seems to work nicely, giving an indication of the different usage profiles of each shuttle and the spread of mission distances. You can see how Endeavour was used primarily as a long haul shuttle, whereas Columbia’s mission distance spread is much greater, being used as a total all-rounder. A really effective view. Let me know what you think.

Look and Feel – Now I really wanted this to look Nasa-esque, and I managed to find the NASA font for download. Here it is. 

I’m sure you agree it makes the viz look good. But there’s a problem. For anyone to get the same effect they need to install the font or it will default to one of the regular fonts and the effect will be lost. To get around this all the titles in this viz are actually small images. A bit of a pain to do but I can see that technique becoming something I’ll use a lot.

3. Final Thoughts

Hope you like this viz. I had a lot of fun doing it, in particular browsing through the NASA catalogue of images from various missions. Some spectacular photos out there.

But we all know that all this progress wasn’t without pain. So I’d like to end with the following dedication.

This viz is dedicated to the astronauts that lost their lives during the Space Shuttle programme.

STS-151-L – 28th Jan 1986
Greg Jarvis,, Christa MCauliffe, Ronald Mcnair, Ellison Onizuka, Judith Resnik, Michael J. Smith, Dick Scobee

Challenger_flight_51-l_crew

STS-107 – 1st Feb 2003

Rick D. Husband, William MCcool, Michael P. Anderson, David M. Brown, Kalpana Chawla, Laurel B. Clark, Ilan Ramon

030201-F-9999G-001

Regards, Paul