Adding Images to Tableau Data Visualizations with Cloudinary

Tableau is one of the widely used data visualization and business intelligence tools! And adding dynamic images to charts and graphs is even easier, thanks to Cloudinary’s transformations.

Timothy Ngwena, lead consultant for Aimpoint Digital, created an eloquent solution with the two tools. In this DevJams episode, he walks through the steps he took for adding images in Tableau. You’ll see how he breaks apart the Cloudinary image URLs to create a consistent output. On top of this, you’ll learn how to dynamically resize and shape images with Cloudinary’s transformations.

So, join Cloudinary’s Customer Education team and Tableau Tim for this deep dive! You’ll be using your Cloudinary images for business intelligence purposes in no time.

Sam Brace: [00:00:00] Welcome to DevJams. This is where we talk with developers who are doing interesting, exciting, intriguing things when it comes to working with images and videos in their projects, and because this is a program that is developed by Cloudinary, probably a lot of that image management, video management, delivery, is probably done by Cloudinary too.

My name is Sam Brace. I am the Senior Director of Customer Education and Community at Cloudinary. And in this episode, we’re taking a little bit of a unique spin on this. If you are a regular listener and watcher of the program, you know that we typically are talking with developers that are going to be showing off code and scripts many times for websites, especially for optimization purposes or unique ways of delivering their [00:01:00] content through our upload APIs or Admin APIs, who a lot of times are talking about frontend frameworks. We’re talking about all sorts of interesting things, but there’s a certain flavor of developer that we’re talking to.

Today, it’s a little bit different because we’re gonna be talking with somebody named Tableau Tim. And if his name tells you anything, this is an episode about how to use Cloudinary with a very powerful, very well used business intelligence software named Tableau. And it’s not something that we commonly talk a lot about here at Cloudinary.

Since it’s not the main use case that we have for this, but what I love about this overall episode is that Tim is going to be showing us how to stretch the boundaries of what Cloudinary is able to do and be able to use it for business intelligence purposes, particularly when you’re having to add images into data visualization, into overall business intelligence data points that you’re going to be having inside of Tableau and how to handle that with dynamic resizing, which is very cool. [00:02:00] Joining me for this episode, as with all episodes is Jen Brissman, who is a Technical Curriculum Engineer here at Cloudinary. And I am so happy to have her here to help us guide this conversation with Tableau Tim.

Jen, welcome to the program.

Jen Brissman: Hey, nice to be here.

Sam Brace: So tell me, why are you excited to talk with Mr. Tableau Tim?

Jen Brissman: Mr. Tableau Tim, the Tableau Tim. I’m very excited to talk with him today for a few reasons. Personally, I’m really into data and databases and the power of what you can do with data to assist with business growth and development. But also it makes a lot of sense that we’d be talking about Tableau with Cloudinary because Tableau is focused on visual analysis. It would make sense that images are getting pulled into this? And I’m excited to dive into that a little bit more in today’s episode.

Sam Brace: Me too. And you said it very well, Jen. I completely agree with everything in this case. And what we want to make sure of before we dive into this is if this is your first time coming to us. Please know that, of course, we’re going to have show notes. We’re going to have links to all the places that we [00:03:00] reference the material that Tableau Tim, myself, and Jen are going to be talking about, but also know that you can always check it out at and you’re going to be able to see that he has lots of material, lots of links to all of the content he’s creating, that’s teaching people that are in the business intelligence and data visualization space, how to better use Tableau. On top of all of this, of course, this is not the first episode that we’ve done of DevJams.

In fact, this is one we’ve done for many years now at Cloudinary, so you can always check out all of the previous episodes at, or wherever you like to watch or listen to podcasts, such as YouTube, Spotify, Apple Podcasts, Google Podcasts, and our own training Cloudinary Academy.

On top of all of this, please know that you can continue a lot of these conversations in our Cloudinary community. That’s going to be at, and you can see that there are forums where people can be able to post all of the questions and answers and findings they have about working with Cloudinary, and we also do have a [00:04:00] associated Discord channel, Discord server with many channels to be able to give you all the information that you need to be the best Cloudinary user and be the best developer that you possibly can be, especially when it comes to images and videos.

Without further ado, let’s bring on our friend Tim. Tim, welcome to the program.

Tim Ngwena: Hey. Thanks for having me.

Sam Brace: Tableau Tim. It’s an amazing name. I love alliteration myself. Talk to me about how did this come about? What sparked the interest in Tableau? What started the overall push to start educating people on this business intelligence software?

Tim Ngwena: It’s a great question.

As with most answers in this space it’s typically never intentional. So I started working in marketing analytics, essentially social media analytics, quite a long way ago in higher education and one of the issues and challenges at that time. It was just the start of sort [00:05:00] of social media and starting to think of analytics for social media. Was that the only real sort of analytics you could get was descriptive analytics quite basic stuff you know, counts of likes, counts of shares, and It was is really hard to really use it to do anything.

And so I realized then that I didn’t know enough about handling data, you know beyond Excel which I think is most people sort of initiation of data.

I realized I didn’t know enough about it, and it just kept on coming up. It was a common theme in a lot of the discussions I was having.

And you’d never mention data itself, but it would come up a lot. And so I started on this journey, essentially working in consulting, in an analytics tool called Tableau.

I’d actually met Tableau before that. I didn’t know it, but it turned out that I really enjoyed using the tool. And here we are nearly a decade later and I’m helping people learn how to use it. I learned online on blogs, videos, and actually I didn’t think there was enough video content out there, which is the predominant format that [00:06:00] I make.

And so I thought I could add something to the space and bring a bit of my passion for creativity and design and sort of video content creation to that as well. And that’s pretty much how the channel started three years ago.

Sam Brace: Absolutely. Amazing. Absolutely. Amazing. And I’ve seen, you’re in the tens of thousands of followers, subscribers, and I know that just in conversations with our Cloudinary community, we’re seeing that people are responding to a lot of the work that you’re doing. Where they’re referencing it in tickets and community conversations. It definitely seems like you’re making a major impact. Have you seen that where like people in the business intelligence space are almost seeing you almost as like a celebrity? “Oh! You’re Tableau Tim!” Is happening now?

Tim Ngwena: It’s an interesting one because I think it takes time to… it takes time for good ideas and things that help people to reach people.

There’s so much content I’ve made three years ago that people are finding today and they’re finding it today more than they did last year and the [00:07:00] year before that. So, I always say this to people, when you start out and you’re trying to help people, whether you write a blog, make any content, don’t expect the value to come immediately.

And just because it’s great doesn’t mean everyone who’s going to think it’s great will find it at that moment in time and that’s pretty much just how the channel is growing The majority of my content is just generic stuff that gets people off the ground. I’ve always tried to focus on the zero to 60.

