Enhanced Image role support for SVGs GIFS and More | New in Tableau 2023.2
Logos, icons, everything that can be a vector should be an SVG: tiny files, infinitely sharp, and now fully supported in Tableau 2023.2.
- Tableau 2023.2 expands image role support to SVGs, GIFs and WebP, and doubles the file size limit from 100KB to 200KB
- SVGs are vector images defined by paths and fill colours rather than pixels, so they stay infinitely sharp at any size and are tiny (often around 1KB)
- You can drag SVGs straight onto a dashboard as image objects in Tableau Desktop, keeping workbooks performant and crisp
- Hosting images on a service like Cloudinary lets you edit the URL to control sizing and padding, and may render images more performantly than the raw original
- GIFs and WebP with transparent backgrounds can be used as animated graphical assets to add flair to a dashboard
0:00In 23.2 Tableau have enhanced their support
0:03for images including support for GIFs and
0:06also SVGs. I'll talk so much more about SV
0:08Gs because I think they're underused in this
0:10space.
0:11As ever let's get stuck in and I'll also
0:13show you this really nice trick that I
0:15think could be used a lot more.
0:17Putting GIFs as sheets inside of a
0:19dashboard to add flair to your dashboard.
0:22Let's get stuck in.
0:23So as ever the video is time stamped so you
0:25can jump ahead to see the innovation
0:28straight away. But I'm going to start off
0:30in Tableau Public. We're going to go ahead
0:31and create a web altering session.
0:33Tableau Public is free so you can follow
0:34along and just get involved. I'm already
0:36logged in so as soon as I hit that I get
0:38the option to connect to my data.
0:40On my desktop I have this image roll file.
0:43Now you can see the images that I've
0:45already loaded up. I loaded this up to a
0:48service called Cloudinary.
0:50It's an image hosting service. I've got a
0:52really nice thing planned with them where I
0:54'm going to be talking about image support
0:56specifically in Analytics Tool.
0:59Look out for that. Here you can see the
1:01images I have. SVGs, WebPs, GIFs. There's a
1:04whole range of images. All I've done is I
1:06've uploaded them to Cloudinary.
1:08I've made a video about that as well. Link
1:10in the description. All I'm going to do is
1:13open this file up. The CSV file just has
1:16the URLs to the images themselves over in
1:18Cloudinary. You'll see this in a second.
1:20We'll upload this file in. There's no real
1:22data source here but I'll try and simulate
1:24a scenario where we can pretend there's a
1:26data source and you can see what I'm going
1:28for.
1:29As you can see it loads up the images. You
1:32can see our data is here. If we preview
1:34this, there's a really annoying thing with
1:38WebEdit. It opens everything in a new tab.
1:39I really hate that part of the experience.
1:40There you go. There's our links. You can
1:41see it's all coming from a Cloudinary
1:43bucket. Think of it like an S3 bucket
1:45essentially. It's got everything in there.
1:49This is what we're going to be working with
1:51. Let's switch back to the tabs that we need
1:55. We can click OK and start building
1:57something with this chart.
2:00We'll click sheet 1 and you'll see that it
2:02starts to take an extract. This will take a
2:05little bit of time to CSV. Hopefully I can
2:07feel the air while it's doing this.
2:107 seconds, 8 seconds, 9 seconds, 10 seconds
2:12. Come on, there's as many roses as that.
2:14Should be faster tab load.
2:16Let's get into this. You can see here if I
2:20just bring in, let's call this the public
2:21ID. The public ID is the name of the image.
2:24You can see these are our different image
2:25names and they're all there.
2:27If we go ahead and bring in the secure URL,
2:29you can see these are all the images. It's
2:32pretty clear to see that there's a whole
2:33range of image types. These are actually
2:36all supported in this latest release of
2:38Tableau.
2:39But as ever, there's some limitations. They
2:41have to fit within a certain size frame.
2:43This was actually doubled to 200 kilobytes
2:45from 100 kilobytes. That's something new
2:48and nice.
2:49There's also been some small formatting.
2:51The images will naturally center themselves
2:53to the frame that they're in. You're
2:55probably thinking, what do we mean by frame
2:57?
2:58If I limit this down just to the AWS icons
3:00that I've got here, you can see I've
3:03already pre-grouped them. You can see that
3:06I get this much smaller list of items.
3:09Essentially, to enable image roles, you
3:10have to right click the URL, go down to
3:11image role and select the URL.
3:14There's a hint that more image types will
3:16come later on, but you can see that it
3:18actually replaced the URL with the images.
3:21There's a couple of things special about
3:23this specific images. If I just scale this
3:25down, you can see that it naturally centers
3:28them.
3:29Everything is nicely centered. If I was to
3:30give it too much vertical space, they'd
3:32naturally try and fill the height.
3:34The images behave in what I would think is
3:36still a slightly weird way because they try
3:38and fill the height or the width. One of
3:41them always gets filled.
3:43Sometimes you want padding, but I'll show
3:45you how I solve that here in Cloudinary.
3:48Cloudinary serves the URLs to us. We're
3:51actually able to edit the URL to adjust the
3:53image. That's the power of using Cloudinary
3:55to do all of this.
3:57You can see these are nicely loaded and
3:58they're perfect. These are SVGs.
4:02My point about SVGs is that not many people
4:04know that they're actually called a vector
4:07image. If you take a PNG, an image file
4:10like a JPEG or anything that's essentially
4:12a rasterized image, the way they store
4:15images is they essentially say, "Look, this
4:17dot has this color."
4:19It works its way across a whole entire grid
4:21to form an image. The way they compress the
4:23image is they take all that information and
4:25they simplify it in a way that means
4:27whatever you're working with, the file is
4:29always going to remember the rough, correct
4:32position of certain colors.
4:34You might lose some detail, but frankly,
4:35your eyes don't notice. That's why you can
4:38get some really large images into small
4:40file sizes.
4:41SVGs work a completely different way. Let
4:43me just show you what I mean by that.
4:45If I go ahead and open one of these SVGs,
4:47you can see this is my folder.
4:50If I open one of these SVGs and I'm going
4:52to open it in a coding tool like Visual
4:54Studio Code, what you'll see is that the
4:57image is not defined by dots.
5:00It's not defined by something you would
5:02expect to see in an image like pixels and
5:04coordinates.
5:05It's defined by essentially a formula and
5:08it's very similar to spatial mapping in
5:11Tableau.
5:12So as an example, if we see this SVG, you
5:13can see it's got a height, it's got a box,
5:16and then it's got a width, and that's
5:17roughly telling you the proportions of what
5:20's going on.
5:21And then what starts to happen is you
5:23basically get a standardized format telling
5:26you this is the SVG, and then you have what
5:29's called a path.
5:30And the path is essentially drawing the
5:31coordinates of the object that we have in
5:33mind.
5:34Then there's a fill color. This fill color
5:36actually fills the color of the specific
5:38shapes.
5:39So we opened up the AWS Lambda image, and
5:41if I go back to my file explorer and we
5:43just open this with, let's say, preview.
5:46Can I open this with preview?
5:47It's not going to let me open this up with
5:48preview. If I double click it, let's see
5:50what applications opens it.
5:52SVGs typically open in Illustrator on my
5:54computer because it's a vector image.
5:57If it pops up on screen, we'll be able to
5:59see it, but it's decided to pop up off
6:01screen.
6:02And here it is. And you can see the power
6:04of this SVG image. If I just double click
6:08this, and let's just zoom out of this.
6:11Let's just move across. Let's just do this.
6:13There we go.
6:14You can see it's just basically one path
6:16going all the way around, and once it's
6:18drawn that path, it has one color.
6:21So that's all you get in this particular
6:22logo. One path, one color. Super simple.
6:25And the thing you maybe noticed, or you
6:27didn't notice, is that as I zoom in and out
6:29, it's infinitely sharp.
6:31So that's the power of an SVG. They're
6:33really, really sharp, and all company logos
6:36now typically get made in this format.
6:38Logos have been making these formats for a
6:40long time in vector formats.
6:43PDFs are vector formats, strictly speaking,
6:45if you only put images and certain types of
6:47graphics into them.
6:49So using these is super powerful. Look at
6:51this. This Lambda logo is one kilobyte.
6:54In fact, if you look at all the SVGs, the
6:57biggest size is one kilobyte.
7:01The smallest size is 508 bytes. We're
7:05talking trivial amounts of data here.
7:07They're just so small, and they don't have
7:09to be just simple.
7:11You can open up something as complex as
7:14this DynamoDB logo.
7:16Let's just zoom out. You can see this one
7:17is a little bit more complex.
7:19Yes, it looks different, but again, it's
7:20really, really small.
7:22What I did is I went and got the Tableau
7:23and Salesforce logo in SVG format.
7:26Here you go. Salesforce logo is a bit more
7:28complex. It's nine kilobytes.
7:30I'll open this here in Illustrator, and you
7:32'll see that this is a Salesforce logo.
7:34I downloaded it from a website that
7:35converts these for us.
7:37You're probably thinking, "What does this
7:38look like in a formula?"
7:40So let's go ahead. Let's go back and open
7:42this in VS Code.
7:43As soon as we're in there, you'll see, let
7:46's word wrap this so you can see, okay, this
7:48is a little bit more complicated.
7:50But the same principle applies. You've got
7:52different paths.
7:54You've got this path here, and you've got
7:56another path here, and they have slightly
7:57different colors.
7:58This path fill here is the white color.
8:01This is the actual text for Salesforce.
8:03This cloud path here, this one here at the
8:05top, is actually the blue cloud that goes
8:07all the way around the image.
8:08There's a few other images here. There's
8:10another fill there, and so on and so forth.
8:12But you get the idea. This is a bunch of
8:14numbers, normal images, PNGs, JPEGs.
8:17They're actual pieces of information, so
8:19they take a lot more storage to store that
8:21information.
8:22So what's my point? Why am I laboring on
8:24about SVGs?
8:25It's because we should all be using SVGs
8:27where possible.
8:29Images only need to be used where you're
8:31using an actual photo or graphic that can
8:34only be taken in the form of an image.
8:37You can even get tools today that will take
8:39an image and convert them into an SVG just
8:41to get the size down.
8:43But strictly speaking, if you're working
8:44with logos, you're working with icons, let
8:47me just tell you now, SVGs all the way.
8:50SVGs are supported in Tableau Desktop. You
8:52don't have to just have them coming through
8:54image rolls.
8:55You can just go ahead and bring in an SVG.
8:57If I go to a dashboard here, for example,
8:59let's see how good this is.
9:01Let's bring in an image type here. We'll go
9:03ahead and choose an image. We'll go in here
9:04.
9:05Let's bring the Salesforce logo. Let's
9:07bring that in here, and you'll see that it
9:09loads it up.
9:10Let's fit and center the image. Apply and
9:13voila. Look at that. Nice and crisp.
9:16Everyone should be using these. If we go
9:17ahead and go to floating and look at this.
9:21As I change the size of it, it stays sharp
9:23every single time and it's tiny. It's the t
9:25iniest file.
9:26This is not going to bloat your workbook.
9:28This is going to make your workbook perform
9:29ant.
9:30It will always be sharp. As small as I make
9:32this, if I even dare make this, let's go
9:34make it tiny.
9:35Look at that. It's still sharp. This is the
9:37power of SVGs.
9:39So I am laboring this point really hard
9:41because this is super important to
9:43understand.
9:44Please, everyone, let's start using SVGs.
9:47Now that I've done that, there's a couple
9:49of other things to bear in mind with this
9:51release.
9:52Other image types are supported. What I did
9:54is in my little dataset, I went and got a
9:58couple of other types.
9:59Let's go ahead and take GIFs and WebP and
10:01hit apply.
10:03I'm not expecting all of these to load
10:04because I think they will have issues.
10:07But you can see they've actually all loaded
10:09absolutely fine and this is super nice.
10:12Now this image here and this image here
10:14have transparent backgrounds.
10:16The reason that's super cool is because I
10:18think you can add animated elements to your
10:20dashboard.
10:21Look at this. These images have just come
10:23through and they immediately look beautiful
10:25.
10:25They're just really, really nice to work
10:26with. You can see I've got some WebP images
10:28.
10:29WebP images are a compressed format that I
10:31think Google have pioneered to get really
10:34large images down to a really scalable size
10:37.
10:38I don't know how these got through the size
10:40restriction because if I go show you these
10:43images, they're actually quite big.
10:46You can see here that's definitely over 200
10:49kilobytes. You can see that that image is
10:51actually specifically this one here.
10:53So what I still don't quite understand is
10:56even though Tableau have a limit, it seems
10:59like you can sometimes go over that limit
11:01and you don't get penalized.
11:04What it might be though, and here's
11:06something to bear in mind, what it might be
11:09is that because I'm using Cloudinary,
11:11Cloudinary itself is potentially rendering
11:13these images in a more performant way.
11:16For example, if I look at this GIF and I
11:18scroll down, you can see that Cloudinary
11:20might actually be looking at this
11:23parameters of the page and figuring out
11:25that, look, this is the rough size I need.
11:28And so it's just loading what's needed for
11:29that frame rather than trying to go and
11:31load the actual original image.
11:33That's the only thing I can think of to
11:35explain that quirk. But I'll be asking
11:37Tableau that question and we'll try and
11:39figure things out.
11:40And so this is really, really nice. You can
11:43make this super interesting. For example,
11:46if I was to do this, let's go ahead and you
11:49know, you could do something nasty like it
11:52's not going to let me do this.
11:54I keep on thinking of ideas and then I try
11:55and do them and I'm like, God, I can't be
11:57bothered with all the hacks required.
11:59I've just made a video about hacks. So
12:00check that out. But if I go ahead, let's go
12:03ahead and let's not show this header.
12:06Let's just keep this here. Let's keep just
12:08this item here so you can see we've got
12:10this nice item. We'll go ahead and hide
12:12labels.
12:13I'm going to give you a flavor of what I'm
12:14thinking. Go to a dashboard. And then what
12:18we'll do is we'll go ahead and I'm just
12:20going to add a I cannot be bothered.
12:23Actually, I can be bothered to do this. I'm
12:24not going to I'm not going to lose this
12:25battle here. I'm going to put a container.
12:28I'm going to format it.
12:30Let's go out to layout and we're going to
12:32format this container to be black. Let's go
12:34ahead and do that. Boom. Perfect.
12:37OK. So you're probably wondering, hey, what
12:38is the point in this? Well, look, using
12:41this new image support, what you can do is
12:44go ahead and make this floating.
12:47Let's go here. Here we go. Here we go. I
12:50thought this might happen. I wanted to make
12:52this sheet transparent, but I know in
12:54desktop this is possible.
12:56But I'm not sure in here we go. Background
13:02none. It's not going to let me do it.
13:04It's not going to let me do it here. There
13:06is a way to make a sheet transparent, but I
13:08don't think I'm going to be able to do it
13:09here.
13:10What I was hoping to do was to do something
13:12slightly different. So let's do this. Let's
13:15edit this alias.
13:16I'll grab the link and we'll copy this hit.
13:18OK. And then I will just show you what I
13:21was trying to achieve. And you guys can
13:23figure out actually how to do it.
13:26So let's go ahead. Bring in. Let's go bring
13:28a floating image. OK. You see, it just
13:31gives us the box.
13:32We'll go ahead and link to the image. We'll
13:35just use the same image where we're using
13:37before. Click apply. Hit OK.
13:39There you go. And now look at that. OK.
13:42What I was trying to do was to put this
13:45image as part of a sheet.
13:48And the reason that's important is because
13:50putting a static image like this is is no
13:53no use.
13:54But if this is a sheet, then what you can
13:56do is you can have different sheets
13:58activate different animated elements for
14:00your dashboard.
14:02So this could be a dashboard about Coke.
14:04You can see I've just gone on to Giphy and
14:06I found this nice gift that Coke have put
14:09up on their website to use in certain brand
14:11assets to use in the gift app.
14:13And I put it in the bottom right hand
14:15corner as an asset, a graphical asset. And
14:18it brings life to the dashboard.
14:19Maybe you're doing a dashboard about
14:20Christmas. Maybe you're doing a theme
14:22dashboard. And it might just help to have a
14:24little bit of flourish on the dashboard.
14:26Bring it to life. Do something different. I
14:28think this is a really nice touch. So this
14:30is just a taste of what's possible.
14:33I think with images, I've not really seen
14:35people take images to the next level.
14:37I think too many people are still using the
14:39basic stuff. And you're probably saying,
14:40hey, Tim, why don't you show us what you're
14:42supposed to do?
14:43I'll get to it at some point. And I think
14:45there's just so much more you could be
14:46doing with images, especially if you use a
14:48cloud service to support images.
14:50So I'm working with Cloudinary. We're going
14:52to make some content first on how to use
14:54Cloudinary a little bit better and so on
14:55and so forth.
14:57And then I have a nice idea of a themed
14:58dashboard where we're going to take images
15:00to the next level. We're going to use them
15:03for everything.
15:04I know it'll involve some hacks, but
15:05nevertheless, stay tuned to find out more.
15:08But anyway, that's a really long video on
15:10this particular topic.
15:11It's really quite a simple feature. Images
15:13now support different image types.
15:15But I think there's so much more people
15:17could be doing with images, specifically SV
15:19Gs and GIFs as sheet elements that are
15:22interactive and changeable on the dashboard
15:24.
15:25Thanks for watching and I'll see you in the
15:26next one.
15:27[silence]
15:37[ Silence ]
The 2023.2 Playlist https://www.youtube.com/watch?v=d3E5efnM3qg&list=PLRfaJ7ZL0cF6QFlYCU-QQDH81HSYJAHTV&pp=iAQBImage Role is easier and more flexible with the recent enhancements. Image Role has expanded image file type support, now including those in SVG, WEBP, JFIF, ICO, BMP, and GIF format in addition to images in PNG, JPG, and JPEG format. Image Role can also now handle up to 100 images per column and increased image fetching to allow images up to 200kb. You can also access the Remove requirement with no need for Image Links to contain extensions.Videos & Playlists You Shouldn’t missWhat is Tableau: https://youtu.be/7Jl-RwkzqQ4How to Learn Tableau: https://youtu.be/ayc6AjOuQb0Tableau Desktop Crash Course: https://youtu.be/-Aj8IlC0IEATableau Prep Course: https://www.youtube.com/playlist?list=PLRfaJ7ZL0cF6JRvdxUV3FQSYG6OOH9EtaTableau Functions: https://www.youtube.com/playlist?list=PLRfaJ7ZL0cF7f6EQL-mGk63ElvpWzs2z- Tableau charts in 2 mins: https://www.youtube.com/playlist?list=PLRfaJ7ZL0cF7kHEdpAum7pccjQypzlabRTableau Desktop Crash course Playlist https://www.youtube.com/playlist?list=PLRfaJ7ZL0cF4fwAQFPvDMWxN\_xPFu2XujTimestamps0:00 Intro0:22 Setting up our example2:17 Enhanced Image Support4:03 Use more SVG images9:49 Other image types and tricksJoin this channel to get access to perks:https://www.youtube.com/channel/UC7HYxRWmaNlJux-X7rNLZyw/join#tableau #salesforce #analytics #dataFollow me on Twitter: https://twitter.com/TableauTim My recording gear & what’s on my desk. https://kit.co/TableauTim/desk-setup My website: https://www.tableautim.com/ My Screen Annotation Tool: https://j.mp/3HWc4MjMy technology Channel: https://j.mp/3F0d28fShare feedback and Suggestions: https://tableautim.canny.io/suggestions