Welcome, welcome everyone. Welcome to our webinar, Harness the Power of Data with Tableau. Thank you so much for joining us today. I'm Susan Hope-Bard, the online training producer here at TechSoup. We want to thank you in advance for answering our registration questions to better understand your organization's needs. In addition, we want to remind you to please complete our survey at the end of this webinar. I'm going to talk to you a little bit about the platform we'll be using today, ReadyTalk. In the lower left hand column is a chat box. Here's where you're going to place all of your questions to us, whether it's a question about technical challenges you're having, if you can't view the screen, you can't hear the audio, you could pop that in there, just send us a quick chat. This is also where you're going to place your questions. Throughout the entire presentation you should feel free to go into the chat box and type us a question. We will be having a Q&A session at the end, so make sure you stick around to the end. The other thing is if you lose your internet connection you can reconnect using the link in your registration or reminder email you should have received about an hour ago. If you registered more than an hour ago you can also access the presentation slide deck that was sent along with several links to resources that you can use that Jordan has provided to us about Tableau, including some of the sample data sets that he will be using today. Keep in mind much of this session will be a live demo of Tableau. If you're hearing an echo through your computer speakers or having any issues with the audio you can also dial in using the toll free line listed in your registration email. We are recording this so you can access this in about a week. It will be on our TechSoup website page. It's at www.techsoup.org slash community slash events dash webinars. This is also where you can view any of our archives webinars from events past. You can also view recorded webinars and videos on our YouTube channel at www.youtube.com slash TechSoup video. For those of you that are attending today you will receive a link to this recorded presentation and any collateral information materials within a few days. So that will come with a link to our recorded presentation so you can watch this time and time again. You can tweet us at TechSoup or use hashtag PS Webinars. I would like to talk a little bit about our presenter today Jordan McCarthy. As Tech Impact's data analyst and storyteller Jordan helps nonprofits harness the power of data to tell important stories about their work to whoever needs to hear them. Whether an organization is just starting to think about how to use data or is already collecting data but wants to explore more sophisticated ways to visualize and analyze them, he can help you figure out what kinds of tools, analyses, and presentation styles will bring that organization's data to life. And Jordan has put together a great slide deck that is going to be a great resource for you at the end and I know you are really going to enjoy the demonstration. On our back end we also have Allie Despichian and she provides all of our technical support so if you have any problems with your audio or visuals you can chat in the chat box and she is happy to help you. A few seconds about our objectives. We are going to overview Tableau's program features. Jordan is going to take us through the program itself so we can understand how it works. We are going to demonstrate how to use Tableau to create meaningful visualizations. And for you we want you to help you understand how you as a nonprofit or library can use data analysis. And of course we also want to answer your questions. Before I turn it over to Jordan I'm going to talk a little bit about TechSoup. TechSoup is headquartered in San Francisco, California and we have folks joining us today from all over the world. And I'd like you to take a minute to type your location in the chat box. Give us the city and state or the country that you are joining us from.  We are a 501c3 nonprofit like many of you joining us today. And what we do is we work to empower organizations around the world to help you get the latest tools, skills, and resources that can help you achieve your mission. You can see from our map that we serve almost every country in the world. We have 62 partner NGOs. We also have a website that is dedicated for folks that are outside of the U.S. www.techsoup.global. And this is where folks outside of the U.S. could access technology donations. And I am looking in the chat box and wow, someone is from, well, it's a city in New York that I'm not even going to try to pronounce. I'll pop it up each floor. I bet it's warm there today. Washington, D.C., Phoenix. All right, we're here from all over the country. We have a few folks from Tennessee. Thanks for joining us today. Wow, great. In terms of our impact, TechSoup has helped organizations get more than 5.2 billion dollars in technology products and grants to NGOs around the world. And these technology products and grants come from more than 100 corporate and foundation partners. I'm going to turn it over to you as attendees for a minute. I'm going to ask you two quick poll questions. So our first poll question is, does your organization use data visualization tools? And I see a lot of quick, fast fingers. You've used this before. Wow, half and half. Yes and no, I don't know.  I'm going to give you guys four more seconds. Three, two, one. Wow, it is almost evenly split there. Look at that. 51% said no, and then about 48% said yes. Okay, great. And one more quick one. How much do you know about Tableau? And there are four, actually there are five options. It helps if I can count. Is Tableau French for Table, which is when I did a search? That's exactly what I found out because I had not worked with it. Have you never worked in the program? Are you a beginner?  Or are you an advanced user? So take a minute to respond to that. Some of you have great senses of humor. Yes. I am serious that when I looked up Tableau that was what came up. So I thought that was interesting. So I'm going to be learning alongside all of you as attendees just so you know I've seen portions of Jordan's presentation, which is awesome. It's so chock-full of information. But I only know enough now really to be dangerous. So thank you for – all right, I'm going to close the poll. Thank you so much. All right, it looks like 63% of you have never worked in the program. All right, and some of you are enough to be dangerous. Okay. Thank you so much for your responses. This is going to help us, and I think we'll be able to meet your needs. So without further ado, I am going to turn it over to Jordan McCarthy, and he is going to talk to you about Tableau. Thank you so much, Jordan, and welcome. Thank you. Hello, and welcome. So I want to begin by telling you a little bit about Tech Impact, which is the organization that I come from. We are one of I believe the close partners of TechSoups, or one of the NGOs that Susan just mentioned. And here's our full theme. I'm actually not in this picture, but everybody else is.  We provide a wide range of services and support offerings ranging from Office 365 implementation to other kinds of cloud service migrations. But one of our biggest goals, in fact our biggest goal is to figure out what the needs of the nonprofit community are going to be, not only in the immediate future, but further down the road. And as a note of that, we have, through talking to a bunch of different nonprofits all around the country and the world, we realize that data services are a really important need that is sort of up and coming in the nonprofit community. Many nonprofits have reporting requirements that they have to meet now that have sort of grantees or funders rather have become increasingly adamant that they want not only reports, but data-driven reports. And so many nonprofits who get funding from government sources or large foundations now are operating under mandates to provide data-backed efficacy numbers about their work. And there are many other reasons why data can be really tremendous tools, not only just requirements that you have to sort of deal with and meet, but tremendous tools for helping you to increase the efficacy of your programming work, to increase the efficiency and scope of your service delivery, to just sort of strategize how you're going to handle the next six months or a year. And we're going to talk a little bit using the sample dataset that Susan mentioned about how to do that, both the nuts and bolts of how to use Tableau to do those kinds of analyses, but also the sort of thought processes to go through, the questions to ask, the general ways to approach the entire domain of data and data visualization to really give you a step up to allow you to take whatever data you have and make use of it in really powerful ways. So again, I'm getting a bit ahead of myself, but we do a lot. The point is we are making a concerted push into data services and this is one of the many data-related services we're now offering, our series of webinars, some in partnership with TechSoup. I'm really excited about helping the nonprofit community to grow its own capacity to handle data, to perhaps get just as good at it as the large corporations already are because they're using data to do so many interesting things, but we really want the nonprofit community to get to the same place and the same level of sophistication. So I think that's enough about us. Let's now start talking about Tableau. Notice that a great deal of you have never used Tableau before, so you may not yet have it. Just so you know, Tableau is available on TechSoup for all qualified nonprofits for $58 for a two-year subscription. And the reason I say that with such a high degree of enthusiasm is that it turns out the normal price of Tableau is around, I think it's $3,000 for a one-year subscription. You might get a two-year subscription out of that, but the normal price tag for a nonprofit user is around $3,000.  You can also purchase more than one of these if you have several people in your organization who might want to use the software. And what you get is the full desktop version of Tableau, Tableau Desktop Professional, which allows you to create as many visualizations as you want, dashboards, files you can share with other folks who want to see the visualizations. I should note what you don't get from the Tableau Desktop Professional offering is the server variant of Tableau, which is what's required to actually host the visualizations on a website that anyone can visit. However, there is a neat little application called Tableau Reader, which is free. And that at least allows you to share your visualizations with anyone. Anyone can download Tableau Reader. And if someone has Tableau Reader, they can read any files that were created with Tableau. They just won't be able to modify them. Okay, so we talked about getting Tableau, which I strongly encourage you to do. Once you have Tableau, where do you go for additional support? Well, there's a few different places. The Tableau Service Corps is sort of part of the nonprofit arm of Tableau that is responsible I think for putting together this offering for the TechSoup community. The main Tableau page, Tableau Corporate if you will, has lots and lots of good resources, how-to guides, videos, whole Whitney of Things that you can really take advantage of. You can just take a look at what they have. They have some really good tutorials. And then there's organizations like Tech Impact. I'm sorry, this is the last shameless plug, I promise. But we really are interested in being a resource for the nonprofit community as it moves more into the realm of data visualization and exploration. And we offer a wide range of support options for helping organizations work with data. We have additional trainings actually on TechSoup that are much more customized to your particular needs. We have flat rate data visualization and storytelling projects. You can just call us up and say, hey, we would like you to take our data and give us a nice report out of it. And we're happy to do that. And then we provide ongoing support. If you just want someone you can call once in a while to talk through some of your data questions, we offer that as well. We really like to talk to people in the nonprofit space about their needs so we get a better sense of what services we should be providing. All right, I think that is enough of my little self-promotion-ary spiel. So let's move into Tableau. All right, so what happens in Tableau? Well, some of this will probably seem fairly intuitive for some, but I want to go over it anyway because many folks are completely new to Tableau. So I want to make sure we have the same foundation of knowledge to work with. So when you first open Tableau program, here are the general steps you'll need to follow. First, you have to tell Tableau what data you want to work with. And it turns out Tableau can connect to hundreds if not, I think actually more accurately thousands of different kinds of data. And we'll see that in a second. Once you have told Tableau what data you want to work with, you then have to, from the data that has been imported, choose which elements of the data you want to look at. There are different terms for what I have here as variables. Variables are the same thing in the case of an Excel table as column headings. So in Tableau, you'll see every column heading from an Excel table, which we're going to pull in, will show up as a variable in the list of variables to choose from. In the case of a more cloud-based database system, variables are actually object types. You can think of variables as just sort of buckets. In your data, you may have a date bucket that holds the date for every single record. You may have a last name bucket that holds everybody's last names. And the variables are really those buckets which you're going to pull in and look at with respect to each other and what each of those buckets contains. I know this is abstract, but we will very quickly get into the mid-degree detail to how this works. You drag variables in different places depending on what you want to do with them. Dimensions and measures are two terms that we will talk about in more detail later. I want to actually show you what the process of working with all of these variables and dimensions looks like. But we're actually going to go back and define these things because A, the terms show up a lot in Tableau, and B, they show up in a lot of other places as well. I saw someone in the comments mention that they only had data visualization experience in Excel, but that's actually really powerful. And many of these same principles apply to Excel and Power BI, as someone mentioned Power BI as well, and many other visualization engines. So I'm going to try to talk both about Tableau specifically because I know that's what brought you here in part, but also bring it back to some broader concepts that if you familiarize yourself with them, it can be really useful to you no matter what visualization engine you have at hand, even if it's just Excel. Dimensions and measures are just different places to put variables. Basically one is the x-axis, and one is, well, yeah, but we'll get there. I don't want to define it quite yet. Mark variables though are kind of special. They're a way to take a graph and slice it up to zoom in on the data that the graph shows you and break it out into its constituent parts. I realize that's vague, but we'll see what I mean in a second. Once you've sort of moved your variables around, decided what variables you want to look at, put them in the proper locations to create a little picture of what's going on, you then want to try out different visualization formats, see which one really brings the data to life. And Tableau makes this very easy. You can just click a button, literally transform a line graph into a bar graph into a box plot, into even a map, which is really kind of amazing. Tableau has a built-in geolocation engine which allows you to take any data that has geolocation information in it, and automatically overlay it on top of a map, whether it be data from the US or data from anywhere around the world. And finally, you then want to go and look at the implications of what it is that you're seeing. Do a little bit of analysis as you go. Think about what does this mean? What can I take from this data? How does this help my organization be more strategic? If I see particular things happening at particular times, does that affect when we might do fundraising, when we might do outreach? At particular times of the year when we really should be doing particular activities? Or in the case of maps, are there particular locations that we should be focusing on because we already have a broad basis support there or because we really want to grow a broad basis support there? As you're going through this process, rather, this is not a one-directional, step one, step two, step three, and then you're done kind of a thing. Really, I should have constructed this slide as a circle or a cycle because you won't keep on doing these things iteratively. Once you have created a visualization that you like, look at it, think about it, think about what it means, and then change it. Drill down. Look deeper. Change not only the type of visualization, but also the sort of scale which you're looking at the data. If you were looking at the data aggregated by year, drill down. Look at it instead by month. So getting a little bit ahead of myself, but I wanted to give you the broad strokes of where we're going, and this is a good slide to do that in. And yes, someone asked, will there be visual examples? Yes, there will. We're going there right now, in fact. Good timing. So a few examples before we actually dive into Tableau itself. This is the kind of thing that you can accomplish with Tableau in a matter of 30 seconds when you get used to it. What we have here is the data set we're going to be working with. The data set comes from an educational nonprofit which made its full donation database freely available online for anyone to explore. It was very kind of them. Not only that, their data is incredibly clean and well structured and requires absolutely no work to import into Tableau. I should warn you this is rare. Most data is not clean, and most data does need to be restructured at least a little bit to make it easy for Tableau to read it. But this organization's data was in spectacular shape, and so I thought it would be an excellent set of data for us to look at in this webinar. So what we have here is just a graph of donations over time broken up by state. This is not a graph you would ever actually want to send out to anyone because as you can see it's a total mess. However, it is useful for exploring the data as we'll see in a minute. You can do a lot more than just line graphs, even multi-part line graphs that are hopefully confusing. You can also do little box plots. I think there's an official name for this in Tableau is actually a tree map. But whatever it is, here we have a visualization of not only the size of donations that came in by what state they came in from, but represented by the color of the box is what were the average donation size from each of these states? So not only do we know the overall sum total of donations that came in and these relatively speaking from each state, but also how big are the donors in each place? That's kind of interesting. But now let's take this one step further and we can put the same data onto a map. In fact, this is even more sophisticated because not only are we showing the same data with size of the dot, once again representing overall sum total of donations and color representing average donation size, we also have broken it up even further. Remember when I said it's useful to look at different granularity of data? This is what I meant. Before, we were looking at donations by state. All the donations from every state were aggregated. Here, we've actually broken them up even further because our visual space is a little bit more forgiving. We have a map which is intuitive to us. We know what a map is. We know how to read it. So we can sort of pack more information into it because again, this is less for the brain to process. We're used to seeing maps. So we can now actually break up the data by city and that's what we've done here. And that can be really useful to us if we're, say, trying to plan events for our organization and trying to figure out which cities we should go to to reach the broadest of our bases, the places that have the most of our supporters or places where it looks like there's a really strong interest. These places have really big donors but we haven't yet built up a broad base of support. Those were just static examples, boring, nothing going on. So now what we're going to do is actually go into Tableau and try to get as far as we can into these examples. So I'm going to go ahead and share my screen and volunteering that. Susan, if there are any questions I should answer while waiting for things to come up, let me know. Sure. There are a couple. A lot of folks are wondering what type of data sources and I think a couple of folks were asking about Excel. And if you want to talk a little bit, I believe that the sources you're going to be pulling in are from Excel? Indeed, yes. That's exactly what we're going to see. And another question is, can you enter raw data into Tableau or must you always get it from a source? You pretty much always need to get it from a source. However, that can be a text file. You can have something as simple as a comma separated value list or I mean honestly I think the most easy place to enter data raw is in Excel. So I would probably just fire up a blank Excel spreadsheet put in whatever data I wanted to work with and then use that. But again, if you just had access to a text editor for whatever reason, you could just do use a comma separated value list and that would become fine. Okay, good. And a couple of folks are wondering about the term clean data. What is clean data? I know you demonstrated that there's always cleanups that need to be done in any type of data set. And how would we define clean data? So that is a very big question. It's probably a little bit beyond the scope of what we can talk about today. But clean data just means, is data consistent? Is it fairly complete? Is it structured well? And structured well, in the case of let's say Excel spreadsheet just means are there very clear column headings? Are they consistent? And are there things that you really want to work with? Do you want to analyze? The data consistency piece is the biggest question. That question deals with whether or not, for example, in the data we're going to see here, if someone was entering state information, which they are for every single record there's a state associated with it, were they forced to or did they voluntarily adhere to rules that say they entered California the same way each time? So did they make sure to always enter California as the abbreviation CA in uppercase? If not, then they may have entered it multiple ways. They could have spelled out the whole state. They could have spelled it out in lowercase and then uppercase. They could have the abbreviation in lowercase and uppercase. And data visualization engines will treat each of those different interpretations of the name California as different, which means you won't actually be able to get very clear visualizations, I should say, without doing a lot of work to strip out the ambiguity and the redundancy and make sure that all of the California is represented by one thing and one thing only. So can everyone see the screen that has Tableau open on it now? You may want to maximize, make it a little bigger. Very good. Excellent. All right, so without further ado, let's dive in and again try to get as far as we can into those examples that we just saw. So to start out with, I'm going to connect to data. The data that I have happens to be in Excel. You can connect to, like I said, literally thousands of different kinds of data. What I'm showing you here are a list of all of the different kinds of connectors that Tableau has out of the box. This is somewhat misleading though because many of these connectors like the MySQL connector, Postgres SQL connector, and generic ODBC connector are very generic connectors that can connect to literally thousands of different kinds of systems out there. Anything that's based on those technologies Tableau can connect to. And by connect to I mean Tableau can actually pull in data automatically as it comes in, as it's entered into the data system. Tableau can update the visualizations you create with that new data without you having to do a thing. So that's well beyond the scope of what we want to talk about today. Today we just want to show or deal with one of the simpler cases of connecting the data. So we're going to use an Excel table. And like I said, happily the sample data set that we're working with came preformatted in Excel in a really nice way. I'm only using a subset of it just because I don't need to necessarily import all, I forget how many there were. I think there were at least 100,000 records. So we're just going to work with a subset of those records. All right, but what just happened? When we click open Tableau did a little bit of processing. And this can take a little bit of time. There was a delay, you'll note. The more data you have, the longer the delay. The reason for that is that Tableau is actually going and pre-processing your data to make sure that it can properly interpret everything in whatever kind of file you hand it. And what you have here is kind of a preview of how Tableau is going to choose to interpret things. What you want to do in this screen, and really the only thing you want to do in this screen is make sure that things are coming in correctly. The National ID and Project ID are fairly straightforward. They're clearly unique IDs that are just kind of diverse. That's fine. But now we're getting into more useful things. Donor City, okay, good. That looks correct. Donor State, that looks correct. We do have some values that are empty. Mall is another word for there is no data here. This is going to be interesting in a minute. We're going to see hands-on what I mean when I say data cleanliness is important and the less clean and less complete your data are, the harder they are to work with. Everything looks great. In fact, one thing you also want to pay some attention to is these little icons down here. You see how there are globes underneath Donor Zip, Donor State, and Donor City. Those globes mean that Tableau has detected that these fields are geolocation information, and Tableau will use them as such, which is really useful when we get to the mapping piece. Similarly, this little icon here, the calendar means that Tableau thinks that this column holds times, and it will interpret them as such. This little icon, the pound sign means Tableau thinks that these values are all numbers, and it got that right. And these values mean, these ABCs mean that Tableau thinks that these things are just plain text, and that seems to be about right too. So you just want to check to make sure that Tableau has detected things correctly. If it didn't detect something really important like a time stamp, you need to figure out why. Because otherwise, Tableau has a lot of really powerful things that will allow you to do with times that otherwise won't be available to you unless the variable is properly classed at a time. And one reason why it might not be properly classed at a time is if, again, time was entered in different ways, in different places. For instance, this first entry looked like this, but this one just had the time, and this one just had the date. Tableau could probably handle that, but you still want to try to be as consistent as possible. There's more we could talk about here. There's a lot of complex options. I want to emphasize that we're here to do an introduction to Tableau, a 101 level course if you will. We could have many, many graduate level seminars on the complex features that Tableau offers, but I don't want to go there right now because I want to get through as much of this 101 material as possible. Just know there's a lot that Tableau can do even in this sort of introductory preliminary setup screen in the way of merging data sets together and all sorts of other fancy things. But let's move on for now. We're done here. That's all we need you to do is confirm that everything is correct. Now we're going to go to Worksheet 1. Before I start doing anything, I want to give you a brief tour of the interface. So what we have over here are the list of variables. In the case of this dataset, this is the full list of every section header or column header rather that Tableau detected in Excel that contains data. And Tableau, something actually even more sophisticated than just pulling in section or column headers, it also classified these things not only by the little icons that we saw earlier, it detected that this thing called donation times. They have, in fact, old times that donation total doesn't contain a number. It also broke up the variables or columns into two groups, dimensions, and measures. Remember those terms? I think I mentioned them previously. These are some of the generic principles or terms that are used in the data visualization and analysis that you probably should get used to because you'll see them a lot. Dimensions are assumed to be things like categories, things like cities, states, things that you can't necessarily measure as numbers, but things that you might very well want to measure some numbers with respect to, right? Perhaps you want to look at donations that came in state by state or break down by nations by what state they came in from I should say. Measures, on the other hand, are things that Tableau assumes you are going to want to treat as numbers and measure the amount of. So let me, now, oh yes, so we talked about this slide here, the variable columns. What do you do with these variables though? Well, it turns out every single one of these boxes over here can accept variables. Columns and rows, you may have heard earlier, columns and rows are the places where you drag variables when you want to create a line or a bar graph. Marks are that special kind of place that I mentioned earlier where you can drag variables that you want to sort of flex and dice your data up with respect to. Again, I know that's vague. We'll see what I mean in a second, but imagine you have one line. In fact, don't imagine. We'll do it. These other boxes here, filters we'll see in action in a second as well. Filters allow you to selectively filter out or for that matter filter in information. So if you only want to see data from the year 2006, you can specify that up there. Or if you only want to see data that does not come from the year 2006, you can do that there. So let's go ahead and do some of this stuff, shall we? So I'm going to start out with, again, this is a donation database, so we're going to be working primarily with donations. So the first variable I'm going to drag in is some total of donations, which is this one down here. I'm going to drag that up to rows. And that does absolutely nothing for me except give me one bar showing the overall some total donations we've ever received. So that's cute, but that doesn't really help me. Now let's take another variable that we want to compare this one to. And let's say that I want to compare some total donations we got to time. So I'm going to take donation times from dimensions, drag it up to columns, and there you have it. So we have created our first graph in Tableau. It's very exciting. You'll notice that Tableau makes a bunch of assumptions when you drag variables in. It assumes when I dragged in donation total, and I wanted to treat donation total as a sum. It assumed when I wanted to drag donation time stamp in that I wanted to drag it in as years. So that means that all the data is being aggregated by year. And I want to briefly note that in Tableau everything is clickable. So like I said, in this particular graph, Tom was brought in as a year by year thing. So that means there's one dot for every single year representing the sum total donations that came in during that year. And you can hover your mouse over each of these dots as we go up the line and see the exact value. If we had more variables up here, which you could do, every single value of every single variable at every point on this line would be represented as I hovered over that dot. You can do a lot with full tips. You can also customize them to say other things if you want, and that gets much more sophisticated, but you can. But this is great. So we have our first line. It looks really, really promising. It tells a very nice story about our nonprofit, right? And our nonprofit's efficacy at fundraising. Looks like we have this really nice clean curve upward, and I'm sure we had a little bit of a really good year this year and just more of a normal year this year, but that's fine. Let me get to 2014, and then things seem to go really, really bad really quickly. And this brings us to our first hands-on lesson in data quality and completeness. And the lesson is that you need, whenever you're doing data visualization always, you can never ever sort of relax your guard. You've never totally cleaned up your data. I can practically guarantee that. So whenever you're doing data visualization and you are cycling through different visualization types and zooming in and zooming out, you always need to be a little bit vigilant for what data you might be missing. And you need to make a combination to deal with interesting fluctuations in your data or absences that you couldn't necessarily see before you change the visualization type. In this case, we haven't done anything really. So we just now have evidence that there's something wrong with our data at the very outset that we need to fix. What's wrong, to be precise, is that I pulled this data before 2015 was over. And because this graph is being aggregated, or this graph is having the donation total aggregated year over year, that means that data from 2015 is, of course, smaller than it should be, or the number from 2015 is smaller than it should be, because we don't have all the data yet. So in this case, a good thing to do might be to ignore data from 2015 because we don't have all of it yet. Tableau makes this really, really easy. All I need to do is click on the dot here. It doesn't matter right or left click, actually.   If I left click, I just get this simple, do I want to only keep this data point, or do I want to exclude this data point? And in fact, I want to exclude it because I know this data point is not valid in the kind of visualization that I want to do. So we're going to click Exclude, and the data point vanished. In this case, nothing else happened. The scales didn't change because we started at zero in 2003 and went up to whatever the maximum value was in 2014. But it may sometimes be really important to exclude data because your scales could be wrong otherwise. And you could have an outlier, and outliers are an interesting subject we'll get to in a minute. But if the outlier is also wrong, that's doubly bad because you're displaying data you don't even want to display, and it's throwing off your axes. Because Tableau will automatically try to adjust your axes to represent the full range of data. And if you have data points that are invalid and way off the charts, that just does not look good. It does not help you make your case, whatever case you're trying to make. So notice that when I clicked Exclude, a new variable suddenly appeared in the Filters box up here. It's actually another instance of the year variable. And all that happened was when I clicked Exclude, a new filter was added. That's what officially happened behind the scenes. And the filter says, I don't want to see anything in 2015. By the way, to get there, all I did, everything in Tableau is clickable, literally everything. And you have these little drop-down menus on every variable.  In the Filter box though, I just wanted the Filter option because the three dots indicate there's more behind the scenes if I click on it. And here's the little Filter control panel. And this just gives me a little checklist offering me the ability to Exclude any year that I want. I just want to Exclude 2015, so that's great. We're all done here, but I could do any others that I want to. Like let's say I wanted to Exclude 2003 or whatever. I actually am going to want to Exclude null in a second. But I'm not going to do it yet because I want to show you what happens when you have data that's bad and how it can throw off graphs. So we'll come back here in a minute. But now I have this line which is great. It tells a good story about our fundraising. However, there's a lot more we could do here even before getting too fancy. Like I said, Tableau has a lot of power when it comes to dealing with times.  You'll notice there are actually two different sets of ways that Tableau can treat time represented here. This one treats time as discrete, meaning each year or each quarter or each month is going to be its own unique thing. And so if we go down to day, we're going to have a single day represented for every single day that the donation came in, which means that horizontal axis down there that currently has years is going to be unreadable. So with this data, we definitely don't want to do that. These entries up here allow you to group together data that came in in the same quarter, say, no matter what year it came in, or the same month, no matter what year that month fell in. We'll see what I mean in a second. But first, let's go ahead and change the granularity, treating time as discrete to quarters. Now all of a sudden our graph got considerably more interesting. I'm going to hide the show me box for a second. This is where you go to very quickly cycle between different visualization types. But I'm going to hide it right now because it's in the way. So we used to have this nice, very clearly upwards sloping line, and now we have a really, really strangely jaggedy thing instead. It's exactly the same data. We're just looking at it at a different level of granularity. We've zoomed in, so to speak, and we're looking at it not year by year, but quarter by quarter. And all of a sudden, we see a lot more variation we could not see at the higher level of analysis. This is very interesting. Let's just quickly dig into it and see what we can find in the way of analysis. So this is now me having chosen the variable selected to visualization. I mean, I didn't really select the visualization. I just went with the default. But for these variables, this is a good default. Now I'm going to do a little bit of analysis and see what I can draw out that might be actionable, that might be useful to my nonprofit. All right, so we see a lot of these interesting peaks and troughs. Is there any pattern to them? Well, it looks like a lot of these peaks. Q2, I see a couple down here, but Q4 is definitely the biggest here. Q2, okay. Q1 is big. Q4 is big. Q4, Q1, Q4, Q4, and Q4. Interesting. Okay, so down here it seems like things are a little bit muddy because the organization was just getting started. But by the end, we have a pretty clear pattern. Q4 is really, really quite striking. I mean, that's when all of our donations are coming in. By contrast, Q3 is definitely Q3 and Q2 both are really bad months for fundraising, or excuse me, bad quarters for fundraising. This is really interesting. To confirm that what we're seeing is real, we can go and use that fancy time-shifting functionality once more. Remember when I said that this upper set of options buckets things by quarter, no matter what year they came in, that's what we wanted in this case. So now we have a very simple graph, like in comparison to what we just had, showing just donations by quarter, irrespective of year. And oh my, is this a clear trend. Q2 is awful. Q4 is tremendous. Q2 is literally a third. We bring in a third of the donations in Q2 that we do in Q4. Okay, so we've done very, very little so far just to be clear. We've dragged in two variables, done a little bit of manipulation of how time is being treated, and that's it. Already, we have some very powerful insights that might really help our nonprofit decide when it should actually run its big fundraiser of a year. We now know we never want to run a big fundraiser in Q2. We almost certainly always want to run our big fundraiser in Q4. And if we try to run it in Q2, we know we're not going to have much success. So we've already just perhaps saved ourselves a ton of heartache just by doing this much. I'm going to just go back to where we were before. It's also worth thinking why. Why did this happen? What is the cause of this? Don't just stop at, oh, I see these trends, but start thinking about why. In this case, why, I think he's probably fairly, I don't know for a fact, but I'm going to hypothesize that the why is actually pretty clear. This is an educational advocacy nonprofit. It works very heavily with public schools. Public school cycle, generally speaking, starts in Q4 and is out in summer vacation in Q3, Q2. So kind of makes sense, right? All the teachers, all the students, all their parents, when Q4 rolls around, they're exhausted from the previous school year. They want to be on a vacation. They do not want to be thinking about schools, whereas obviously in Q4, when school is getting back in session, everyone is thinking about school. Everyone is activated. Everyone is energized after their long vacation. The why here is actually pretty interesting and it makes sense. Okay, I don't want to go too much more into that though because we have a lot to go through. We're running a long time. So let's go ahead and do what I said earlier, using the mark box to break up this line into its constituent parts. We're going to do that with another variable, donor state. So I'm going to take donor state and I'm going to drag it over the color option. These other options will become more obviously useful later. In the case of lining bar graphs, color is probably one of your best bets. So I'm dragging in a variable, it turns out, that has 57 numbers because it not only increases all 50 U.S. states, but also a bunch of U.S. territories. If I wanted to actually send this graph out to the general world, I would never want to do this because as you'll see, it's completely chaotic and messy. But for data exploration, this can be a very powerful tool and you shouldn't be afraid to make a mess temporarily while you're exploring data. If you find some particularly interesting lines in here, you can create an exclusion using the filter to just show those lines next to each other and remove all the rest. So this is a good place to start if you're exploring. Just keep in mind, one really important principle of data visualization is don't overload the viewer. And this is very classic overload. There's so much going on here that people are not going to be able to make sense of it. And even if they want to, it's going to be hard. These are going to immediately scare away anybody who is just sort of passively interested, but even someone who is really interested is going to have a bit of a hard time making sense of what's going on. Okay, so we do see some interesting things since we're in the midst of exploring data right now. We see certainly some elements of the same overall trends, 2000 working this big, 24 remains pretty big in a lot of cases. But now we see interesting trends by state. For instance, we see California is one of our biggest contributors. Another note about data quality though, let's have a look at this big line here. See this nice very large blue line? When we have it over, let's have a look at what the donor state is. The donor state is nothing. This is one of those no values coming back to bite us again. That's because I remember when I had the option I didn't exclude data for which no state was specified. In fact, I couldn't have done that yet because state wasn't even in play yet. You'll see what I mean when we go back to the filter box. But to make this easy, I'm going to start off by excluding this one dot. Again, just to be clear, the reason why we're excluding this is that we want to do an analysis of donations that came in from each state. Therefore, for this analysis at least, we don't really care about data entries for which there are no state data available. So I'm going to exclude this dot. When I do that you will notice that this time the axes will change. See that? Before we were going up to 22,000 because in 2014 the overall sum total of donations that came in that had no state associated with them was huge. But it was also making the rest of our donations look a lot worse. And that's not good. In this case, the data validity problem or data completeness problem really was interfering with the story that we want to tell. In some cases data completeness problems can work to your advantage. Like they might make your data look better than they really are. You still want to do the responsible thing and make sure to deal with the completeness problems when you see them and not leave them there so that the data actually does represent reality or at least something as close to reality as you can get. So I could go back and make the exclusion a little bit more precise because we still have this null line traipsing through things. I just excluded that one quarter that was throwing everything off. I'm going to leave that alone for now because I want to move quickly. Let's have a look at the interesting data that is real though. So sure, California is huge. That's clear. It's pretty much consistently our biggest donor. New York also pretty big. Let's have a look now at these individual peaks we could never have seen before. We see a lot coming in from Illinois, but we see a lot coming in from Illinois particularly at this one time. And not only that, but at this one time, Q4 2010, we also see a lot coming in from, well, no state at all, but New York has actually not a great interest there, but some of the smaller states even have peaks, Q4 2010. We're hovering over this line. It's Indiana, it turns out. If we look at it, Indiana doesn't seem to care very much about our work that much, but they clearly care at this point in time. So again, we want to ask ourselves now, why? What might have been going on at that point in time? What could have happened that would have activated the interest of states that ordinarily don't care that much about our work? This gap over here is much more striking. Georgia clearly doesn't seem to care very much at all, and then all of a sudden Q4 2013, they care a great deal. Okay, I want to now move quickly though and show you what it's like to cycle through different visualization types. So all I do to change the visualization type is click the Show Me window. It was hidden before I expanded it, and then click any of these options. I'm going to choose the box plot because it's kind of interesting. The data comes in automatically. All the variables that were in play before are still in play. This turns out to be a problem here because we actually don't want a separate box for every single quarter and every single year for every single state. Let's go ahead and remove time from the equation. We can do that by right-clicking on the variable, clicking Remove. That's better. Now we have a nice clean progression showing the sum total of donations represented by both the size of the box and the color of the box going from the biggest value to the smallest, where color and size are both representing the size. I think that this scale is off though because California I think is drowning everybody else out. California is an outlier. You want to be very careful with outliers because they may be important. They are important, but you don't want to let them drown out the rest of your data. Oh, this big box here, this is the null. See, there's no donor state. We're going to go ahead and exclude that. There we go. That's better. So when you deal with outliers, what you want to do is you want to change your scales to make it clearer that the outlier is an outlier and let the other variation in the data show. Right now there's no variation. There's California, there's New York which is close to California, and there's everybody else for the most part. Because we also have size, we have some sense of relative contributions. But in terms of color, this is just not showing us the kind of variation I want. So I'm going to take the maximum down to $40,000, which seems like a good midpoint. That might make things a little bit better, but that's quite the amount of variation I want. Take it down a little bit further, $20,000. That's a little bit better. Now we have variation not only in size but also in color. And that would become very important if we were actually displaying something different like average size of donations that came in. In fact, our scale is now hopefully wrong because most people do not donate that much on average. So we need to change it again. And the reason why I'm showing you this process is because this is the kind of thing you're going to have to do again and again and again. You know, readjust scale depending on the view makes tweaks to get a nice balance between respecting the importance of outliers and also showing a good variation in the data. Now we have a nice set of variations showing average donation size, something else we couldn't have seen before. We have a lot of big donations coming in from places like Utah, Oklahoma, Massachusetts, Virginia, even Kentucky. Very interesting. Now we're almost at it's time. But before we run out, I want to quickly change the visualization type one more time and go to the map. Same things that I was saying earlier apply here. For some reason when the data come in to a new visualization type, excuse me, the scales are reset, which in this case is a bit of a problem because we already agreed that the scales were kind of off. I'm going to very quickly change how these things are being treated because I want, there we go, average donation size to be represented by color. And I want some of donation total to be represented by size. Again, we have a problem with scales. I'm going to very quickly change our scales. It seems like the green is a little bit overwhelming. So I'm going to actually change the colors we're using as well. You can change which colors you use always and define your own colors if you want. I'm going to just make it a progression from one color to the next. I'm going to leave that alone for now so you have that look. Not too bad. It seems like this could be a little bit higher actually in this case. And again, you're just playing around here trying to find a nice sort of balance between letting the outliers shine. You want there to be a couple of red dots here, meaning that they're falling off the edge. You don't want there to be too many. You also don't want there to be too many green dots. But the average donation size I believe has to be $5 even in the lowest cases because we're going to win a donation size. So I'm going to have you with this. We're also going to change the size of the dots because right now I feel like they're drowning each other. I'm going to change the scale of that as well down to the value that we used last time. I think it was $20,000, didn't we? Let's try that. That might be a little bit much. Let's take a look at the 30. Again, I'm just trying things out here, seeing what works. Okay, I'm kind of happy with that. Let's see how that goes. All right, not too bad. So now we have a map with a good deal of variation showing us interesting things that we could have seen some of on the box plot, but not all. And we can see we're getting a lot of big donations from Oklahoma, a lot of big donations from Massachusetts, a middling amount that a lot of the nations of California, we knew that already. And just before we close, I want to do one last fancy thing which is, again, drill down in terms of the granularity. This time not in terms of time, because we're not even looking at time right now, but in terms of location. I'm going to drag Donor City into the mark area. I'm going to move Donor State so it doesn't confuse things. And now we have a very interesting data showing us where all of our donations came in from city by city. And that will allow us to pinpoint really interesting things like where are really big donors? I could never have told you before that we had a really big donor in Ridgecrest, California in Las Vegas. Okay, that makes sense. But you know, Folsom, California, that's interesting. I happen to know down here in Florida, Florida never appeared as interesting anywhere else. But down here it turns out we have some really big donors in Dana Beach and Bel Ray Beach. What we have now actually is kind of a map of all of our big individual donors by location. So if we ever wanted to hold, I don't know, some sort of fancy fundraising luncheon, we now have a sort of strategic map indicating where we might want to do that. Imagine this applied to service delivery as well. Maps like this can be really powerful in helping you decide where to target communities you have a lot of needs in, or communities that you didn't realize you weren't serving at all. You can go down as low level as you want, down to individual zip codes, voting districts, counties. We're at city level right now, but you could go even further than that. I'm just going to leave it on a map of California, a map of the Bay Area where I think TechSoup is based. That's right. We're right there. That's us. There you go. So I think that's all we have time for. Thank you very much. I'll hand it back to Susan. Wow, Jordan, you covered so much and you went into such detail. This was really good. We've got a couple of questions. Actually, we have about 12 questions. I think we're going to try to answer right now in a very short timeframe. What is the difference between Tableau Reader and Tableau Public? Good question. Tableau Reader is a locally installed application that can allow anyone to view Tableau datasets. By the way, let's say we were really happy what we had done here. We could go up to File, say Save, and we would probably want to say Save as a Tableau packaged workbook which would include the data with the actual visualizations so that they would be immediately usable by anyone. If we did that, we would get a single file, a TWBX file, and you could send that to anyone over email or whatever, and anyone with a viewer can read it. This is important because Tableau Public allows you to do something similar, but Tableau Public is called that because Tableau expects you to make your data in fact demand. The condition of using Tableau Public is that you must make the data available to anyone who wants to see it online. It's an entirely open system. So if you have any sensitive data that you don't want to be exposed to the world, you probably want to be sending Tableau Workbooks to your colleagues individually and have them install Tableau Reader, not posting it online for everyone to see. Great. Thank you. A couple of questions about the tool itself. One person was asking about statistical representations like median, mean, or mode. Is there a way to show that in Tableau? And indeed for some of the variables, can you define the quarter based on your own institution's needs? So like everybody has a different fiscal year and I think that question speaks to that. So you can tweak how the variables are defined definitely. It turns out you can also save those tweaks by using something called a bookmark. I can send resources on that or you can look it up. It's pretty straightforward. The time stamp variable for example I can show you has, because it's time, something very special, Tableau has within the menu that you get to click on the time variable, this fiscal year start thing. So after that question, yes, Tableau has built-in support for changing how fiscal year is interpreted. But even for things like numbers, Tableau has a lot of options for how you can change how the variable is brought in We can bring things in as a sum, as an average, a median, any percentile you want, standard deviation, variance, etc. Perfect. Question about Microsoft SQL Server, hosted in the cloud, can Tableau connect to that? Yes, almost certainly. It would use the MySQL connector and you might have to do a little bit of tweaking to get the two systems to talk to each other, but that's a very standard protocol and yes, Tableau can definitely do that. Great. Another question, you've talked a lot about creating the data visualizations and then changing them around. How about if you wanted to export it and convert it to a PDF and put it in like a report or a PowerPoint presentation? Some folks are interested in how to take the data and make it static now so they can show it and share it with other people. Good question, definitely doable. I believe you can print to PDF it turns out so I believe if I do this I'm just going to get a copy of what's currently on the screen, active sheet, yep, yep, yep, that's almost certainly what's going to happen. That's one option. There are other ways you can create something called a story which allows you to copy multiple images out of the visualization as you go. It's a little bit beyond the scope of what we're going to talk about here today but yes, it is possible to pull static images both in PDF form and other forms pretty easily out of Tableau. Great, that's perfect. Some folks are wondering if you can create a map in Tableau to show what part of a particular nonprofit like a physical location where they had more donations or more money was given. So similar to your mapping but they're talking about within a park itself like within one location and then sub-locations within a park. So you get basically to go down much lower in terms of like going from street to street. I believe that's possible. I'm fairly certain that Tableau can in fact and let's just do something kind of silly here. Let's drill down by zooming in and see we'll be able to get a sense of this by just looking at how far Tableau wants to zoom in and what kind of resolution the map has. It looks pretty promising. I know it can do zip code level. I am fairly confident in saying it can do address level mapping as well. So you could do the same kind of heat map that we did above where the heat in this case was the size of the donation. You could do that for very, very small areas. I'm still going and Tableau seems perfectly happy with me. Great. And people can play around with that. We're going to provide all of the resources and links to additional support for Tableau in your follow-up email. I know we have actually gone a little over. We still have a few questions but Jordan has agreed to answer those questions and we're going to put that in a Q&A document which we'll send out with your follow-up email. We do want to ask a quick question. If you guys that are remaining that have stuck with us through the whole time, chat in the chat box. One thing out of all the bazillion things that Jordan has presented today, put one thing that you learned or that you're going to share with a colleague. And as you're doing that, I do want to share with you that we have some other upcoming webinars that we'll host next week. We've got a couple of quick books. We also have an Adobe Photoshop for Advanced Beginners. For those of you that missed some of the other data visualization workshops webinars that we did, we did have one on Power BI earlier this month. You can compare Power BI and Tableau. And I know I've talked with Jordan about this. I was really excited about Tableau because I actually understood some of the terminology. So I hope that you've learned as much as I have and it looks like you have. So accessing our webinar archives, we will be sending out information at www.techsoup.org and you can go to our webinar page and we archive all of our recorded webinars. We appreciate your time. We also want to thank Jordan. Jordan you are amazing. You have so much information I could tell. You could have kept on going for another hour and I could have listened and I know everybody else could have too. So we've just barely scratched the surface of the power of Tableau and I really appreciate your time Jordan and I appreciate Allie's time sitting here on the back end. And most importantly I want to thank all of you on the call and on the webinar. We really appreciate your support of TechSoup and Tech Impact. ReadyTalk is our webinar sponsor. We thank them for doing that for us so we can give this data to you. So with that I'm going to sign off and I hope to see you next week for our upcoming webinars. Thank you so much everyone. Thank you all very much. It was a pleasure. Jordan, thank you.