I think once you get into a product well enough, you know where to find really good advice and really good help, but when you’re starting from nothing, you don’t know what you don’t know and therefore you don’t know what to search and find, right? So, my role in the community has always been about getting people from absolutely nothing to deep enough into the subject that they can then go off and consume, many other bits of content made by other great people in the community as well. So yeah,

Sam Brace: Then what sparked the interest for the project that we’re gonna be talking about today where we’re talking about images within the [00:08:00] overall Tableau platform. I know, Jen, you said it perfectly about data visualization. It’s where you’re able to visualize data. So of course, images do commonly come into play here, but Tim what sparked the interest?

Tim Ngwena: So, it goes back to the point I made earlier about creativity and business intelligence tools are designed to be exactly that. They sit on top of a pretty old architecture, which is SQL. And so they have to have some sort of way of getting information from a database and bring it to the sort of end user.

Now, new databases do support images, but traditionally the presentation hasn’t typically thought about that. If you think of a typical SQL interface, the only way it can return images is through ASCII art, right? That’s what happens. And visualization tools have had the same sort of challenge actually, because they’ve come from this world.

Images weren’t something that they [00:09:00] had natively as a format that you’d pull through. But that’s ironic because they’re visualization tools. They actually build charts. They build really beautiful pieces of work, which in themselves become images. Working with images has always been difficult.

And the thing that makes images difficult is that when you create an image. We take images almost frivolously today on an iPhone, but when I was young and giving away my age, you really thought about taking a photo. You had a windup camera and they had 30 photos in there, right? And so you didn’t want to waste the shot.

And a lot of things came with that. You thought about composition, you thought about size, you thought about placement. And actually in today’s world, because we generate images so quickly, we’ve lost that sort of care and attention to images. And so when you come to, business intelligence and you’re trying to add images to your dashboard, all of this thought didn’t take place when you took the image.

And so you’re faced with a few problems like. How do I get these images in a consistent format? How do [00:10:00] I bring them and size them all so they fit? One of them is too large. One of them is too small. One of them has information that isn’t suitable. How do I remove that?

And again, you’re looking at other tools. Image tools, typically, which, things like Photoshop scripting tools, and that just doesn’t make sense in a business intelligence workflow. And so I’ve always had this sort of, idea in my head, like business intelligence professionals are good at working with data.

They don’t need to care about the, idiocracies of working with images. Let’s try and find a way for allowing them to work with them in the way they know best. And actually a friend of mine previously introduced me to Cloudinary because we were talking about hosting images for websites, which is how I actually found Cloudinary.

I used it as a way of hosting images for my blog. And it dawned on me when I was going through, I was like, “Oh, look at this. You can actually manipulate the image just through the URL and Tableau can work with URLs.” [00:11:00] And so I kept the idea. I didn’t actually do anything with that thought I just sat on it and it wasn’t until I got the hint that Tableau was starting to take images seriously that I thought, “Right. Now we can really put this to use. Let’s get this let’s get this concept out there.” Because when that feature comes which it has done and it’s been enhanced on since, there’s going to be some really powerful things you could do with this.

So yeah, that’s how I got into the topic. Long, long explanation, but hopefully it gives all the context.

Sam Brace: So, when we’re talking about dynamic resizing, talking about using Cloudinary in those cases, how are the images being used? Are we essentially putting images for data points or are there other elements that are going to be the image aspects?

Tim Ngwena: Good question. Good question. In business intelligence, you’re typically analyzing data from businesses and businesses operate in certain, let’s call them verticals. And so there’ll be some verticals where images are just native. So if you take retail, if you take consumer products, if you take fashion, if you take [00:12:00] real estate, which will be the example we’ll look at in the demo today, these are all places where you’re looking at information about a thing and that thing sometimes it’s visual aspects make it easier to define in a dashboard or make it easier to figure out. If I take fashion as an example some items of clothing can have 35 different variants of color, size, shape. Just being able to see it makes you identify it much faster. And that’s the whole point of visual analysis, getting to the answer faster. Not having to work through data. Whereas, if you look at the naming convention for some of these products, it just makes no sense.

I always take a dig at Sony. Sony are the ones who are really bad at this. They name their devices with like weird letters, like W X Y, all these things. And so actually just being able to see the product, you immediately know what it is. It’s the same with a car. If you see a car, the make, the make and the model sometimes very quickly, but if you only looked at the names. It’s quite hard to figure out, which caused which.

Sam Brace: No, absolutely. That makes a [00:13:00] lot of sense.

Tim Ngwena: Yeah.

Sam Brace: So, I’d love to see this. Let’s go ahead and pop over your screen and then let’s look at what we got here.

Tim Ngwena: Good. Should I start with an explanation of what Tableau is? While I do this?

Sam Brace: Oh, yeah I feel like we’ve talked about this a little bit in terms of business intelligence software data visualization, but the official intro from Tableau Tim would be fantastic.

Tim Ngwena: Absolutely. Absolutely. Hopefully you can see my screen. So i’m on Tableau public. This is a free version of Tableau. The simplest explanation of what Tableau is, is it’s a business intelligence platform designed to help businesses get their data through what I would call an analytical pipeline and ultimately to some sort of visual analysis. Whether it’s a dashboard, it could be a metric with some sort of indicator telling you how good or how badly you’re doing.

And Tableau is a company, that sort of look after all the different products that help you achieve that overall pipeline. So, Tableau desktop is [00:14:00] the tool that, we’ll mostly be using. Strictly speaking, we’re going to be using the web version. Tableau public is the free version. This is what I’m using now, which means anyone watching this can come and follow along this tutorial if they want to.

And they have other tools in the setup, but fundamentally Tableau desktop, Tableau public, and web authoring are the core of what we’ll be using.

They connect to data and allow you to visualize it. And you see the approach to that as I start working through it, but it’s supposed to be accessible to anyone in any business so they can just get on with insight rather than spending time writing SQL or doing whatever.

And it just all sits on top of SQL. When you do something in Tableau, it translates it to SQL, gets the data for you, brings it back, renders the visualization and presents it to you. That’s how it works. Yeah, good. Let’s start with let’s start with the images actually. I’m using ARC here, so I’ve got everything already to go here.

So, [00:15:00] if I go to Cloudinary. It’s managed to log me out. So, let me just log it back in quickly. And, I just want to give you a flavor of what the images are, what the use case I’m using here is. You can see I have a bunch of images, have a bunch of assets. And these are just essentially, if I go out of the list for you and go to the cards, you can see these are images of buildings.

And the use case here is I’m an asset manager in a property development company, and, buildings have weird names. If I’ve never been to them, I don’t know what they look like. And on top of that they’re located in lots of different places and sometimes just being able to see them can help you make some sort of value judgment about. The next step you might need to do, depending on the kind of property it is.

So, I went on and you can see the tags are all from unsplashed and I brought them into Cloudinary. Super easy. A few things to [00:16:00] notice. You can see their resolutions are all very different. Nice high res images for the record.

