I’ve wanted to replace my visual blog ever since Google removed a great new technology last year. I had a feeling I could use Tableau to make an image and blog viewer that was dynamic and fully functional, but I wasn’t quite sure how to do it. Well, I revisited the concept and accomplished the task, thanks to a little mysterious Tableau magic and the web page object.
Conceptual Design of the Blog Viewer
I wanted the blog viewer to have a two features. First, I wanted to be able to quickly scroll through a list of my articles and get a dynamic updated picture-based snapshot (i.e., a jpg file) of what was included in each selected article. These snapshots are simply the short descriptions (excerpts) I have written for the articles. Figure 1 shows the excerpt for article 166 – the conclusion article. I wasn’t sure how to dynamically load pictures into a dashboard, so that was one problem I had to overcome. I didn’t want to use a dashboard picture object because I needed it to be dynamic, not a static image.
Secondly, I wanted to be able to directly launch the articles and have the articles load in the same window that displayed the excerpts. I wasn’t sure that I could accomplish that either.
I didn’t want to dynamically load pictures using a filter selection, like Shawn Wallwork demonstrates in this multi-step procedure. I wanted to find a much simpler method that didn’t require such an involved set-up. After a lot of research, I essentially drew a blank. Like so many times in my Tableau past, I knew it was time to experiment.
A few minutes into my experiment, I stumbled onto something new to me that involved using a web page object in a dashboard. I quickly sensed that a little Tableau magic had just happened, so I decided to write this article to remember what I did. The solution is shown in the video below.
The Video Showing the Image and Blog Viewer
Explanation of the Tableau Magic
The magic that happened in the trial and error process involved two things. First, when I dragged the web page object onto the dashboard, a dialog box asks for a URL. I normally think of URL’s as being links to web pages (i.e., *.html references). So as an experiment, instead of typing a URL, I simply typed the name of the dashboard action I had created for viewing the article images (i.e., the action is named “Post_Image”). Tableau hesitated for a moment, spun the wheels, and then much to my surprise, the image appeared! The term “Post_Image” is not a web URL – it is the name of a Tableau dashboard action I created. Somehow Tableau “figured-out” what I wanted to do with this action!
The magic that Tableau performed was that it understood that the dashboard action indirectly lead to a valid URL, which is not a *.html file, but rather is a *.jpg file. The indirect connection accomplished what I wanted to do (show the images dynamically) by using the name of the action. I didn’t expect this to work. I hadn’t seen anyone demonstrate this technique before. My trial and error testing method worked for me in this case. I hoped it would work, but I had no expectation that it would, so it was a nice surprise when it did.
Secondly, I was even more impressed when I clicked the “launch the article” hyperlink and Tableau sent the entire content of the blog article into that same web page object. Why did this surprise me? It did so because I had made no connection between that action of launching the article and that web page object!
How and why Tableau decided to place that content in that web page object is still a mystery to me. Without the web object in the dashboard, Tableau would normally launch a new browser window for that content. What this means is that I still have some learning to do to fully understand the behavior of Tableau web page objects. However, the results I achieved are exactly what I hoped for as shown in Figure 2 (the excerpt) and Figure 3 (the article)! My single web page object displays a dynamic set of pictures and web pages, which is why I titled this article “A dynamic image and web page viewer”.
Potential Applications and Final Thoughts
This approach can be used for so many things that I’m excited to try some of my ideas. For example, you can use this to dynamically view pictures or photos to tell a story.
This article was originally written several months before publication. Therefore, the content on my blog is now a bit out of order, chronologically speaking. Since I completed the experimental testing shown in this article, I used the techniques to write a couple of articles I have already published. Here are the links to those articles:
Article 1: A Tableau-Based Photo Viewer
I am trying to clear-out my backlog of blog articles that I have written and and never published. There are still a lot more of these for me to finish!