Next up, I'd like to introduce Michael Gielda. Michael is the co-founder of M-Micro and the chair of the Chips Alliance Outreach Committee, as well as the chair of the marketing for the Zephyr project. So I get to spend a lot of time with Michael. And he's involved in many open source software projects and is a very strong believer in open source as the best way of doing things, as well as the open hardware projects related to software-driven tools and methodologies such as AI, FPGAs, and ASIC development. He'll be talking about organizing the hardware ecosystem with open source and at Micro's Visual Display Designer. And with that, please welcome Michael. Hello, everyone. I like how I'm speaking after and ask for the second year in a row. And in some sense, we're talking about the same thing. So yeah, I'm going to tell you about a visual system designer we're building and how we're trying to organize the hardware ecosystem with open source. If you're building products, you're probably not of the faint of heart. You're probably pretty brave because before you start, you don't even know what you're embarking upon. The hardware landscape is pretty complex. There's so many choices. There's so many components to pick from. There's software framers, tools. You're going to pick your testing strategy. There's quite a lot of stuff. You have to decide upon and much of this. You have to decide upon upfront because you have to plan for a product that's going to be physically made to plan for availability and things like this. And so the choices that you have to make are extremely interdependent, right? You have to pick your hardware in terms of also the software tools you're going to use. You have to pick your operating system. Perhaps the vendor you pick has some kind of tooling that you like to use or perhaps you hate to use. Perhaps there's chips that you'd like to use but are not available in the market anymore. Perhaps you have experience with a certain chip. So there's so many things you have to think about, but all of them are not free for you to choose from. You have to pick a certain subsection of the ecosystem. And worse still, the ecosystems within that hardware landscape are often competing and disjoint, right?  And of course, sometimes it's good. You need plurality, but very often it's frustrating where you have so many different ways of doing the same thing, right?  These are disjoint systems. Fortunately, of course, in reality, if you're building hardware, you are building physical things and there are patterns in the real world. If people are building chips, they're basing those chips on existing IPs. They're not reinventing the wheel all the time, right? They're kind of churning out silicon that's kind of similar in a way and everyone's kind of using similar tools underneath and so on. There's only so many ways in which you can remix all the things and reinvent the wheel here. So in fact, there are patterns. But the problem is the patterns are scattered amongst data sheets. The heads of FAEs, perhaps the internet forums, you know, there's there's only place you have to draw upon to actually figure out what's going on. Like how is this one chip related to that other one and why is this register here not doing the thing I'm expecting it to do? And of course, like if you have experience, you'll start to learn how to kind of go around these kind of problems. But nevertheless, it's always a little bit of a frustration, especially if you're on a schedule, right? Fortunately, we have things like Linux. We have things like Zephyr. We have projects where hundreds of people, thousands of people are working together to uncover those patterns, right? To uncover the patterns, to encode them in device trees, encode in subsystems, as Anas was just saying. So clearly, you're not alone, right? I mean, it might feel like you're alone sometimes. But fortunately, there's an ecosystem to help you and Zephyr and Linux are kind of key to solving some of those problems for us. And my company is providing open source tools and engineering services and helping people join this ecosystem, convincing vendors, convincing product companies to adopt Zephyr, for example, to kind of join this big party and explain to them that it's best if they standardize. They don't just do their own thing if they actually go and do things as they should be done. And so we can say that our work is kind of trying to find order in the chaos. And that is kind of how I like to think about it, because it really helps understand why we're so stubborn in promoting open source. And one of the cornerstones of our work to figure out how the hardware system works is ReNode, which is an open source simulator that, of course, requires us to understand how hard it was working to be able to model it and to be able to represent how it's working. And we've been trying to figure out the hierarchy of the hardware and how can we make things work together. It's been a pretty wild journey since 2010. And in a sense, we're kind of trying to enable a unified workflow. Like we want to put your hardware in your computer so that you can work with it in a streamlined way without having to figure out like, oh, for this board, I have to connect my cables this way and so on. It's trying to kind of normalize the way you work with hardware. Of course, in the end, you will need to have the hardware to build a product. But for many things that you're going to do, we'd like you to be working in simulation because it's just so much more streamlined. And in this endeavor, especially in the last few years, we've gotten to a point where we realized, okay, we can use the data encoded in things like Zephyr to do a really crazy kind of endeavor where we have the Zephyr dashboard where we're testing against several hundred Zephyr targets. And we can run 273 boards as of the time of this keynote. We're taking the firmware that gets compiled for the actual hardware, and we can run the same firmware in simulation. And this is only possible because there's so much data encoded in Zephyr that we can read from. There's device trees, there's configs. We can just kind of parse this and figure out what to do, how to simulate those boards. Eventually, we have to write the simulation models. We can't get that data for free. But the data about how things are connected and so on, this is really, really valuable. This is really helping. And we're doing the same endeavor for Uboot now, and we're working also to bring this to Nadex. So generally speaking, we're trying to figure out how to parse all this data that exists in the ecosystem to just support everything. And based on this data, we'd also build a portal where you can explore the data.  And we have this portal where you can browse the boards and SoCs and SoC components, and you can kind of click through it and figure out, oh, this SoC is actually found on those boards. And it's all there, of course. Like you can also browse the Zephyr GitHub, but it's going to be a little bit harder to do that. With Renopedia, you can also see the results of those CI's we're running, see the firmware samples actually replicate them. You can run them in the cloud.  But I spoke about last year, so I don't want to kind of dwell on this. In parallel, we actually saw another journey that was in front of us. So we've been building hardware since almost the same time as Renoed, and we've been building PCBs and mechanical design and so on, building real, real products. And if you think about hardware, especially if you're doing open hardware, it's also all about structure. So you're building bombs. You're building schematics.  You're kind of tracking inventory. You're doing a lot of data mining and categorization and so on, just to stay sane, just to be able to actually build a product. So if you have all the structure, you can actually use it. And of course, if you're in micro, you're probably going to build a portal. And so that's how the open hardware portal was born. And the open hardware portal, even this visualization here, like the similarity to any actual interplanetary weapon systems is completely unintended. So even that portal is kind of generated from components and the visualization is kind of completely generated by a CI flow. And what it is, it's a database of components with KiCut footprints, with Blender models that we're giving to the world. It's completely free. It's open. And this is, of course, stemming from our endeavor in building open source hardware. We have dozens of open hardware boards and all of the components on those boards are in the portal. And you can also use them yourself. You can mix and match them and so on. And we have, of course, photo-realistic 3D renders. These are not photos. These are renders of boards. And the entire portal is kind of built around the idea of again mining this data. So you can kind of browse the schematics interactively. There's a really cool tool called KiCanvas we're using for this. So you can view the schematics in the client. You don't need to install anything. You can look at stackups. You can actually also use this for other boards. So this is not an microboard, right? This is a Silicon Labs board that, of course, on a forum somewhere we found a bomb for the board on Gerbers. So we could visualize it too, right? Because the flow is open. It's kind of completely portable to anything. So yeah, it's kind of cool stuff. But then you start thinking about it and you have Renopedia. You have the Hardware Portal. In some sense, this is the same landscape, right? I mean, SOCs are both physical components and also those entities that you program against, right? So it's just two ways of approaching the same problem. So we decided that we have to build another tool, which is called the Visual System Designer that I wanted to introduce to you today. What it is, it's simply a block diagram editor, right? Like, we take all the data, we expose it to you as a user in the form of a database of components you could pick from, and then you can just connect them up, wire them up on a block diagram level. We're specifically not trying to do a schematic editor, at least not at this stage. It's more of a block diagram editor. And so you can represent existing boards, you can build new ones, and you can kind of just bring order to this ecosystem one block diagram at a time.  That's kind of what we're really aiming for. And with that device tree, you can also generate a re-note files because the whole concept of the re-note PDF stuff is also based on the fact that we can take a device tree and generate a re-note configuration. So you can pretty much also generate firmware, actually, I don't have a slide for it, but you can do that too. So that, in reality, you can just build some custom simulated hardware and run some firmware on it in a few clicks. And even on a basic level, just communicated requirements in a structured way has been a godsend. It's really kind of useful to give people a tool where they can actually represent their thoughts, where it makes sense, where things are connected in a way that actually is probably going to work. And one more thing, of course, we're kind of connecting that back into the re-note PDF and the OpenHeart portal. So in that kind of sidebar of components, you can kind of go back to the other portals, read more, see what kind of boards this SOC is found on, or perhaps download a KiCat footprint for the component you want to use. So it all becomes an interconnected system of frameworks. But there's more. We're also, I was talking about this two weeks ago at the RISC-5 summit, because we're also very active in RISC-5 and OpenHardware. We also want to enable people actually building ASICs with this. I mean, obviously not building ASICs as in, designing RTL, but in sense of the architectural development and exploration and trying to figure out what your chip's going to do. We think it's going to be a useful framework. So if you have those IP blocks, and you want to build an SOC, we believe that this is going to be a good tool for you as well. And what makes us believe this even more is the fact that we also have the ability to simulate ASICs. And we can also co-simulate with variators. So if you have real RTL for your IP blocks, you can use variator to co-simulate them. And of course, if you can wire it all up in this diagram editor, you're going to find it a bit easier to reason about your system. And of course, like we've been very active in machine learning as well, helping people build machine learning accelerators. And we believe there's a huge use case there as well. Ironically, the tool itself is coming from our AI team because the AI team built a pipeline editor for their own AI work so that it can hook up AI models. And we just told them, hey, what if we used for hardware? And that's where we are. So it is really related to it as well. So for us, it's just the beginning. Obviously, we haven't really gotten as far as you would like. And there are many things that I'm not even speaking about that I haven't in mind for this. But what's important to understand is that by using this designer, by even creating it, by having to catalog and document and figure out the hierarchy for all these things, we're learning so much about the hardware that we're targeting. And we're also talking to people figuring out those hierarchies. We're also feeding this data back because we're able to contribute back into Zephyr, for example, adding stuff to Compat Strings or trying to figure out new ways to represent data. I loved Marty's talk about the system device trees. Yesterday and so on. It's like there's so much going on in this space, also with Risk 5 and Chips Alliance and so on, that we believe we can really make a difference here. And this also connects very well to the idea of software bombs and hardware bombs. So yeah, we just think it's a very good opener for something really cool. And so we'd like to really talk to everyone that's building SoCs, building songs, boards, components, sensors, so that first of all, we can figure out how to represent the things. And second of all, we can figure out a way to just expose them in the visual system designer for you.  You can come to us and get our help to actually build things. But while we're building them, we're also going to improve the system. We're also going to represent your things in the blood diagram editor. We're going to add your stuff to the libraries and so on. So please do come to us. And if you're interested in these things, we have a booth. If you just go out, you'll see us. So we're very happy to talk to you and try to figure out how to organize this ecosystem a little bit better. Thank you very much.