I like high resolution images. Take them once, use them everywhere. Low res images. You have to do a lot of work to get them usable. Just being able to bring everything in here really quickly, upload them. It’s perfect. It’s probably the easiest image upload tool I use other than systems that backup stuff automatically on your phone, which is the next easiest step where you do nothing, but with a business use cases, you have to be more intentional. Then this is what we’ll use.

And what I’ve done is I’ve selected all of them and I’ve tagged them. So, if I go to… let me just go to, let’s say this image here. Let’s just go to this. You’ll see that it’s got a, it’s got a bunch of assets related to it. And on the bottom, you can see these transformations.

These are the transformations that I got super excited about when I first saw this, cause I thought, wow, this is amazing. You’ve got the [00:17:00] main image here and you can make this sort of do something different. And what I’ve done is I’ve tagged them in order to be able to find all these images easily.

So they’re all building images. So I’ve gone and tagged them with a tool called building. And if I just come out of this and the problem I have is that I need to be able to load all these specific images into a data set. And of course, Cloudinary is a developer tool, but like I said before data nerds we’re not strictly developers.

I’m going to get roasted for that, but anyway, we use mostly SQL, which is, the scripting tool, I’ll say. Dashboard development is often a visual tool, it’s got some calculations, but no more complex than something like Excel. So we sit in the middle.

We’re not quite developers, but we think we are right. More roasting for that.

And [00:18:00] the problem is I just wanted to get a CSV of this image. So actually I just, I went on Cloudinary, I went to Google, actually, and asked, “Hey, how can I bulk explore all the images easily?” And actually found this from three years ago someone asked the same question in the Cloudinary community and there’s a couple of really good questions and responses and requests for features, but someone actually made this nice little script here

And I took a look at that and the images are public so i’ve got no issue using this script and so I just took a look at that and it actually does exactly what you’d expect it to. You just give it the cloud name, in which case is my name. So Tableau Tim and I tagged all the images with a tag called building.

And that is pretty much it. It goes and downloads a data set with the Image ID, which is known as a Public ID, and then a URL, which we won’t strictly use, but we just need an identifier and we need to be able to figure out the the URL for that. [00:19:00] And so all I’ve done is I’ve downloaded that onto my desktop. So, if I just bring this on screen. If I… give me one second.

Sam Brace: And the one thing that I’ll point out while you’re doing that is that the great thing about JSFiddle, that open source tool that they’ve developed, you’re showing, of course, the UI or the user interface aspect of it. The nice thing is if any of our watchers go ahead and click that edit in JSFiddle option, then you’ll see all the underlying code that will show the script that’s associated with that.

So, to your point, like if you are a developer and you’re trying to get this to all work, we gave you all the details that happen to be here so that we can see JavaScript and you can see basic HTML and CSS just to mark this up. But all the underlying stuff, of course, is going to be right here in the JavaScript aspect of what they have for JSFiddle.

Tim Ngwena: Exactly.

Sam Brace: I’ll add that the work that Aditi, one of our fabulous developers was able to do, and it actually had amazing applicability. So this is great, Tim.

Tim Ngwena: Yeah, absolutely. Just it … and it speaks to [00:20:00] that point, the platform lets you do this and the way to do that is through the API.

And this is, this just bridges the gap. And you can actually customize this right to do something. I’m sure someone could wrap this up into an analytical tool that sits within an organization. You give it a tag within a Cloudinary account and off it goes it brings all the images for your dataset ready to go.

That’s probably another little tool someone can build. But nonetheless, you get the idea, we bring the data set. And so what I have here these are small, but I’ll just show you the the mock data set. We’ll just wait for this to open up. It’s a CSV, so it should be quite quick. Excel typically likes to catch these.

So here’s the, here’s what it generates. And this is pretty boring still. I appreciate that, but you can just see what I’m getting here. I’m getting the Public ID. That’s actually what I’m really interested in. And for this demo, what I did was I took this Public ID. [00:21:00] And I went to Chat GPT actually to create a mock data set one of the great side effects of the code interpreter from Chat GPT is that it’s actually really good at creating mock data sets. So, I created a mock data set.

I went to the platform. I said, “Hey, can you create me a mock data set?” Where you’re using these specific images as images that are related to a specific building and give me some sort of mock, latitude and longitude. Just so that I could show you something meaningful, but also not actually sensitive to anyone. So, it came up with a mock data set for a building company, and you can see here, the Public IDs for the images. I’ve pretty much been mapped to a specific building. So, you can see here this Public ID is all mapped to building number 14. And if you go down, you’ll see it again and so on and so forth.

So, that’s our data set. That’s pretty much everything ready to go. And the reason this is important is in an analytical context, when [00:22:00] you’re taking pictures of assets, you’ll typically use the ID of the asset, the unique identifier of the asset to define not just the image, but also the row, the record in the database.

And that gives you a key. A key is basically something that allows you to map the two things together, and so we can then use that key in Tableau, a business intelligence tool to do a couple of things. So, let me walk you through that process, but, before I carry on have you guys got any questions things to ask before we hop on over?

Sam Brace: I feel really good. Jen, what about you?

Jen Brissman: The only question that I had was just in terms of the file type here, like the Tableau data extract file. I know that’s… What’s the difference between that and then the file we’re looking at here?

Tim Ngwena: Absolutely. Absolutely. So Tableau allows you to connect to a bunch of files. That actually tees up the next step quite nicely. So, let me go to that, because I think it’s easier to show you there.

Let me go to Tableau public. For everyone’s benefit, Tableau public is free. You can go create an account and it actually allows you to [00:23:00] build visualizations for free. There is no difference to the full version of the product other than you can only save your work here to this Tableau public gallery.

You can keep your work private, you don’t have to make it public. But in essence, you also can’t connect to databases that’s seen as a paid for feature or professional feature. But otherwise you can go up to Tableau public. Download the desktop version if you want to use it on your machine rather than on the web I’m going to be bold and do everything in the cloud as Cloudinary is a cloud tool. We’ll do everything in the browser and here you go, it immediately opens up the authoring experience and it points to your question.

Look, what can we connect to? And in terms of connectors on the free version, you’ve got Google Drive and O Data those are viewed as things that you can use because people store datasets in those places. I think tools like Microsoft OneDrive and so on will come in the future. But when we connect to data here, it’s actually just asking us for our raw data.

So let’s go to this data [00:24:00] set here. Let’s just open that up. And this is a CSV. Okay? And when Tableau opens a data source. You have two options. It can connect to that data source live. So, it just uses that data source as is, but because here we uploaded it to the cloud platform, what it’s done is it’s taken that data and it compresses it to a format called a TD, which is just a Tableau data extract.

It’s a form of compression that Tableau applies to the data. That is really good. You can take a 200 meg CSV and turn it into a 10 meg file, which is quite nice, but it also does a few things like it stores the data in a more optimized format to be able to do computations in a more sort of, performant way. So things like count distincts, sums, averages, those are all faster if the data’s been stored as a TDE. But you don’t have to. When you connect to a database, you can just connect to it live if your database is fast enough. But most people tend to take an extract because [00:25:00] an extract is essentially a snapshot. So, it just performs a little bit faster. Yeah, hopefully that answers your question.

Jen Brissman: It totally does. Thank you.

Tim Ngwena: Good, so here we are. We’ve got the data. You can see the general information I can actually click update now and you can see the same thing we saw in Excel. And this is great the nice thing is that this is not unique to Tableau, all business intelligence tools have features like this. We can do some basic data prep here.

For example, if you want to split this out using the forward slash, you absolutely can. So I can just go in oops, sorry. I can go in here and create… where has the option gone? Why has the option changed in front of me?

Jen Brissman: Because you’re doing a live demo, of course.

Tim Ngwena: Because I’m doing a live demo, of course. Web edit has come to haunt me. There is there, the reason this is caught me out is because there’s a slight differences between desktop and web edit. And when I did the [00:26:00] initial start of this demo, I did it in desktop and then I thought, ah, we’re doing Cloudinary, let’s do it in WebEdit and I just transferred it to WebEdit.

So, I’ll show you how to fix this problem later.

What I wanted to do is split this with the forward slash automatically, but it’s not showing up here. So, we’ll do it inside of the desktop with the calculations. So, that’s fine. The other file I wanted to bring in was actually the other CSV file.

So, let’s go ahead and get the image URLs and here we go. We can see that this is loaded up here. So you don’t see it here because of course we’re still connected to this file. But if I click on this little box, you get a little preview. You can see our image URLs are right there. Okay. So it’s actually done this in a new window.

I don’t know why it does that. So let’s just go back to Tableau and click okay. And let’s just bring it in. And what I’m doing here is I’m bringing the dataset into my data window and it draw, it drew a little line and it’s got this exclamation [00:27:00] mark saying, Hey what is going on here? So let me zoom in to make it easier to see what essentially.

It’s trying to do is it’s trying to form a relationship between these two datasets. If you’ve ever done any data modeling or work with data, it’s essentially asking, “Hey, how do these datasets relate to each other?” And the common field they have is the Public ID. So, let’s go ahead and get that. And let’s go ahead and match that. And so as soon as we’ve done that, Tableau now understands the relationship between those two. It’s not quite the same as a JOIN, if you’re used to working with data it’s slightly different because what Tableau does is it dynamically decides on the relationship. As you work with the data and that kind of gives you flexibility when you’re answering business questions, because you might have a question that needs to answer a question from the perspective where there is no data. Whereas, if you do a JOIN typically you lose that information.

So, that’s why I’ve done it this way, but you could do it in multiple other ways. This is not a data show, so we won’t go into those. [00:28:00] We’ll just carry on. So, here you can see my Public ID and everything’s good to go.

And then now i’m ready to build a chart, so once I’ve done everything with the data, I can just go ahead to sheet one and once we’re there you’ll see you get the Tableau desktop interface and it actually creates the file we were talking about earlier the Tableau data extract because this is being done in the cloud this is fairly quick, but it’s just processing the two CSV files.

It creates an extract file. You don’t see the extract, it’s not for you to worry about, but you see our two tables. Tableau calls them tables. If it was a database, these would be separate tables from a database. But, you can see the fields from both of these, if I expand these out and we’re pretty much ready to go.

And if you’ve never used Tableau before very quick guide, this is your data pane. This is where we build the chart, and everything is controlled by what you do in columns and rows and marks – the marks pane here. [00:29:00] And then filters and pages are just all forms of filtering. So, the blue areas are where you control what you build and the red areas are where you get things and put them onto the canvas to build something.

So, if I wanted to build a simple chart showing utilization for a particular complex, I would just grab complex name, drag it into rows, and you’d get a row for every complex, and then you’d get utilization percentage. You’d put it on columns. And there you get a chart. Pretty dead simple, right? And you’ll notice that it says 600% utilization. And this is where being able to very quickly work with your data is useful because what you want to be able to do is to quickly have a look and see, “Okay, what’s going on with my data? Why is it behaving like this?”

And so with Tableau, anytime you click on a data point you can actually go and see a table, and it goes back out and you can see here, we’ve got 618%, and why is that? Oh, it’s because it’s aggregating multiple records, right? It’s just summing this up. So, very quick [00:30:00] insight just to get you straight to the point.

So, let’s go back to the tab and what we’ll do is we’ll just tell it to give me the average utilization. I know you can’t do averages of percentages, I know, but let’s just for ease of use. Let’s just assume we can.

I know someone will say that you can’t do that. That’s why I said that. Right, so we have our utilization pretty much ready to go, and so you’re probably wondering “Well, where do images come into this?” This is it. This is what I was saying earlier. These building names are pretty standard. Yes, it’s mock data, so it’s not easy to see. If it had real names I might be able to know which one I’m talking about, but nonetheless, I’ve never been to them.

How do I know what they look like? It would be great to have images. And so the first way to do this is just to bring the URL in.

So let’s go ahead.

I’ll bring the secure URL, which is actually from our dataset that we exported using JSFiddle, and you can see the images are here. I’ll keep them there just so you can see that the images… that the [00:31:00] links are working. And we’ll go ahead and create a dashboard. And we’ll just bring our Dashboard into the canvas. We just drag it in. And i’ll go get a web object and just drag that in.

We’ll make it floating so we can keep it just there. I’m a little bit tight for space, but we’ll just keep it like that and then what I’ll do is I’ll just leave this -I have to put something in so I’ll just put for now.

It won’t load anything. And because that’s not a proper URL it’s looking for http whatever, but it’s fine, we’re going to change that.

And then the nice thing we can do now quickly in Tableau, let’s go to dashboard actions. And we can add an action to go to our URL and put that URL into the web object, which currently is loaded with the

I want Tableau to do this on selection. So I’m going to click on this. And we’re going to insert the secure URL when I click. And it gives me a preview of what that looks like. So, to explain this, when I click on a complex, [00:32:00] Tableau will kick off this action. To get the URL, secure URL. This is this field here. And we’ll get that from our dataset and it will feed it into the web object right here. And that web object will change and if it’s an image, we’ll see an image hopefully.

So let’s click okay.

And I hit okay. And now when I click on one, you see it loads an image and it is working. Not great images cause they just seem to be single colors. But remember earlier on, I said here’s the idiocracy of images. The photographer went on site and took a beautiful high res image, but here we are in a dashboard and it’s not sized correctly, right?

This is the problem, and most people are probably complaining.

“Oh Tableau. Why can’t you just fill the box with the image?” Like you probably want an option to say scale to size or whatever. But this is a business intelligence tool. This is not Figma. This is not one of these other design tools, it’s not designed to do that. So, how [00:33:00] do we fix this? And this is where really Cloudinary comes into play, okay.