Americans almost have this weird fixation on Scandinavia. On this topic, we want to use Sweden as the scapegoat. But then, in a bunch of other political contexts in the United States, we, despite not knowing very much and being pretty naive about Sweden, seem to want to emulate it. I think that the most interesting example of this, switching gears a little bit, is Bernie Sanders. So Bernie Sanders will so frequently call himself a democratic socialist and tout socialism as the model. He doesn't mean Venezuela-style socialism. He doesn't mean Cuban-style socialism. He means Swedish socialism. I think it's worth playing a bit of Bernie Sanders rhetoric just to really dig into a couple of the specific claims that he makes when he touts the Swedish DSA model. Let's roll that clip. And I'm curious to hear you react to some of the specifics that he draws. Is it really possible for someone who calls himself a socialist to be elected president of the United States? Well, so long as we know what democratic socialism is. And if we know that in countries in Scandinavia, like Denmark, Norway, Sweden, they are very democratic countries. Obviously, their voter turnout is a lot higher than it is in the United States. In those countries, healthcare is the right of all people. In those countries, college education, graduate school is free. In those countries, retirement benefits, child care are stronger than in the United States of America. And in those countries, buy and launch. Government works for ordinary people in the middle class rather than, as is the case right now in our country, for the billionaire. I can hear the Republican attack add right now. He wants America to look more like Scandinavia. That's right. That's right. So, and by the way, that was from ABC this week, in 2015, when Bernie was running for president. And some of the things he mentioned there, turnout, more generous social safety net, free college, more general equality. You mentioned some of the free market. Yes, yes. So, is that something that is crucial to Sweden's society and kind of cultural success? You know, this is why Sweden is not a libertarian paradise. We might have free markets, but we do have a very generous welfare state. And it's true that many of these things are handed out by the government. Not always, it's funded by the government at least, often they're private providers. But the thing is, we pay for these things ourselves. That's an incredibly important point to make. Because, you know, there's this pipe dream of Bernie Sanders and others that this will somehow be paid for by the rich. But Sweden learned in the 1970s that if you have, you can pick one, a big generous welfare state, or you can make the rich pay for it all. You can't have both. If you have a universal generous welfare state and make the rich pay for it all, they will stop being rich. They will move. They will stop starting those businesses and the ideas of the future will move. Again, instead, you have to get most of the taxes from low and middle income households. That's the dirty little secret of the Swedish welfare state that the socialists love the poor taxpayers because they are reliable, loyal taxpayers. They don't dodge. They don't move to Monaco. They don't have tax attorneys. So we have the bulk of our government revenue coming from regional, local income taxes, which are flat income taxes, not progressive. And even the sort of the national level kicks in among fairly, fairly, unfairly low incomes. Also things like a value added tax at 25% in general on most goods, which is obviously regressive, the poor pay as much as the rich when they buy food in taxes. And this means that when the OECD club of mostly rich countries look at different tax systems around the world, they say that the Swedish system is one of the least progressive tax systems of all, much less progressive than the United States because America's welfare state is so small. So you can rely more on the rich, whereas here we all have to pay for it. So the Swedish welfare state mostly just redistributes over an individual's life cycle. We get lots of stuff when we're young and in preschool and school, and then we work hard and pay for it all. And then we get much of it back in healthcare and retirement benefits, which mostly means that yes, we get lots of stuff, but we pay for it all. And it means that nothing much is different from paying it straight out of pocket than the fact that we only get it back when and if the government decides that this is a valuable thing. This is how you should spend your money. It's so interesting that socialists keep coming back to Sweden. And I think that's because all their favorite countries constantly fail. Every Cuban Venezuela end up with bread lines and millions trying to escape from that horror show. But they always have Sweden. It seems so friendly and successful and yet socialist. Well, the problem, of course, is that we have been socialists in Sweden and we have been successful, but never at the same time. That's what Sanders and the others fail to realize. We had that period in the 1970s and 1980s when Sweden was doubling the size of public consumption, raising taxes, regulating everything and price controls and what have you.  Look at Sweden, they are socialists, but they're also one of the richest countries on the planet. It seems to be working in Sweden. The problem, of course, is that it's like that old joke. How do you end up with a small fortune?  And that's what Sweden did in the 70s and 80s. We were one of the richest countries on the planet before this experiment. And that was based on a 100-year period of limited government, free markets, free trade. As late as 1960, we had lower taxes than the United States and most European countries. This brought us all the wealth and all those successful international companies, the Ikea's and stuff, that brought us so much wealth that politicians thought that they could redistribute everything and begin to just jack up spending and taxes. Well, they couldn't because the 70s and 80s, that's the one period in modern Swedish economic history when we lagged behind other countries. This is the moment when we didn't create a single net job in the private sector. And when entrepreneurs and businesses left Sweden, Ikea left Sweden, Tetra Pak left Sweden, most successful entrepreneurs left because it was impossible to do business in Sweden. And this all ended in a terrible financial crash in the early 1990s. So that was a brief period of time. And it's one that we don't want to go back to in Sweden, not even Swedish socialists. Even they say that, okay, we went too far. And the Social Democratic Finance Minister at the time said it was actually absurd and perverse in many ways what we were trying to do. And since then Sweden has again become successful, but that's based on a new period of liberalization and of economic reform. So today, if Bernie Sanders wanted to imitate Sweden, he would have to reform Social Security, partially privatize it. He would have to open up and privatize much of product markets, deregulate, abolish occupational licensing, reduce many taxes, reduce corporate taxes from the US level, abolish property taxes and inheritance taxes and stuff like that, implementing national school vouchers systems of private schools get the same funding as public ones. So Sweden today is not what he remembers from the 1970s. It's a much better and freer place than it was back then. In a lot of ways, this almost feels a little bit like a libertarian paradise, not on every level. But I certainly look at, obviously Sweden has some areas that absolutely fly in the face of that. Like I know homeschooling is banned in Sweden, which is very sad. But school choice is massive in Sweden.  But one thing that's actually really interesting that I know you've commented on a fair bit is the fact that union relations in Sweden are a lot less fraught than in the United States. So in the United States, you so frequently see teachers unions and cop unions, essentially allowing some of the worst, lowest performing employees to fester in these roles, to never be fired, to have perpetual constant eternal job security completely shielded from the consequences of their laziness or their bad actions. You see a ton of political power exercised by unions in the United States. Is this different in Sweden? It seems like it's a little bit less toxic. You know, relations in workplaces aren't as confrontational in Sweden as it is in most other places. And I would say the trade unions are more respected in Sweden broadly than in other places. But as one, there was this great conversation between two trade unionists, an American and a Swede, when the Americans said, oh, we would love to have the kind of respect and attention and power as you do in Sweden. And the Swedish trade unionists said, in that case, you have to deserve it. And that's one major difference. This shocks Americans. The Swedish trade unions, one of their most important goals is to make sure that wage increases aren't too high, aren't too, that they don't get too high wages, because that will make their businesses less competitive. So the sort of the trade union federation is traveling around the country and trying to sort of get the local trade unions to relax, don't try to get everything at once, because we're a small open economy, we have to stay competitive and make sure that wages don't increase faster than productivity. And that's obviously not the same trade unions as you see in other places. Some explain this with the fact that we have much higher trade union membership rates in Sweden than in other places, 70, 80% even in white collar professions.  In that case, you have to think about the competitiveness of the whole economy. You're also a consumer, so it doesn't make sense to lobby for tariffs, for example. So many things are different in Sweden than in the US. Thank you for watching our conversation with Johan Norberg. For the full conversation, go here. For more clips, go here.