So, we’ll get a bit more nerdy. Let’s go back to our sheet, and what we want to do is essentially grab – let me just open a new sheet here and just do this. Let’s drag the URL in and make sure that’s the only thing we’re seeing, and pull this out. So here’s a full URL.

And what we want to do is we want to basically intercept, not intercept this URL. Sorry, that’s a bad word. We want to split this URL into two. So we want to take this first part of the URL. And then we want to take the second part of the URL. And the reason is because in between those two, we can put what are called transformations from Cloudinary into that space in the middle.

And those transformations can help us. Change these images just using the URL and that’s the use case here. We’re going to change this without having to go back and rescale the images. Right here inside of Tableau, we’re not actually going to do it in Cloudinary. We’re going to do it here in Tableau [00:34:00] where you’re essentially doing your work.

We’re going to do a couple of things. Now, what I’ve done is ahead of time I’ve written some calculations, but I will explain them.

And yeah, if you’re a data nerd or a developer, this is probably the closest to development we’ll ever get.

And this is what I mean by kind of developers not really. It’s just a very simple string calculation, essentially to find the position of a specific phrase.

It’s called upload. We count back one, and then after that, we know that the specific points in that URL relate to specific things. So I’m just essentially splitting this out and getting what I need from it. That’s what I’m doing. So, if I hit apply, let’s call this base URL.

And then I’ll just put this in place of the secure URL and you’ll see that this is what it looks like. So all I’ve done is I’ve just gotten rid [00:35:00] of the first part of that URL and that’s useful because now I can put whatever I want in front of this to do a transformation. And that’s where we get to the second step of the calculation.

And have you got any questions before I carry on? I appreciate I’m moving quite fast, but yeah. This is a good time to stop.

Jen Brissman: Yeah. The only question I had is about versioning. So, I noticed you do keep the version number in here. And I wondered if there was a reason or intention for that.

Tim Ngwena: No, when you say versioning number, do you mean this? The this number? Yeah. I actually I’ve never, I said, I’m not a developer. So I just go with the URL that the platform gave me.

Jen Brissman: Okay, cool. Yeah. Your calculations have to do with that upload slash, like that resource type part of the URL you’re calculating from there. But these version numbers hang on, and this isn’t super important to mention in the episode, but they’re not necessary in order for the image to render, you could delete the version number and it would still look the same. It’s just to prevent [00:36:00] overwrites essentially.

Tim Ngwena: Perfect. Perfect. So it means I can use the same asset. And if a new version does come up, I use the latest version, right?

Jen Brissman: Exactly. Yeah.

Tim Ngwena: Good.

Jen Brissman: That was the only question.

Tim Ngwena: Yeah. No, that’s a great point to highlight like I didn’t put that in my video, and I bet you everyone who’s followed my video doesn’t know that they think they need it. So good point of clarification.

Jen Brissman: It doesn’t matter whether they know or not as long as it works like that’s the part we’re focused on

Tim Ngwena: Exactly. I always say read the docs for yourself. Good work. Now that we have this here, we’re pretty much ready to go. The bit that we are interested in is actually the, what I call the the leading part of the URL. So let’s create the URL we’re actually going to use. And I’ve just copied that off screen.

I copied it earlier on. What I’ll do is I’m essentially building the text parameter that’s going to create my URL and I’ll just put a forward slash after that upload because everything else pretty much comes after that. And what [00:37:00] I want to do is add a few things in between here. I’ll also add the base URL.

So you’ll see Tableau auto completes. So we’ll just bring that in. And I will also add one more plus. Because what we’re going to do is add something in between here. Double and single quotes. I’m just doing this to show that they’re different parts of the text, and you can ignore the spaces in between here.

And so here, what we can do is we can actually add the transformations. So we can say it’s a very sort of simple format. And just so you know where I’m getting this from, there’s a transformation URL, API reference you can actually see the transformations in the demo sort of area.

When you go to an image previously before when you click on, let’s say this image. When you click on the demo transformation presets here you can see what’s being done to URL. But [00:38:00] the thing about this is it’s got quite a few transformations baked in. So if you’re just trying to follow along, it could potentially be it’s an okay place to start, but if you want to deconstruct it, so you know how it works.

And so that’s why I like this transformation reference, because it’s actually quite a simple setup. You’ve got letters of the alphabet on the right hand side and they just relate to a specific transformation. So, if we want to change the width and the height, surprise surprise, it’s w and h. So, we can just go back to Tableau and we can just say, width_, let’s say 300. Actually, I’m going to choose 150 cause I’m thinking ahead here.

So, width_150 and then comma h_150. So that will give us an image with a width of 150 and the height of 150, and it’s just going to sit in between those two things.

So let’s go ahead and say, this is our Cloudinary URL. And we’ll hit apply and we’ll hit okay. And so we can just check that out and make sure the URL works.

[00:39:00] And this should work. Let me put away my sidebar again. Grab this. And the thing I’m checking here is I’ve not got too many forward slashes, yeah. So that looks good. And you can see it’s applied it across the whole thing. So this is the nice thing about Tableau. It’s an analytics tool, so you can do calculations.

The thing I could also do. Is I could do conditional calculations. So for example, I could say “Hey, if it’s this building complex, do this specific transformation, and if it’s that building complex, do another transformation.” Because it’s a calculation, logic statements, everything are all possible inside of the window.

And Tableau will set this up. In my YouTube demo, I even give the user the option to choose the transformation by giving them a parameter and they can change the transformation themselves. So, we’ve got this here. This is working. Let’s go back to our dashboard here because you see what we want to do is get that loaded into this box. So, we’ll go to sheet one and replace the secure URL with our [00:40:00] Cloudinary URL, sorry. Go back to our dashboard and we need to change this because it’s still expecting that field called secure URL. So, we’ll go back to our action and we’ll tell it instead of secure URL, let’s just delete that.

Let’s insert the Cloudinary URL. So, same concept as before. I can even change this hyperlink… I won’t change the hyperlink cause we’re not going to actually see it. So, we’ll leave that as is. Hit okay. Was there a question there?

Sam Brace: Nope.

Tim Ngwena: No, cool. And if I click on a particular image, there you go.

There’s a transformation it’s worked. So now that, these were like 6,000 pixel by 6,000 pixel images. Cloudinary is doing the work of wrangling them. And it’s doing this in real time. Like, I’ve not gone to these images before and pre-cached them. Although, if you do use them multiple times, you’ll see they load instantly once they’re cached.

So, that’s another nice use case. In business intelligence, you [00:41:00] typically have hundreds of users using the dashboard. So as soon as one person goes to the dashboard and loads it up, it will get cached and now every load after that, it’s going to be super, super nice and zippy and it’s going to work nicely.

And if you need to change the transformation afterwards, you can. You can just go back in and change that. And so that’s the first thing. Just being able to control this little box. And this is a nice other use case. Businesses dashboards tend to have a logo, company change logo, have to go around all the dashboards, trying to find which one’s using the old one, whatever. With this, what you could do is just give it an image URL.

And that could always be a specific size. You could even size a logo within that box Leave it in the corner when the company changes the URL, all the dashboards change. Really simple use case. Perfect for this. Okay, and I think Cloudinary supports like a whole host of image types SVGs…

Sam Brace: Oh yeah. Yeah.

Tim Ngwena: Exactly. Which Tableau does too. So [00:42:00] that’s good. So, this is great, but I think most people watching this are like, “This isn’t what we were imagining. We want the images over here.” And this is where Tableau really stepped up in the last six months. They added this capability first with JPEGs and PNGs, and now they’ve added SVG and even GIF support, which is great if you work in products, because you’ve got these, yeah.

I always think of GIFs as little videos. So, if you’ve got these sort of product videos in the form of a GIF, you can actually bring products to life on a dashboard with this as well, because it’s all supported here. I’m not going to go through that sort of pipeline with GIFs, but what I’ll show you is how we bring these images into this little table as a simple example.

So, we’ll go back to our sheet, and Tableau have this ability. If I sort of bring your attention to this field here. When I go and right click on it. So, let’s go ahead and right click on that.

You’ll see there’s this option called image [00:43:00] role and an image role essentially allows you to specify that this piece of information is actually an image and it’s being pointed at a URL. And so we can just go ahead and do that and you’ll see Cloudinary rendered all of those and there we have all the images nicely loaded.

And so this is a huge deal because without the ability to resize the images dynamically what we can actually just show you what, what would happen. If I just go and just remove basically everything in here. So we just basically have nothing in that space and hit apply and hit okay.

And you’ll see, it’s okay, but it’s not okay. The first thing you’d get from this is, “Oh, can we get everything aligned?” If you work in business, it’s literally, people take shots, not at the analysis, but at the design, right? [00:44:00] So this is the first thing they’d go for. So, it’s really useful just to be able to come in here and specify what you want. And the transformations are super powerful and I’ll go into that in a second. Let’s just say h_300, sorry, hit apply open them back up.

Sam Brace: And the thing that you can always do with all this stuff too is as you’re showing you can play with these transformations. So, if you are finding an output that you don’t like If you’re saying, I want to change the aspect ratios to be one by one, I don’t want to play with what the actual width and height parameters are. That’s a way to get nice squares.

Tim Ngwena: Yeah, exactly.

Sam Brace: There’s lots of really cool things you can do. To your point you could change it from 150×150 just to 300×300 in this example. You can visualize this how you want this to be done through simple URL params. So this is great.

Tim Ngwena: Exactly. And you can even build a mock interface for that, right? Very quickly in five minutes. And that’s where I want to point to this URL [00:45:00] API reference.

Because the list of things you can do is just absolutely crazy being able to enhance the image, right? You know sometimes… Property sticking on property. Let’s say you take a picture of a property indoors now most people most real estate agents take photos indoors, and they’re awful, because they can never balance the exposure between outside and inside correctly, right like… even though smartphones have come a long way you still get either a blown out outdoors or A super bright indoors and no detail whatsoever.

The enhance, I think there’s “e” the letter.

Sam Brace: Yep. So, e_improve would be a great one for that.

Tim Ngwena: Yeah, e_improve exactly is a good one. So, if I find it, where is it?

This is not great screen sharing etiquette, but yeah, here we go. Found it. So it’s super simple. You’ve got you’ve even got examples here so you can see how it works and how it’s set [00:46:00] up. And again, it’s exactly what I’ve just showed you. Just adding this parameter, I think you can even control how much, right? So 50%. Yeah. Nice. Yeah, exactly. So even fine tuning. Yeah.

Sam Brace: And to the point that you’ve made originally about Photoshop, this is meant to duplicate. A lot of the things that I’ve seen people use Photoshop for is hit like auto tone, auto contrast, auto color, and it’s all we’re using it for. And we’re like, “Oh let us do that for you dynamically.” And then you can scale that across all of your… rather than manually doing it one by one.

Tim Ngwena: And I think I mentioned indoor. I think I must’ve seen it before and it’s sat in my mind because you’ve even got the indoor what do you call it, the indoor tag there. So, you can just give it a situation in that context and it improves it.

Sam Brace: Actually, not to steal any thunder here, but one other cool one to mention is that let’s say that you get that really small image from the real estate agent. And you’re like, I can’t use this. One new one that we have is called e_upscale. [00:47:00] And what that will actually do is you using AI to upscale the image to something two or three times the size.

And so you can actually apply that. So that way, that real estate image in that case, now it can be dynamically sized. And so let’s say that you’ve got a bunch of like little I don’t know, 100×100 from the person. You’re like, “these are not usable for my project.” Don’t worry about it. Upscale them yourself. And it’s been amazingly useful.

Tim Ngwena: Yeah, that’s a huge one. That’s a huge one. It’s so important. In business intelligence, you also have this use case sometimes if you are working on sensitive information. You sometimes need to be able to dynamically add not censorship, but you know blur a photo, or cover a face, and these are all transformations that exist here in this sort of nomenclature.

All things that would be an absolute pain to do dynamically [00:48:00] and the thing I’m hoping to see one day is that someone is already using Cloudinary for some other part of their image stack, right? And maybe they’re building apps. Maybe they’re working on other things. I think it’s always nice that you highlight like, here are all the ways you can work with this image.

I’m using the simplest form, which is a URL, right? But you don’t have to change this image pipeline to then go use the same information in like maybe your fashion app where people buy the products. It can all be the same asset, which means your business intelligence and your front facing consumer thing are using the same thing, which is, I think, super important.

Sam Brace: I agree. I agree. I couldn’t have said it better. I love it. I agree.

Tim Ngwena: Single source of truth is like a big buzzword in analytics. It’s super important here.

Sam Brace: Absolutely.

Tim Ngwena: Yeah. So there we have it. That’s the use case. Now there’s so much more for anyone who’s [00:49:00] curious. There’s actually a couple of issues. Tableau do put like a file size limit on the images. There’s a certain number. And so again, Cloudinary actually enables you to get everything into the window, the operating window. If that wasn’t the case, you’d spend all this effort uploading everything to a place.

Only then to find out in your dashboard that actually two of them are wrong. And then now you’ve sat there with notepad and pen taking the image names, exporting them, putting the back up. It just gets rid of so much of the hassle. You know these, this is how to work with images and the sort of list of image types that are supported in Tableau. But I thought i’d just show that for context and it’s also worth noticing…

Sam Brace: One thing that made me really excited, Tim, was like, when you scroll down just a little bit on that screen, because I’m seeing they’re also supporting WebP here, if I saw that correctly.

Tim Ngwena: Yeah, where are we?

Sam Brace: It’s where WebP is something that we have lots and lots of support around. And so [00:50:00] one thing that you mentioned was that you can bring GIFs through for animation purposes. But one thing that’s also really exciting is that WebP also supports animation as a file type. So, you’re now able to optimize this so that way it loads quickly. It’s not too large. It’s hitting all the right sweet spots. But then you don’t have to bring it in as a super heavy GIF. You can have it where it’s nice, lightweight WebPs. So there’s lots of cool stuff that’s coming from what Tableau is now supporting that Cloudinary can basically say yes, and we can do that too. So this is very cool.

Tim Ngwena: Exactly. And I don’t know, you guys can tell me does Cloudinary, can Cloudinary downscale to like a target size?

Sam Brace: So there’s a few ways that you can do that. One of the easiest ways to do this, and honestly, if with the resizing that you’re applying, if you also apply our transformation called f_auto to this, and what that will do is it’s going to automatically deliver it at the most optimal format in that situation, so [00:51:00] as an example, as I was talking about, GIFs are typically pretty heavy. PNGs also are fairly heavy in size, so that would immediately start stripping out kilobytes by changing it to something more optimal. And then on top of that, we have a service called q_auto, which is essentially auto compression.

So it’s going to add a little bit of compression based on the situation that’s there. So I think if you apply your resizing your f_auto and your q_auto altogether, you, there’s no reason that you should never hit the sweet spot of the 200 kilobyte limit that Tableau has.

Tim Ngwena: Yeah. And then that’s, and that’s it like, again, it’s so hard to look at an image and tell someone whether or not it’s going to hit that limit. Because if I like as a really simple example, like this shoe as an image will take up less data than this shoe. And to explain that to someone, it’s quite hard because it’s all about the amount of color, the amount of detail in that [00:52:00] image, whereas the white shoe has literally probably only seven image, seven colors in there.

The other one has tons more. And people just don’t think of that and why should they right? And so the this kind of this just being able to just delete these challenges is really good. I like it.

Sam Brace: Well and this image that Tableau supplied here, it’s no offense to Tableau at all, but i’m looking at it I’m like, “He should be using our c_pad transformation because it would add white space around all of the shoes perfectly So that you have these nice two kind of crops but all of the shows there, but we’re also in white space to make sure we all feel properly.”

So, there’s definitely cases where I’m like, “Oh, Tim, if we could only get like everybody to see this.” The images and data visualization would just be perfect together. It’s like chocolate and peanut butter, you combine and they’re perfect. So..

Tim Ngwena: Exactly. Yeah. And I’m due to make a follow up to the video I made a few months ago. Because Tableau have added capabilities to this. And I think it’s starting to get to the point where [00:53:00] you don’t have to just use images in this sort of technique that I’ve shown you. I think if you’re smart, you have this capability in Tableau of just having floating image objects, and actually you could have them almost dependent on specific data fields.

So, it could actually even allow you to theme a whole dashboard. Completely differently based on the image and using Cloudinary to deliver that quickly to the dashboard in a performant way and just change the entire look of it based on data attributes. So you click on a building maybe the entire theme changes. Maybe you’re analyzing sports. You click on something and the entire sports field change or the coloring or the branding changes. All of these are super possible with this. So super good.

Sam Brace: And that’s interesting. It’s something for us to explore together, I think, because…

Tim Ngwena: Yeah, absolutely.

Sam Brace: I think that we analyze and are able to associate with a image when we’re bringing it in is there’s lots of metadata that’s associated with these images.[00:54:00]

And one of the things that we immediately start tracking is predominant colors that are inside of that. So, I wonder if there’s ways where if you’re talking about theming of a data visualization chart or a dashboard, that way you can say, find the predominant colors of the images and then map it to the actual theme of the dashboard.

Tim Ngwena: Yeah.

Sam Brace: That’s something that we already have baked into Cloudinary. So, there’s possibilities.

Tim Ngwena: It’s definitely a cool one to try. And you know this is always this is really simple functionality. I always have to highlight to people because I think if you come from something like Photoshop or Figma, this probably looks ridiculously basic.

You’re probably wondering like what world you live in where you get excited about images and tables. But in analytics, this is so relevant in so many use cases. And it’s just the context of where you’re using the image that matters. Yeah.

Sam Brace: Yeah, and it’s not like Tableau is only used by a couple people. This is a big piece of software.

Tim Ngwena: Absolutely. Absolutely. Yeah, [00:55:00] absolutely.

Sam Brace: It’s the reason why Salesforce made a major investment into it.

Tim Ngwena: Exactly. Yeah. I didn’t even bring that up. So yeah, absolutely. It’s it’s part of an even bigger ecosystem now as well. So super important.

Sam Brace: Absolutely. So I’m very impressed by what’s been done here. I think you’ve given most people that have to do work with data visualization and business intelligence a very clear path on how to cut up the Cloudinary URLs and use the Cloudinary place, essentially our accounts, our digital asset management portion as a single source of truth. And then, and I love your call to action and I will echo it. If you have a website that’s powering images and you have mobile apps that are powering those images, there’s no reason why your BI teams or your data visualization teams couldn’t immediately use the same assets for creating amazing workflows like this in terms of data.

Tim Ngwena: Yeah. Yeah. And it doesn’t matter what pipeline you use. I’m Tableau Tim, so I’m not going to demo Power BI but, [00:56:00] Power BI, you can literally follow the same steps. The steps I followed are I think tool agnostic. You know, those split functions exist everywhere. The ability to bring it onto the dashboard I’m sure there’s ways of doing that if you can serve up the URL. Cloudinary is just presenting the image and so it’s it’s something that you should try in whatever workflow you have, whatever visualization tool you have.

Sam Brace: I love it. So Tim, one thing that I want to ask you about, because now we’ve seen this awesome project and we know what’s happening with it and we’ve also pointed out as well that you are on, but is there any other like big spaces where, if someone wants to get ahold of you and say, I have a lot of Tableau questions or I need consultation, or I just want to say you did a great job when you were talking with Sam and Jen. Where should they be going? Is it LinkedIn? Is it Twitter? Is it somewhere else that’s cool? Where

are you wherever you are? Just search tablets him. I’m fairly confident. You’ll find me. I never like to tell people where to go because [00:57:00] it’s a bit like it’s just really tough people go where they naturally want to go, right?

If it’s threads twitter linkedin youtube search tabloid sim, i’m pretty sure you’ll find me and Yeah, I do have things like discord and newsletters, but those are less well used So start wherever you are and just reach out. I’m always open to contacts and meeting new people as well So feel free to ask questions

Okay, I have one, one question before we let you go.

That’s a little unrelated to everything we’ve talked about, but very related to the fact that you are a content creator, which is different than a typical guest on DevJams. And something I wanted to ask as a fellow content creator, and Sam is also a content creator, is… First of all, your content is fire.

It’s absolute fire. Like every video I’ve watched, I’ve absolutely loved and been really engaged by. And I wanted to ask you, what program do you use or how do you go about making those awesome sketches and all those animations? Yeah. [00:58:00]

Yeah. Cool. Yeah. The animated videos are just me and an iPad.

So I use procreate and procreate has this time lapse feature, which just records your sketches. To get it to work for video, there’s a few tricks, but anyway, I essentially use a green screen technique. So that when I sketch it’s accurate every time, but I first build a composition in illustrator.

So we started illustrator with a composition. We bring it into procreate, make it all green, and then I draw over it. And then in the video editing tool, I apply a green screen effect and the green disappears. And you can’t tell that I was essentially tracing it. And then This is all drawn to a storyboard and the storyboard comes after the script which I write I then do the audio for the script So the audio is done ahead of time and then I do the animation and drawing afterwards So it’s like a backwards pipeline.

You’d think I’d draw then I’d do the narration It’s actually the other way around because the animation has [00:59:00] to match the audio. That’s why it works So that’s that technique. And then I just sit in DaVinci resolve or primary prayer, whatever you use. And I just do time queuing and stretching out clips, compressing clips to make the timing or work.

And yeah, again, it’s just a creative outlet, right? Like I have this idea, something I want to do. I just find the shortest possible path to do it. And as I’ve been doing it longer, I found. Shorter and better ways of doing certain things. And yeah, it’s just been a really good way of bringing people on board.

So I do have a plan to take that format to lots more places and it just takes a lot of time. So I’m going to actually hire an animator at some point. I’m going to do it properly because tracing doesn’t always work. So yeah we’ll find some help.


Jen Brissman: Thank you so much for letting us see behind the curtain there.

That’s really fascinating.

Tim Ngwena: Actually while you’re here. Sorry Sam, if you go to the blogs section if you hit the blogs. [01:00:00] The top blog. Oh, there’s a Google ad there. If you click on making an overview of… that is the blog explaining how I did it.

Jen Brissman: Oh amazing cool.

Tim Ngwena: Yeah, so if you scroll down…

Jen Brissman: So, if anyone’s interested in his awesome videos. Check this video out, which is probably a very cool video about making cool videos. Everything’s connected here.

Tim Ngwena: What happened to my page? I put one ad on there and it’s been absolutely taken over. That’s so embarrassing. Oh, God…

Sam Brace: Do not worry about it. This is great. This is amazing insights.

Tim Ngwena: It’s all the details there. Yeah. You can check it out. I’ll kill those ads quick.

Sam Brace: Thank you again, and keep in touch because we want to see all the great things that you’re doing. And of course, as Tableau releases new capabilities, enhancements, features, there might be more ways that images, hopefully videos, maybe. I don’t know if we can incorporate it into data [01:01:00] visualization.

Let’s see what is possible.

Tim Ngwena: Good stuff. Thank you.

Jen Brissman: Thanks, Tim.

Sam Brace: So Jen, I want to ask you, what’s your big takeaway from this episode? What stood out to you with Tim’s demonstration of everything that’s powerful with Cloudinary and Tableau together?

Jen Brissman: Yeah, I think it’s just that. I think it’s that Cloudinary and Tableau are really powerful together. And there are so many technologies that weren’t obviously built to work together that work really well together. And another big takeaway is just that Tim said, “Oh, I’m not a developer” And, but he’s using Cloudinary and Tableau in a really technical way. And it just opens the door for people who might not be self proclaimed developers to use these technologies in a really technical and beautiful way. And just watching how these two technologies work together is really inspiring for me. And basically having a guest on the [01:02:00] show that isn’t our typical guest and with a program like Tableau that I didn’t know that we would ever have on a show like DevJams, and this perfect example. And I really think people can watch this and gain so much and just copy what Tim’s doing. And maybe even use some cooler transformations or like f_auto, q_auto, like you said there’s just so much to look at here. A lot to think about.

Sam Brace: I agree. And honestly, I can’t say it better than that. I am very excited to see how this is impacting because as I pointed out, we’re seeing lots of conversations where people are now seeing Cloudinary from a new perspective where they’re saying, “Oh, I can use it for this project and that project”.

And I think the point that Tim raised that there are probably many companies out there that are using Cloudinary to power their websites and their mobile apps for image and video delivery, but they haven’t thought maybe there’s other ways to expand that usage into a lot of [01:03:00] the things that aren’t part of the typical web teams or the software engineering teams or website side of things.

So it’s definitely where I think just knowing that your asset can live in one spot and can be used by many different types of programs and applications is a wonderful place to be thinking about. And not saying “now I need to go put it here or there or the other place”, or “now we can leave it in Dropbox and Google Drive and all these other places”.

Just put it in one spot and let everybody else connect to that. I like that approach. Yeah.

Jen Brissman: Yeah. And really that single source of truth is such a buzzword and it is so important and really another takeaway from this episode is that data is everything. Data is everything and it means everything to all tech companies.

So the fact that Tableau, which focuses on visual analysis and data analysis can be using Cloudinary is so cool. And even for myself personally, I come from a Python background and SQL is really my [01:04:00] comfort zone. And what got me so excited about being a developer is

the data and how powerful it is to work with it and these databases and relations and how they relate to each other and these joins that Tim was talking about that you don’t even have to like all that complex SQL that I learned when I was first getting into this, like it’s not even really necessary with programs like Tableau.

So it can make things easier for developers. So whether you’re a developer, whether you’re not a developer, there are these programs, like Cloudinary – developers and non developers can use Cloudinary – developers and non developers can use Tableau -and just take what you can and use it in the ways that work for you. It’s just, it’s a choose your own adventure. I love it.

Sam Brace: I agree. Absolutely. And if you want to continue that adventure that Jen is talking about, of course, go to check out That’s where all of our episodes, including this one, are going to be located on top of all of the typical podcast services that you [01:05:00] probably enjoy listening, watching the podcasts on, whether that’s Spotify, YouTube, Apple podcasts, Google podcasts.

We also host all of our podcasts in our training Cloudinary Academy. So on top of all the free courses and workshops and live events that we have for teaching people Cloudinary, that’s also where you can find many of the podcast programs that we are talking about here today. And lastly, but also extremely important, check out our Cloudinary Community to be up to the speed of all the latest and greatest things that are happening at Cloudinary and make connections with other Cloudinary users like yourself.

That’s going to be at, as well as our associated Discord server. Both are linked inside of the community section that is at that URL I mentioned,

Jen, this was wonderful. Thanks for being a part of this. Any final thoughts before we let our audience go?

Jen Brissman: No, I just, I think we’re so lucky to have had the Tableau [01:06:00] Tim join us on DevJams this week. So thank you, Tim, for your time. And I hope that our audiences find this to be as stimulating as I have.

Sam Brace: Agreed. On behalf of everybody at Cloudinary, thank you for participating in this episode of DevJams, and we can’t wait to see you at the next one- to learn more about all the things that developers are doing that are exciting, innovating, inspiring when it comes to images and videos.

Take care, and we’ll see you soon.