Hello and welcome. My name is Shannon camp and I'm the chief digital officer of diversity. We would like to thank you for joining the current installment of the monthly diversity webinar series real world data governance with Bob Siner. Today Bob will discuss a blueprint for data governance roles. Just a couple of points to get us started due to the large number of people that attend these sessions you will be muted during the webinar. If you'd like to chat with us or with each other, we certainly encourage you to do so and to note zoom defaults the chat to send to just the panelists, but you may absolutely switch that to network with everyone. For questions, we'll be collecting them by the Q&A section and to find the chat and the Q&A panels you can click those icons in the bottom of your screen to activate those features. And as always, we will send a follow up email within two business days containing links to the slides, the recording of the session and any additional information requested throughout the webinar. Now let me introduce to our speaker for the series Bob Siner. Bob is the president and principal of KIK Consulting and Educational Services. Bob specializes in non-invasive data governance, data stewardship and metadata management solutions. And with that, now I will turn the floor over to Bob to start his presentation. Hello and welcome. Hi, Shannon. Can you hear me okay? Sounds good. Okay, I always have that fear that I'm going to go through the first couple of slides and I didn't take myself off mute. So I'm glad to be with everybody today. Glad that you took time out of your busy schedules to sit with us in today's webinar, whether you're attending live or you're listening to the recording. I always say that the topics that we present are very timely. And this one, a blueprint for data governance roles is about as timely as, I mean, it's almost always timeless, should I say, because data governance roles play such a critical role in the success of your data governance program. So I'm going to talk about data governance roles as being the backbone of success within your program. And then we're going to go through what I consider to be a blueprint for successful roles in your program. So again, thank you for attending today. I'm looking forward to sharing some information on the subject with you. Before I get started, I want to just share a couple pieces of information about some things that I am working on or places that I will be. As you know, this webinar series takes place on the third Thursday of every month. Next month, another great subject, metadata management's impact on data governance. So we'll be talking about how data governance programs really rely on having good metadata in order for people to gravitate towards the program. So we'll be talking about metadata management's impact on data governance in the month of April. Next week, I will be at EDW, Enterprise Data World in Orlando, Florida, giving a three hour session on activating data governance and data stewardship roles. So a similar subject, but taking several hours to just go through the operating model and talk about how to take these roles from the definition that we're going to talk about today into activating them, getting them involved in day to day processes within your organization. I talk a lot about noninvasive data governance. I've written a couple of books on the subject. So please, if you're not familiar with the subject, go look them up and let me know what you think. I've also done several learning plans through data diversity. I'm going to talk about this a little bit more at the end of this session as well, but there's one specifically on noninvasive data governance, one on metadata governance, one on business glossaries, dictionaries and data catalogs. So please go to dataversity.net and the training center. In fact, this is data month, data education month at data diversity. So please go and use KIKEDU or any of the discount codes that you can to acquire some of the online learning plans through data diversity. My consulting company is KIK, Consulting and Educational Services. KIK stands for Knowledge as King and I focus on knowledge transfer to my clients. And as I've always said in my spare time, I'm also a faculty member at Carnegie Mellon University here in my hometown of Pittsburgh, Pennsylvania in their chief data officer executive education certificate program. So what are we here to talk about today? Well, we're going to talk about a blueprint for data governance roles. So I want to lay out the topics that I'm going to walk through today. First thing that we're going to do is talk about the crucial roles that make up an operating model of roles and responsibilities. And these are the roles that are necessary to establish and sustain a successful data governance program. Whether you're following a non-invasive approach or a top-down command and control approach, you're going to need to define roles and responsibilities. So I want to go quickly through a series of roles that are important as we're building on our blueprint for data governance roles. I want to also give you some insights into some of the responsibilities and some of the skills that are necessary at each of the different roles within your data governance program. Talk about strategies for how do we go about recognizing people into their roles? When I talk about the different approaches to data governance, I say the top-down, the command and control approach, people are being assigned into roles. And when you're assigned something, it immediately feels like it's new and it's over and above. But I really want to talk about how do we go about recognizing people for what they already do, recognizing them into existing roles within your organization and within your governance program.  I've provided some detailed slides about ways to align your governance roles with the most important things that are happening within your organization. The broader business objectives and initiatives taking place in your organization. And then I'm going to wrap up the webinar by sharing with you some resources and templates and tools to use that will help you to build out your data governance roles and your data governance framework. So those are the things that we're going to talk about today. I like to start the webinars by just sharing with you the definitions that I use for some of the most important terms that we're going to talk about today. And the first one being data governance. There's a lot of different definitions for the term data governance, but my definition is worded kind of harshly, or should I say it has a little bit of teeth behind it. And there's a reason for that because I think that no matter what approach you take to data governance, however you're implementing governance within your program. At the end of the day, you need to execute and enforce authority over data. I had a conversation with a client earlier this week as we're putting a definition to data governance. They said, we can't use the words execution and enforcement. They want to use the words like formalize and guide behavior. And that's all well and good. But at least for purposes of this webinar I define, and for most topics I talk about, data governance is really the execution and enforcement of authority over the data. Because the government's not coming to us and telling us, you know, follow these rules if you'd like. They're telling us you need to follow these rules. You need to comply. At some point you're going to even be able, need to be able to demonstrate to us that you're executing and enforcing authority over data. So that's why I word that strongly. Most of my clients cringe and select another definition, but I still come back to saying that we need to execute and enforce authority over data stewardship. I'm going to be talking a lot about stewards today. I've often said, and I'm sure I'll say it during the course of this webinar, that potentially everybody in the organization that has a relationship to the data as a definer or a producer or a user of that data. That if they're being held accountable for how they define produce and use data, they're stewards. It's not something that they can opt into or opt out of. You're not going to point at half of a room that uses sensitive data and say, okay, this half you need to protect that data if it's sensitive. Based on their people's relationship to that sensitive data that are a steward of the data. So again, not I've done complete webinars on that, but I just wanted to share with you that the stewards that I'm going to talk about today. These are people that most likely already exist within your organization that already have some relationship to the data, perhaps as a subject matter expert says steward is a very important term for today. I've provided kind of a broad brush definition of what data management is, but I also want to talk about what a blueprint is because this webinar is called a blueprint for data governance roles. So it's really a detailed plan or a design for something. And in this case, it is a detailed plan or a design for data governance roles. You may not use the framework exactly the way I'm sharing with you. You may alter the the operating model to match your organization. In fact, that's the ideal thing to do. I just want to give you some ideas as to what the roles may be that if you're setting up a blueprint for data governance roles within your organization. These are some things that you might want to consider. So the first thing that I'm going to do the first topic for today really is the crucial roles that are necessary to not only establish your program, but sustain a program. Because there's a lot of programs that have started and have a short shelf life, so to speak. The idea of having calling it a data governance program rather than a project is that it's going to last forever. So you need to be able to sustain your program. So if you're going to sustain your program, you're going to need to define a set of roles and responsibilities that are also going to be sustainable within your program. So I'm going to share my operating model. I'm going to share how it is truly the backbone of a successful governance program. As I stated before, we'll talk about the operating model in terms of a data governance framework that I share a lot and then I've been using a lot recently. Then I want to go level by level through the operating model and describe to you the responsibilities who the people may be that fill these roles. And then we'll spend some time talking about establishing and sustaining this model for data governance roles. If you've attended my webinars in the past, you've seen diagrams like this, if not this exact diagram in a nutshell, it is the blueprint for roles and responsibilities associated with the data governance program. So most organizations are set up in terms of having an executive layer. And again, a lot of this is going to depend on the size of your organization. They're going to have an executive layer, a strategic level. A lot of organizations have a data governance council. I'll talk about that a little bit here in a minute. The tactical level and the operational level are where the stewards come into play. And I talk a lot about the domain stewards or the subject matter experts of the data we need to recognize who those people are. Like I said before, these people most likely already exist within your organization, but we need to notice who these domain stewards are, who the data stewards are. We also may want to record them somewhere. So let me first of all, let me blow up this diagram first if you are not familiar with the diagram, just to give you a closer look at the different levels. I always go by the executive level, strategic tactical operational and support levels. I've had several clients that have told me these aren't the way that we describe levels in our organization. They've flip flopped the operational and the tactical. Again, this is just to give you an idea, some considerations for setting up a blueprint for your data governance roles. So again, this should imitate or mimic what your organization looks like. But even in the smallest of organizations, they seem to have the executive level all the way down to the support level. So as we're talking about the blueprint for data governance roles, we need to go through each of these. And I will provide a hopefully detailed description for you as to what these roles, the role they play within your data governance program. Most of you or many of you within the data diversity community know who Len is. So I didn't even give Len's last name here, but I said that my friend Len and that is Len Silverstone of Zenford, Zen with Len fame. And Len will be at the EdW conference doing his typical Zen with Len event or session on Wednesday morning. But Len once told me that we shouldn't even call this discipline of data governance, data governance. We should call it people governance, because it really refers to people's behavior. I've oftentimes, I'm not, I didn't include this in this webinar, but I refer to a data governance bill of rights where the word rights is within quotes. It's getting the right people involved at the right time for the right reason doing the right thing with your data. And if we can get to a point where we can get people to follow the that data governance bill of rights, it really becomes it. It's all about the discipline. It's all about the people discipline. And so Len said we shouldn't even call this data governance. We should call it people governance. The roles, as you'll see in a moment, they, they're a core component within the data governance framework that I share. If you look up the term backbone in terms of a business definition. It is truly the fundamental infrastructure, the key resources, you know, what is going to support and what is going to enable your governance program to be successful. So the blueprint, the operating model of roles and responsibilities is really all about what people do. And the roles and responsibilities play a role in every part of your program from stewardship and governance activities to communications activities. And I'll share with you a communication plan here in a little bit to the formalization of processes to the acceptance of governance within your organization and the advancement of literacy of people within your organization. Truly the business value that comes from a sustained data governance program comes from the people. So it's very important to define what your roles and responsibilities are going to look like. As part of your data governance program. And I'm guessing that most of you who have data governance programs. You're operating model or at least your set of roles and responsibilities.  So I've been talking more and more about my data governance framework. This is my data governance framework. I want to make it a little bit bigger for you to see as well. In this data governance framework, and in fact, there's going to be a new learning plan available through the data diversity training center soon that focuses on data governance frameworks. And I'm going to use this data governance framework as the basis for that learning plan. I typically just to quickly describe it to you across the top of this framework. There are the core components of a successful governance program. And this is not to say that these are the only six core components, because as I'll tell you in a minute, you know, I've talked to groups of people and asked them, is there anything missing do we need to add to these components. There's there have been some suggestions, but then also down the left hand side of the framework. That's how I typically suggest that an organization is set up from the executive to the strategic tactical operational and support. And at some point in time, you're going to want to know, for example, when you look at all those bridges between those core components at the top and then the levels down the side. You're going to want to know the data that's important to each of these different levels, you're going to want to know the role that each of these levels play the processes that they're engaged in how to communicate with these people. So again, this is typically it's this is typically viewed as being a framework. And in fact, in data diversity conferences recently I've done a couple of tutorials where we started with a blank framework, and we actually filled in the framework with what were the what were the important processes and communications. So this data governance framework is a good way to look at what's going to be necessary for your data governance program. I want to give you a little bit of a history on this as well. The framework as you see it now, the way it looked 10 years ago is there was no data column. So again, this framework just as it's working for me it's evolving for me as I'm working with clients and finding what's important. If you implement something like this it can evolve to you as well. And just to give you some examples, I had one organization or I had a group of people actually tell me that there should be an administrative level of the framework, because we need to know from an administrative perspective, what are the roles. I'll talk about that a little bit as we go through the webinar today, even from a process perspective what are the administrative roles. I've had people tell me that I should add a column for business value. Again, this is a framework that can be used that can be customized to your needs within your organization. What we're going to focus on today is those roles the blueprint again being those roles of responsibility roles and responsibility and I'm going to go through it from each of the different levels perspective as to what do we need what should we expect out of our executives, strategic folks, all the way down to the support level of your organization. So as I said, I want to go through it level by level and just to kind of paint it with a, a pretty broad brush here at the executive level. That's typically where leadership of the organization fits in that's typically where you have a steering committee do you need to stand up a separate steering committee specifically for data governance. The answer is maybe the answer is, it all depends on your organization. If we were able to get data governance to be a topic on existing steering committee meeting agendas, just to get data governance brought up as a topic with that level individuals that that level folks within the organization. And then there's the typical at the executive level there's a steering committee. I'll talk a little bit more about that in a minute. At the strategic level, the most common name that's given to a group or a committee at that level is the data governance council, or data governance board or data governance committee again it all depends on how some of these terms are used within your organization. I'll talk again about what the responsibilities are with some of the skills and who some of the people are that shouldn't be part of that at the tactical level. That's where we start breaking down silos within the organization. That's where there are individuals or even small groups of people that are considered to be data domain stewards that they have knowledge around a specific subject area of data. And they're involved in facilitating to decisions that are being made at the tactical level. Again, this is a cross business unit, rather than at the operational level, those data stewards there within a business unit. So the people at the tactical level, typically for a governance program to be successful. They have some level of subject matter expertise, or knowledge, or maybe even levels of authority across the entire organization. A tactical domain steward could have the authority to make decisions and and make it such that we don't need to take all these decisions to the data governance council. The buck basically stops at the tactical level. And then like I said, there's the operational level. These are people that define produce and use data as part of their job. As I mentioned earlier in this webinar, if they're being held formally accountable for how they define produce and use data. They're stewards of the data and the data stewards and the tactical domain stewards, they need to be incorporated into the blueprint of any successful set of roles and responsibilities around data governance. You may notice that I missed one of the levels here on this diagram and I want to talk about them specifically because I think they get overlooked quite a bit. And that is the support level.  But then there's also the sidebar, the support level, and that includes in typically the people that have responsibility for administering your program. It includes it includes all the different partners that you may have for data governance across the organization. So the first question I'd be asking if I were you is who are the data governance partners. And basically the way I define what a data governance partner is, and this includes it falls into this data governance partner category is that it's any group in the organization already that actively governs something. There's an information security group, there's a risk management group, even finance governs organizational finance human resources govern human resources within the organization, even all the way down to corporate communications and customer service. The truth is that the data governance program does not want to replicate the governance of the things that these partner groups are doing. But these partner groups should work hand in hand, they should work as partners to data governance and help us to recognize who the people are in the organization that have accountability for data that need to have that accountability formalized. So again, this is just kind of a blown out version of that pyramid diagram that I just shared, but I'm going to go through it a little bit more here in a couple minutes. So the real goal of establishing these roles is to establish and sustain your program, the roles and responsibilities for every engagement that I've ever worked on with a client it becomes the backbone it becomes the support of the entire governance program. And so in order to be successful with your program, number one, you need to define the roles. We're doing that today if you haven't done it already. Hopefully this will give you a good starting point. We need to communicate the roles to people. We need to get people in the organization to acknowledge that they're a steward that they're a subject matter expert or a domain steward acknowledge that they're on the council, or that they're a partner of data governance and getting people to acknowledge what you're doing or what they're doing in terms of governance is really big because once they recognize themselves as being stewards or council members, they'll start taking the role more more seriously. We need to engage those roles once people acknowledge them we need to promote the roles we need to grow the roles in the organization. Most organizations don't start by implementing these data governance roles across the entire organization, all at one time. So oftentimes that growth is incremental within the organization. And then, in order to sustain a thriving program, we need to make certain that we continue to engage these roles. But again, it looks like there's lots of different roles. The one thing that I didn't share with that pyramid diagram is that I usually put the words exists or new or leverage next to each of the levels. Because in many organizations that executive level that executive steering committee it already exists. That council or a group of people that are similar to the group that will make up your data governance council. They already exist. The subject matter experts, they already exist. You know, so again, as you're building out your program, the whole concept of being non invasive is to recognize people that are doing these things and to help them to help the program to be more successful. So again, you're not going to hire people into all these roles. These people, especially if your organization has been around for some time, these people already exist within the organization. I want to share some insights into some of these different levels and I just want to point you to a couple different resources here. I wrote an article that was published this month in T Dan in the data administration newsletter. It was called give the belt to the ELT. And so there's that's an acronym belt and then the ELT is the executive leadership team. I'll talk about that in a minute. I also wrote a column or wrote an article back in December and posted it in LinkedIn talking about seeing your data governance council and again see is an acronym and we'll talk about that in a second. I'm not recognizing your students stewards, you know, how important those roles of the partners I just described are. And then we'll talk about, I'll just kind of overall share with you what I consider to be the blueprint of roles and responsibilities to just to quickly summarize what I put in that article in in T Dan this month. The acronym belt stands for buy in empowerment leadership and transformation. That's typically what the executive leadership will we require from our leadership. And in fact, when I do an assessment with my clients, the number one best practice 100% of the time has to do with executive leadership team buy in. Or should I say their support sponsorship and understanding, because if they don't, if they're not not bought into it, you're going to be spending more time just justifying your existence within the organization. So getting them to buy in is critical. So as part of the belt that we're giving to the ELT buy in, we need to help them to have that commitment and support all the different levels of this opera of this blueprint for data governance roles. We need to enable the stakeholder. So we need basically need to be able to empower the ELT to make decisions if you're going to escalate things up through your strategic level to your executive level. And that doesn't happen all the time, but we need to empower these people at the executive level to make the hard decisions because we can't just agree to disagree. We can't neglect and not make decisions that need to be made. It doesn't doesn't build well for the quality and the trust that people have in the data. So empowerment is important leadership demonstrating long strong leadership from that level, especially where data is concerned and the term transformations being used everywhere. So we need people at the executive level to foster that culture that really truly drives and I know you've probably heard this a million times before, but data as an asset. And, you know, I can't tell you that the how true that term, or that expression data as a strategic asset is today as it was when somebody first said it. And that is why organizations implement data management data governance is because they want to get the most value around their data as an asset, and they want to foster a culture of that. The article that I wrote in terms of the data governance council and seeing your data governance council. Well, we need to stand up this group that I'm going to talk about in a minute and tell you what are the worst specific responsibilities of the council. We need to stand that up and lay the groundwork. We need to empower them as well with authority in many organizations with that pyramid diagram that I shared. There's an arrow up the right hand side of the diagram that basically decisions go from the operational if it's just within a business area to the tactical if it's now embracing multiple business areas to that strategic level where the data governance council resides. We need to empower the people at the council level to be able to make decisions for the organization. Very rarely decisions get taken up to the steering level that I just talked about. And we certainly need to engage our council as well. I find it easy to remember acronyms like belt and see when it comes to getting people in the organization to understand some of the concepts that we're trying to share. You know, I mentioned this earlier that everybody in the organization is a data steward. I've even said everybody is an organ. Everybody is a data steward. Get over it.  So if they have a relationship to the data and they define data as part of their job or produce data or use data, they're a steward and we need to find a way to to work with that and to get the stewards engaged. So recognizing people as data stewards, getting them to recognize themselves as data stewards is very important because basically everybody in the organization plays a role when it comes to your data. As I mentioned before, the partnerships are key. You can look across your organization. There are groups like IT that are already governing. They're governing things like the projects, the portfolios, the spending of the budget. So these are your partners. You don't want to replicate what they do and they certainly don't want to replicate what we do in terms of data governance. And again, as I mentioned, the governing functions that already exist in the organization, project management is governing projects. IT, risk, finance. Again, look for partners within your organization and I can assure you that you'll find them. I can also assure you that you don't want to try to replicate what these groups are doing. And this is the one slide that basically takes the framework on the left. And as you can see, it's drawing lines between the framework that I shared earlier and the different levels of roles and responsibilities that are important when it comes to developing a blueprint for data governance roles. All right, so I'm going to now, I know I'm going to run out of time because I have 40 some slides and we're more than halfway through the session here. So I'm going to go quickly through some of these. But what I would hope is that if you get a link to this webinar or you get copies of the slides, please refer back to them, especially if they're going to help you as you lay out your governance program and the roles and responsibilities that are going to be necessary within your program. So at the executive level, I wanted to share with you, what are the typical responsibilities of that steering committee, setting governance strategies and objectives, providing oversight, allocating resources. You know, I mentioned the first best practice, which is senior leadership supporting, sponsoring and understanding the second best practice almost always has to do with their need to be resources necessary in order for you to be successful with your governance program. So if somebody needs to allocate those resources, oftentimes those resources need to come from the top of the organization and the members of that executive steering committee, they're oftentimes the C level in the organization, the CEO, CFO, CIO. Even the CDO or CDAO, they might be the ones that are having the responsibility for kind of managing and facilitating the meetings that take place at the steering level. At the strategic level, again, I don't want to read through all of the examples of the responsibilities, but I'd love it if you would share it in the chat as to if you see responsibilities that I'm not including at the data governance council level. I've literally seen organizations with charters that were several pages long that defined the responsibilities of the data governance council. Originally, I just had defining overarching data policies, but typically it's not the people at the council level that are defining these policies. Typically they're being developed by those people that have responsibility for administering the program and they're brought to the council for approval. So again, it depends on your organization. These aren't a perfect set of responsibilities, but this gives you an idea as to what are we going to expect of the people that are at the strategic level of the organization. Typically, the people that make up a data governance are strategic representatives from key business functions. Also, they're typically driven by the data governance manager or administrator or leader. Oftentimes these days I'm finding that compliance officers, auditors are involved on the council as well. I've been known to say that the data auditors are your friend. I've been told by people now the auditors aren't your friend, but you can benefit from having a relationship to the auditors within your organization to know what is going to be looked for to give your program the blessing that it needs to move forward in a lot of situations. The tactical level, again, I wanted to just share with you the responsibilities and who the members of that tactical level are. I refer to them as data domain stewards, data subject matter experts. Again, these are the people that are coordinating and facilitating data related activities across business functions. Because I said before at the tactical level, we're not talking about just within business functions, we're looking at cross business functions. So coordinating facilitating activities across the functions. Oftentimes these are the people that have the responsibility either for making decisions or escalating their decisions. Again, if you see along the right hand side of the pyramid that's down below escalating from the tactical level to that strategic level that we just talked about. And basically these are the ask yourself who do I go to when I have a question about this or that or about making a decision around data. There are already people within your organization that are subject matter experts. If you take the command and control approach and you assign them the role of subject matter expert. They may look at you and ask you where are they going to find the time to do that if you assign them something new, but if you recognize them for what they already do. Again, that's a more of a non invasive or a less invasive approach. And being recognized has a positive connotation that goes along with it. So the tactical level roles and responsibilities are critical for your data governance blueprint or your blueprint of data governance roles. The operational level the same thing these are people that are executing day to day data management tasks within their functions. These are the people that are defining producing and using data within the organization, especially if they're being held formally accountable for the actions that they take that they take. You know I talked about the usage of sensitive information just based on the fact that somebody uses data that is classified in a way that it's sensitive to the organization. If they are expected to follow the rules associated with protecting that data. They're a steward of the data. It's not something that they can opt into or opt out of, but you know potentially as I said before, everybody in the organization does something with data. And if they're being held formally accountable for what that something is, they're a steward. I think it's in our all and all of our best interest if we can get them to recognize themselves as being stewards, build out a data steward community of practice within your organization where data stewards can talk to each other. And then the last level within the pyramid diagram or the operating model is the support level. And as I mentioned before that there's partners already for governance throughout the entire organization. I guarantee you that if you're not in IT, you've got an IT group. You've got an information security group. You've got a finance group, an HR group. All of these folks are already governing something. As I said before, we don't want to govern what they're governing, but we can learn from them and we can partner with them to make our program to really help them to understand that they're already governing. And the data governance is just a function similar to human resource governance or to project management governance. It's just a different asset of the organization that needs to be governed. So the support level is extremely important. So in all of my webinars that I do, there always seems to be a very text laden text intensive section of the webinar. And I'm going to go through these slides quickly too, but I want it to be so that you can go back and you can refer to these slides. Because it's really important from an organizational success perspective that we align the roles that we're defining within this blueprint for data governance with the broader things that are taking place within the organization. The broader business objectives, the broader initiatives. So I'm just going to walk through a few of these and I just want to focus on the things that I've underlined. As you'll see, there's a lot of text on the next several slides. So when we go about one of the ways to align data governance roles with that broader objective, broader objectives and initiatives is to align the roles with the business strategy. So that ensures making certain that we get the people involved as they need to be involved in strategic planning and decision making. We need to articulate and communicate business value that governance brings in order to align the roles with the business strategy. We also need to integrate the roles and responsibilities with the business processes. Many organizations use racy charts that are basically a way to cross reference the roles that you have defined for your governance program with the steps that the tasks are that are taking place to complete whatever the function is that's being defined within the racy. Training and awareness programs are also another way of being able to align the roles with business strategy. Aligning with business performance metrics and incentives within the organization is again another way to align governance roles with things that are already happening within your organization. Again, I said that these slides are kind of text intensive. I just want to kind of focus on those things that I've underlined to make this more to make certain things jump off the page at you. One of the things that we need to do is we need to link the initiatives that we're involving people in their data governance roles with ways that we're measuring success in the organization. I have a client right now that is specifically focusing on their operating model and evaluating how effective that operating model has been to the organization. And what we've done is we've taken data quality matrix data accessibility matrix metrics and we've we've linked them to what role to the different people within the operating model play as a way again to be able to link the data governance roles to the broader business objectives and initiatives. Within the organization and integrating the achievements of governance related KPIs into performance evaluations involving governance leaders in strategic planning process. And these are different ways of being able to link these initiatives to the KPIs within your organization. Another way to align the business roles with a broader perspective is to integrate them into business process. As I mentioned before with the racy matrix, you know, how do we define who's going to be responsible? Who's going to be consulted? Who are we going to? Who's going to be responsible? Who's going to be accountable? Who are we going to consult with? And who are we just going to inform on the decisions? We need to work towards getting our stewards, our domain stewards, even potentially our partners engaged in business process. So integrating stewards in the business process, we need to closely align with the daily operations. We need to involve personnel in the design and review of the processes. All of these things are different steps that organizations can take to integrate the data governance roles into the business processes of the organization. Again, like I said, lots of text on these slides, but we can develop business process or process centric data policies and we can leverage process improvement initiatives across the organization. Utilize our stewards, utilize the people that we've recognized for the role they already play with the data into these processes. Enhancing collaboration across the units. As I mentioned before, the data governance council, the level at the strategic level, the top of the pyramid, so to speak, not the tower sticking out of the top, but the strategic level. We need to establish a cross unit data governance council, which means that there's representatives from different business areas within the organization. We need to have projects where we pull people together through these communities of excellence, these communities of practice in the organization. So another way to enhance collaboration is to have joint projects that bring people from multiple business units together. Developing a shared platform for data governance and the tools that can be used by people across the organization. Again, like I said, I didn't want to read each of these to you, but I wanted to give you an idea. In fact, there's even one last section, which is how do we leverage the roles and responsibilities for compliance and agility within the organization. That's explicitly including compliance responsibilities within the responsibilities that we've associated with each of these roles. Basically, we know that everybody in the organization needs to protect sensitive data. That's a given. So we need to integrate compliance into artificial intelligence into any big data, master data, business intelligence initiatives that are going up taking place within your organization. Don't consider compliance to be an afterthought. We need to build it into what we do. And the way that we're going to build it into what we do is by explicitly defining what roles as part of our data governance blueprint for data governance roles are going to be involved in those efforts. Aligning it in the data governance framework. I shared the framework earlier with you. We want to make certain that we're aligning our data governance roles with our broader business objectives, but we're going to do that because we know that our broader business objectives and every initiative has a compliance and an agility piece of it. So again, I hope this text laid in part of the webinar was helpful to you. Please go back and look at it and see if there's things that you can you can glean from it as you go and you start to develop your blueprint for data governance roles. The last thing that I want to talk about before I turn it over to Shannon to see if we have any questions today is just kind of go through some resources and templates and things that you can use when you're building out your data governance framework. And then especially as you're building out that one column of the framework, which is the data governance roles. So let's start with the framework itself. There's lots of articles that have been written on T Dan, not only from myself but from other individuals about different data governance frameworks. Consider T Dan to be a resource for you to help you to understand the different data governance frameworks that exist. Look for the linked and linked in articles. I'm posting a couple articles a week. There's a white paper and non invasive data governance that I think Shannon attaches to the email she sends out a week after a couple days after the webinar. There's these webinars. There's the new learning plan that I mentioned that's going to go into detail as to how you might want to go about filling out this framework for your organizations. And I'm also thinking about doing a virtual seminar that talks specifically about the framework itself. The second resource is the operating model itself. And we went through this in a lot of detail. Now, like I said, the one thing that I did not include in the operating model because the truth is when people look at the operating model, the first time they look at it. They think, Geez, this thing is really bureaucratic. And then if you could highlight for them that we've already got an executive steering committee. So we put the word exists. You can see where I'm pointing. Or we have a group like the council that we can say that we're going to leverage or that we know that the subject matter experts and the stewards in the organization. They may not recognize themselves as stewards yet, but they already exist. We recognize that these partners that I talked about earlier, they already exist and somebody has to have the responsibility for running your program. So the truth is, this may look extremely bureaucratic. But the fact is, instead of trying to plug your organization into this operating model, I suggest exactly the opposite. Take this model and overlay it over what already exists within your organization. That's going to be a lot less invasive than trying to assign people into new roles. And again, there's TDAN articles, LinkedIn articles, bunch of diversity webinars on this subject. I've talked about the operating model and the learning plans that I've provided through the university. And again, I'm going to talk about this within the seminar. One tool that I did not discuss during this session is the communication plan. Now, this is an eye test for you because I know it's very small, very difficult to read. So I wanted to blow it up a little bit to make it easier to read. It's still an eye test.  And you can see that across the communication plan, there are the different roles and responsibilities that I included in that blueprint for your data governance roles. And I also break the communications down into orientation communication, onboarding communication, and ongoing communication. In fact, there's a TDAN article called the three O's of data governance communication. And it is orientation, onboarding, and ongoing. But we need to be very clear. We can't communicate with all the different levels of our operating model, of our blueprint of roles in the same exact way. So when we get down to the onboarding, we're going to need to onboard the group separately or individually potentially. And so we still need to know the messaging, the cadence, the delivery method in the communication, who's going to be responsible for the development of these communication tools for each of these. And as I said, at some point in time, you're going to want to make certain that you're communicating effectively in order to sustain your program for a long period of time, or hopefully forever. This is something that I really haven't shared with you yet. I have taken this framework that I shared with you within this webinar, and I have digitized it. So look for announcements soon in terms of how you can get your hands on this digitized version of the noninvasive data governance framework. Again, reach out to me. It's not available yet. But if you're interested, it provides detailed information behind every block of the framework that I shared with you today. We went through the roles column, but you need to also do the same thing when it comes to processes and communications and metrics and tools. So just wanted to let you know about the data governance digital framework, and then also attached to the digital framework. There's a list, I call it a digital resource database that includes articles that I've written templates that I've created that are now cross referenced with that framework. So again, if you're interested in a specific subject within the framework, you should be able to look into the digital resource database and find additional information that's been written by me or other people or other resources. That will help you to understand how to build out your blueprint for data governance roles, but also understand how to build out the data governance framework for you. So I think I took us exactly to 10 minutes before the hour, and just want to summarize real quickly what I've talked about. We went through the crucial roles that were necessary to establish and sustain your program. I gave some quick insights through some acronyms and some articles that have been written on the subject to help you to understand what skills are necessary at each role. Talked about practical strategies for recognizing these roles within your organization. I kind of quickly went through the ways to align these roles with the things that are most important to your organization. Please go through that section closer, give it more time to understand what are some of the things that you can be doing to assure your data governance roles blueprint is going to be successful. And then the last thing I did was share the resources and the templates with you. So I hope this has been helpful to you. And with that Shannon to bring any questions today. We do certainly Bob, thank you so much and people are asking if they can get links to those resources, which we have some of them. Don't know if we have when they become available, I will make them available. Awesome. Yeah, yeah, and just to answer the additional most the other most commonly asked question just a reminder I will send a follow up email by end of day Monday for this webinar with links to the slides and links to the recording. Thanks for having in here Bob, you know, should data domain stores and the tactical level be part of the strategic level representing data governance council. That's a great question. I mean, I have seen it work that way where, in fact, they don't even call them data domain stewards they actually end up referring to them as data owners and I, it's kind of a pet peeve of mine I don't like the term owner I think it implies exactly the opposite of what steward implies. But I have seen people that they have seen organizations use the term data owner, or data domain owner, instead of data domain steward, and those people have resided at the strategic level. A lot of it depends on the size of your organization the complexity of your organization. But again, I'm just sharing a model that you want that will help you to think about what needs to be done in your organization. You want to pull out having the tactical level stewards play a role at the strategic level as well. In fact, some organizations have even drawn a dotted line in that operating model that I shared just to say that there could be some blend here between the tactical and the strategic level. Thanks for the question. Thanks for the answer. Perfect. So, can you expand and provide more details comparing data ownership and stewardship. Now, there was some there was some conversation about this this week on LinkedIn ownership to me. First of all, like I said, I don't like the term because it implies that it is somebody actually owns this that it they that it belongs to them and that they can make the decisions from it. Again, steward by definition is somebody in the organization that takes care of something for somebody else. If you're thinking about it in terms of a racy chart, you may consider the data owner to have an a under their name for their ultimately accountable while the steward is more responsible for getting the work done. There's a lot of conversation around this and some organizations use the term owner and steward interchangeably. Owner is usually the higher level role which has accountability associated with it. Responsibility is the folks like you and me that role or sleeves up and get the work done. That's probably the easiest way to describe it. Simple. Love it. So, I was reflecting on the definition of data governance shared as an execution and enforcement of authority over data, given the fact that it might not be easy to get people engaged with the data governance activities. What would be the best approach to promote data enablement strategies that show the value associated with this framework though embedding it into their day to day operations. That's a great question. In fact, I wrote an article on T Dan, I believe about that people will not wanting to call this data governance and calling it data enablement. So, I agree wholeheartedly that if you can build data governance into what people do and not make them feel as though it is something that they are doing because data governance tells us we need to do it. And they fully understand why they're doing what's being asked that you've won the data governance game. So, it is really all about enablement. I don't I since I feel very strongly about my definition of execution and enforcement of authority. You might not want to use those words in your definition. But at the end of the day, you're in order to get things done, you're going to need to execute and enforce authority. You're going to need to execute and enforce authority over policy. Or people are just going to say, oh, we've got a policy we don't need to follow it. It's just, we know that it's there. That we need to really focus on the enablement. And, you know, we may not define our data governance as execution and enforcement because that's frankly very scary to people. You may talk about formalizing and guiding behavior because that's all about enabling the people as data stewards in execution and enforcement. I can't tell you how many how many of my clients have actually finished literally cringed when they've seen that as the definition that I use because at the end of the day that's what needs to be done. It doesn't matter if you take a command and control approach, a traditional, if you build it, they will come type of an approach or a noninvasive, which implies that we're already governing. All right, we've got five minutes left, so I'm going to slip in as many questions as I can here. Can you share your thoughts if data governance roles and organizations need to change with the advent of accessible AI? Again, every webinar, there's always a question on AI. Yes, I do think that they need to evolve. I don't think it's going to change the organizational structure from having the levels that I spoke about, having the executive level all the way down to the operational, and then having the support levels. So I think that the business processes, I just had a conversation with somebody the other day when we focused on the metadata, the information about the data that's going to make the data more valuable. We need to be focusing on what is the metadata that's going to be necessary to AI enable the data? What are the steps of the process that need to evolve to make certain that we have full trust and confidence in the data that we're making available through artificial intelligence? So do I think it's going to play a role? Yes, do I think it's going to change the way roles and responsibilities are? You know, I think you're going to find probably more heavy involvement from your information technology group. But I think it's going to change more in terms of process, the need for standards and policies than it is the actual roles and responsibilities themselves. Awesome. We've got under three minutes. I'm going to slip one more question in here. Should data stewardship be an official part of everyone's job role to increase data governance enablement within an organization? Yes. I'm not going to answer with just yes, but yes, I mean, if somebody in your organization plays a role with the data, they do something with the data. They define it as part of their job and you want it to be defined in such a way that's going to improve its value and usability within the organization. If they produce the data and they're being held accountable for how they produce the data, they're a steward. They're just basically because they're producing data or they're acquiring data from the outside. People are a steward of that data. If they use data, that's the no brainer. That's the one and people use data. So basically everybody in the organization in some capacity uses, defines, produces data as part of their job. If we can get them to recognize themselves as being accountable for how they define produce and use the data and we can have a program to do it. That is truly the only way that we're going to cover the entire breadth of the organization. Otherwise, you're going to be covering pockets. It's okay to cover pockets of the organization, but ultimately that's going to need to evolve or you're going to want it to evolve to your entire organization. Perfect Bob. Thank you so much and that is going to bring us to the top of the hour here. Thank you to all of our attendees who have been so engaged in everything we do. We appreciate it as always you guys are the best. Bob, thank you so much for another great webinar. And again, just a reminder, I will send a follow up email by end of day Monday for this webinar with links to the slides. Links to the recording as well as the resources that we have from Bob already Bob. Thank you. And I'll see you next week at 80W. Very good. Looking forward to see a lot of you there. All right. Thanks. Thanks everybody.


Cool, um, so yeah, my name is Nicholas. I want it today. I'm gonna try to Kind of show you everything that's related to WebGL for graphics and data visualization So first question is who here is familiar with WebGL? Nice awesome. Okay, so we're gonna go Through like a bunch of like use cases interesting use cases for WebGL in in specifically like data visualization then we're gonna go through a bit of like explaining how the WebGL works behind the scenes so rendering pipeline and stuff like that and then We'll go through an actual example And we'll have a bit of a look into the code So yeah before that I used to work at Twitter. I worked there for three years Leading the the public facing data visualization work recently move over to Uber where I'm leading a new data visualization team and We're hiring. So if you're interested, please Come find me. So, yeah, this is the agenda Hopefully you won't get lost around the third to fourth point Well, let's start with WebGL. What is WebGL? So WebGL is is just like a JavaScript API to app to access the GPU And the GPU is is pretty fast So this is one example I built when I was at Twitter Showing a number of retweets for the Obama to the former year's tweet. So this is just like showing 800,000 retweets and which you know reached like a millions of of viewers on Twitter And these sort of thing you can build with with WebGL pretty easily actually So in terms of the standard this was developed by the Chronos group Chronos group is the same organization that actually built the open GL wrote the open GL standard in the early 90s For this sort of like desktop really old computers and then it moved over to the open GL ES standard the embedded system standard The one dot one dot zero version was out in the early 2000s. This is why I'm using that fat like iPhone And then it evolved over to WebGL WebGL one dot zero is the actual same API then open GL ES 2.0 and WebGL done 2.0, which will be out probably this year May mix the open GL ES 3.0 API The biggest change between open GL and open GL ES at some point was the fact of adding a programmable pipeline I'm going to go through that afterwards, but it basically lets you code some actual GL SL code which is a specific domain specific language for graphics to do some neat stuff on the GPU So what can WebGL be used for so I have a bunch of examples Not all of them are data visualization related, but hopefully will cover everything So maybe you are already familiar with you know 2D canvas or SVG and D3 and you're like, okay Why would I be using WebGL for like? You know, I don't usually made maybe I don't usually visualize like a hundred thousand elements and maybe doesn't even make sense We should aggregate those But you know here I'll show a bunch of examples that probably are within your domain of work and and you know, hopefully you'll get inspired and want to learn WebGL So we're going to go through exploratory visualizations You have a lot of data how to kind of like filter and manipulate that data in a way that the rendering Is not the bottleneck of the processing. We're going to go through real-time data analysis and other another example in which You know using other web standards is definitely slower than using WebGL We're going to go through a bit of storytelling Scientific visualization and then data art or data illustration So this first example see if it loads Yeah, so this example shows loads all the cities that have an airport I think or all the main cities that have an airport and then it loads all the different airlines and you can Basically browse through each one of the airlines and see All the different routes So this data is actually a bunch of years old already But the interesting thing is that you know here you can kind of explore the centroid of the different routes And so you can infer where the airline is coming from like Air France centroid is France US Airways the US and Tam for example is in South America Qantas for example might be interesting in Australia and as you can see we can still you know add routes and you know We're definitely adding hundreds to thousands of routes And the rendering is like not complaining at all. So it's working pretty well You can also interact with the 3d shape is pretty smooth So in terms of like you know interaction or like being able to kind of like load a lot of data These are like primitives are you know lines and circles and so on It's WebGL the rendering is not the bottleneck of the application It's mostly all that is related to computations in JavaScript But not the actual rendering at least for these sort of examples On the exploratory visualization side we have other types of examples Maybe less flashy or but more like useful in a sense. So I built for example this example on Trying to visualize the mobility flow in France So we've been we've seen a bunch of maps that sort of like visualize mobility flow like people flowing from one state to the other of the US and we've seen remixes of these maps and You know in most cases like these maps use arrows And this is a visualization question actually I don't really know why they would use arrows if you can actually call out code everything the arrows actually are occluding You know other states and so on so what I decided is okay I'm going to build my own mobility map and I want to see what's the mobility like in France So mobility means you know that within the five years one person moved from one state in France to another And here I'm color coding so each state So this means that each state if it's more red means that more people are getting into that state If it's blue means that more people are actually exiting that state And so what you can do is you can hover here for example say Paris and Ask yourself well, where do people go from from Paris? And so you'll see that the suburbs are the first places people go to actually nobody goes to Paris From this chart, but everybody goes as elsewhere So this this might tell you something about mobility flow in Paris if you kind of hover the suburbs Then you'll see that people go or even further out and so on and so you can you can keep hovering these other states And you'll see the mobility patterns, but you know WebGL It's not you know the definitive tool to visualize these sort of things I won't even further and I try to zoom in and be able to visualize each one of the counties. So Counties is definitely like 40,000 or so on Counties so that this starts being like kind of like a pretty big data set And so this is the case where I feel that you know WebGL is definitely Maybe one step ahead in the sense that you can you know You can use it to kind of like browse through all these all these big data set And and you won't see any lag A similar example of like exploring a data set is this one in this one. I'm visualizing wind patterns So for each one of the of the stations recording this sort of like wind speed direction and temperature I took the all the data for the last 72 hours and I actually packed that into a binary array buffer Which is a binary data structure instead of just having a text as a JSON because it's pretty big and I loaded that And I built this sort of like tool in which you can You can explore across the last 72 hours how how weather evolved and it's interesting that suddenly you kind of like see this this outlier here Right and you can you can replay this On every hour and see how kind of like Mount Washington gets every time like bigger and bigger So in this case, it's it's kind of like the same situation you have a lot of data You're still aggregating the data. Well, that's gonna explode But you know, it's interesting for you to just like dump the data in and be able to explore it Be without any lag you can change the visual marks over to circles or lines if you just want to focus on the direction of the wind Another example I really like Which is also a pretty straightforward to build with WebGL is surface explorer So this is more for like people who like math, but I feel it's it's still interesting You can load any any parametric equation here and You can display it for example as a grid or just as a surface and you can change the time parameter Let's say we're gonna use two and then make it loop Let's say five and then we can change this You can actually change the equation and it gets recompiled Let's see times five Yeah, it makes kind of weird things So, you know, this is as a kind of like interactive way to just like see what happens with different equations and you know instead of instead of like trying to imagine and what all these like Long line of you know sinus and cosinus things mean you can just like directly visualize it and edit yourself these sort of equations another one I used I used what GL for was this temperature anomalies visualization that is Taking a lot to load a lot of time to load actually Yep So this one took takes NASA imagery of different changes in temperature across the years from 1880 to 2004 and so what blue color coding means is that the temperature went down from you know from that period from the 1880s to 1884 Temperature in those regions went down and red means that temperature went up and so this kind of like makes a good case for maybe Climate change people so this means you know between 1890s and 1894 temperature was going down But if you go over to 1990s you see that it starts going up pretty rapidly and over 2000s The earth is on fire So that's in for exploratory database So you've we've seen a bunch of examples most of them are using geo data But you could definitely like you know consider using you know Exploratory data visualizations of like could be anything a scatterplot and so on so actually now We're going to look at real-time data analysis and the data structure that we're going to be using is Something that takes abstract data and and not like you know scientific data like position and lat-longs So this one is mostly to showcase Kind of like the the real-time Analytics that one can build on this this does this have sound you have sound please Yes, no, maybe Anyway Yeah, it's plugged in it's a video it's playing some really good music really sad that Okay, no problem So what this is doing is actually taking every frame of this video this looping is a vine and It's decomposing the image into different colors So it's creating basically a color histogram of each one of the pixels So if you have you know an image that's fully red then you'll have this coral cube that shows it a lot of red on the bottom right there your GB cube is a Cubing which each one of the components in the 3d space is a different color right and you can change this sort of Representation right so if you use HSL or HSV you're changing the cube the RGB cubing to a different shape so Here you can change the video and see that different the compositions for For different images actually I used this straight trailer to kind of test it out from the beginning And you can change the the color scheme so if you change to the bicone for example You can see how color the composition happens in that specific Horrors team if you change it over to the to the one time you can see that So this is the sort of thing that would be really Taxing or expensive to do into the canvas because of the rendering bottleneck that you have of like trying to visualize all these dots all the same time And we're not just rendering dots. We're rendering actually 3D structures In it Other things like you know some of the vines actually make up like some interesting Sculptors like this one for example that has a bunch of like nested White dots we use like a transparent shape so that we don't include the other the other 3d shapes So this is for real-time data analysis You could imagine like try to do analysis on top of sound on top of like other types of images do image Processing and stuff like that and all that would happen in real time And you would not see any any legs if you kind of code it well Another option is storytelling and actually build this when I was at Twitter this went out on can lion Can So this is the mentions of Ian McKellen and Sir Patrick Stewart doing time on tweets And the yellow dots show actually mentions of the of the two people in the same tweet So this this visualization is trying to show that you know There's a growth of interactions between Sir Patrick Stewart and and Ian McKellen through time Those can be related to a specific Timing which like they actually traveled together to New York and went to this play together and other things can be related actually to you Know a bigger friendship They have or also can be related to the fact that they're actually promoted their last X-Men movie This is not particularly super insightful, but it's definitely a nice a nice way to tell a story It this was used by the execs at Twitter during can and this was shown to Sir Patrick Stewart He was on stage and he was like wow, this is amazing So it's it's definitely like a good way to to do some something that's eye-catching and keeps the attention over to the to the screen Another thing that's actually very useful But I don't use that much is scientific visualization so a lot of people use Some pretty interesting algorithms for example to visualize flow and you've probably seen the wind map or or earth and And and these these kind of like techniques of showing, you know, the flow of vector fields are called line integral convolutions and the way you implement this is If you can if you want to use the GPU that also doesn't have any lag if you if you implement it that way And so these very same technique can be used to do fluid simulations and And things like that in which you interact with the screen and then you simulate the the actual flow based on something called texture advection Which is moving a little bit the texture that that's behind it This is an image behind the cursor and we're just like moving a little bit the points of that texture And that's why it's called texture advection So you could use it for things that are actually more useful For example have this like magnetic deep hole and you can kind of like explore how you know Different charges interact with each other and how how an actual electric field looks like because you cannot see an electric field Unless you throw sand and then you'll see the actual lines and this is what this is showing and Finally, there is data art. So we built this for the screens in the Twitter office the main idea was to have some sort of a Nice, you know visual that would show us different vines based on the number of Revines or views each vine had or loops actually each vine had and then try to explore what were the best vines Along there and so we did this for hack week. This is a WebGL implementation I Implemented this sort of algorithm that it's a space-filling algorithm that shows It's a fractal space-filling algorithm So it covers a space with this sort of like shapes and you could use different primitives like, you know rectangles and circles and Hexagon and so on and you can be sure that it will always fill in the space without any overlap and then what we do we just like explore each one of these videos and And we keep them looping and then we This solved the actual kind of like structure and load a new structure afterwards And actually we did this for hack week And we didn't win, but we got an email from dick saying like hey, this is a great project. You should totally You know implement this in the screen. So we already have well, I don't work at Twitter anymore, but We had the space for that And some of the things so this is actual like interactive thing So you could you know zoom zoom out and you can see all these all these different objects playing the video This is something that definitely cannot be done with any other web standard other than what you know cool So hopefully you've seen and in any of all of these examples something that you might be interested in or you might be you know Knowing to know how it works. So we'll we'll just dive into like WebGL This is kind of like the more dense part, but if you get this you probably get like 80% of how WebGL works So WebGL JavaScript API right so main thing Let's say you have an array of floats an array of points XYZ coordinates You want to send that over to the GPU to be rendered in a kind of like a 3d scene? So this JavaScript API does this it allows you to store an array of floats Into a buffer, which is a space in memory that then can be accessed by the GPU and be rendered So that's kind of like the simplified version a bit more complicated is that the fact that we have a programmable pipeline Let's us be able to write some GLSL code to write a vertex shader and a fragment shader So what are a vector shader and fragment shader a vertex shader is? Imagine this as a callback in In a callback in which you receive this array of floats one by one and then you need to return One float one by one. It's a one-to-one mapping the vertex shader is usually usually used to transform points to rotate points Scale an object and so on Whereas the fragment shader you can imagine this as another callback that it gets called for each pixel in the in the screen And it decides which color the pixel in the screen is going to be Of course, this would be super costly if it wasn't done in parallel and this is why you can you can use a GPU to do this So besides writing your JavaScript API to send over the array of floats You need to write a file that does the one-to-one mapping between those points to some other points That are transformed scaled or rotated and then you need to write another callback that will get for each pixel We'll decide which color the pixel will be right Cool. So how does the pipeline work? And so this is behind the scenes some things are programmable some are not so the vertex shader We already covered that up you write this this is programmable. You decide where these four points you just Eight points you just send over are going to be Triangle assembly phase most of the time you don't want just to render points You want to render faces and so this part is not not programmable But the computer will figure out how to build faces out of the points And so you have a few options on how to pick up the vertices to make faces for example imagine that you have Four vertices that make up a square Now this square is made up of three triangles right because the minimal phase in a in a 3d thing is a triangle So how would you pick the points to build the triangles each triangle will have three points? So you will need six points, but you're sending over four so you need to send over like indices on like how these triangles are going to get drawn The other step is the restoration phase you have all these like 3d concept right, but this gets projected into the screen So this is what the restoration phase does it converts whatever 3d notion you were handling into pixels and Finally you have the fragment shader phase that callback that gets called for each one of those pixels And you get to decide which color the faces are going to be of your of your cube for example Hopefully you're still with me So let's talk a little bit more about the GLSL right so you're gonna have to write this fragment shader code and this vertex shader code What does GLSL looks like so it's called GLSL because it's GL shading language It's a DSL for graphics a domain specific language for graphics It actually looks pretty familiar it looks like see so if you've ever looked at see It kind of looks like GLSL The other good features it has is the fact that it has built-in types for graphics Right, so he has built-in types for vectors and matrices and so on it has a lot of built-in functions Not only math functions, but functions for graphics you need like reflect and refract And finally the feature I love the most And I love JavaScript to have this but it doesn't is operator overloading you can do operations between different types and You know it will figure it out and it will work as you would expect so you can add two vectors and use a plus sign Or add two matrices and use the same plus sign and it will figure that out This is how a bit of code in GLSL looks like this code actually doesn't do anything. It's just like a demonstration So in the first line we're building a vector out of this Constructor so you can use VEC 4 as a constructor you pass in two arguments and you can compose constructors So you can pass in the other two values as a VEC 2 for example Then what you can do is you can refer to vector dot xyz to get a copy of a three component vector And you assign that over to a point Now here you could use any sort of like sub indexing so you could do vector dot yy yy And that will return you a VEC 3 with the three components being the y component vector 4 or you could you know write like vector Z yx or W Z yx and so on and that will return a new vector Now you can refer to vectors Indices like xyz or you can refer them to RGB xyz W or GBA Why is this because the vertex shader changed the position of the points But the fragment shader changed the color of the pixels in theory so It's nice to be able to refer to the same components in two ways Finally we're creating a matrix and then we're multiplying a vector by a matrix and we'll get the desired value now the second block of code It's interesting as well because it shows the operator of loading thing, right? So we define two VEC 4s one vector that is An empty vector and the other one is a vector 1 and we want to interpolate between between these values Let's say we're kind of like animating something and so the delta value will go from zero to one And we want to kind of like find the the mid-range value in between those two And so we can use plus signs and minus signs and multiplication signs and and all this will work just fine because of Operator overloading the plus sign is defined for VEC 4 is defined for mat 4 for VEC 3 and so on So we can always use the same signs for everything Otherwise if we were in Java or in JavaScript, we would have to do vector dot add dot sub dot molt Mat 4 and so on Which is horrible As far as the built-in functions go there's a lot of like math functions So that is all covered and then there's a bunch of like graphic free Specific functions like refract and reflect that you can use Okay Let's go over through an example This is going to be even more complicated But it will be fun. So This example, it's called the hot vibration. It's this sort of like mathematical thing that I Ran out into like a few weeks ago, and I really liked it and I wanted to implement this So how vibration is a way to kind of explore four-dimensional shapes So how do you explore four-dimensional shapes? Well, you try to project them into 3d and try to see the different shapes Just like you do in a in a globe versus a map, right? You have all these different map projections because you want to explore all the different properties of this globe So this guy hop, let's let's try to kind of understand what he did So first step will be try to understand what he did second step will be trying to understand how to implement this in an example So hopf map is a function One too many function it maps one point in the sphere in a three-dimensional sphere Over to a circle in a four-dimensional sphere What this means is? What does it this mean? It's a nice way to explore a four-dimensional shape because you can you can imagine a sphere You can imagine a point in a sphere and this will generate something different in a four-dimensional shape now The problem is I'm showing you a circle in a three-dimensional space Not in the four-dimensional space, right? So that is kind of like a trick So I need a second step a step to project the circle from four-dimensional space to three-dimensional space And we do a projection a map projection. So now question for you What map projection will preserve circles from a higher-order sphere over to a plane for example? The stereographic projection of course you all knew this, right? So if you have a circle in the sphere and you project that over to a 2d plane Using the stereographic projection You'll get a circle in the 2d plane Why is this important because if we have this four-dimensional circle and we use a Stereographic projection on the four-dimensional circle will get a three-dimensional circle, right? And so it's nice because it means that kind of like keeps the shape It doesn't kind of like stretch or do anything weird with the shape Whereas like if you use this on on planet Earth You see this kind of like really distorted map, which is not nice to see though It preserves the circles in the equator and all the other Kind of circles you you might have So let's see a demo now that we all understand what this does So now we have a pointed a sphere. Do you see it on bottom left that maps over to a circle, right? I'm gonna replay this So point is fear orbiting around the sphere, right? Maps to a different circle Let's try to explore this shape If we add a bunch of points in the in the equator We'll see this new shape on fault, which is some sort of torus this interesting torus can be Flipped actually upside down. So if we rotate these points will kind of like rotate upside down the torus interesting shape, right Now let's try to explore it more and we'll add a bunch more points to the sphere going up and down the sphere and see how this Kind of like four-dimensional shape behaves So it's kind of like, you know some sort of like nested Toruses that can be upside down Easy finally we open this up a little bit and We'll see that we can actually interact with the shape and kind of like explore this a little bit more on our side I'll go through this in a sec. Cool Very useful thing to do, right? Very practical Let's cover how the hop map work like forget about the example. Let's think about the code So I need to write these two functions in GLSL one function will map one point in a sphere Over to a circle that has four coordinates. So that's the first function the hop function The bottom one is a serographic projection. This one will take one point in 4d space and projected into 3d space So if we kind of combine these two functions together, we'll get one point in the sphere and a three-dimensional circle Right, we have One point in a sphere and a four-dimensional circle and then we have another function that maps a four-dimensional circle into a three-dimensional circle So this is what we're seeing right now one point in the sphere and a three-dimensional circle So let's think about the top function So let's think about the signature of the function. So the function would return a four-dimensional point But we'll get a latitude and longitude in the sphere right those two last arguments there on the top right So given a latitude and longitude we'll get a four-dimensional point But we should get a set of four-dimensional points the points that make up the circle the four-dimensional circle So for these we kind of I have this extra parameter called eta which will go from 0 to 2 pi That will give us come kind of like sample points of these points in the circle, right? So if we get let's say it that will go 0.5 and 2 pi then we'll get three points that are part of this four-dimensional circle and Then the second function you don't really need to think much about it It's just like it takes a four-dimensional vector and returns a three-dimensional vector So we will take a four-dimensional point and show you that point in the in the screen in three-dimensional space Cool, let's think about the data model. We have this function in the vertex shader, right? It's a one-to-one mapping, right? So on the data model ideally in JavaScript We would have this array that has a bunch of lat-longs, right? And these lat-longs will get converted into a set of points in a set of circles Now the problem is as I said before The vertex shader will only have a one-to-one mapping So if you send if you send one lat-long to the vertex shader you will get one point But we want a set of points. We want the points that make up the circle So in order to do this we need to send over extra data We need to send a lat along in a third argument, which is kind of like the parametrized circle shape Now this is a lot of data like an a lot of like repeating values and so on So hopefully we have this thing called instanced arrays, which is an extension to WebGL That let us load the different data separately and in this case it will make the kind of the cross of The 0 to 2 pi column and the column of lat-long in kind of the GPU So the first line What it does is it takes the hop Program the one that refers to vertex shader that I mentioned in the previous slide And it sets a buffer which is an array of floats from 0 to 2 pi Which is the gradient rarity or the sample points we want to have for this circle the second line Sets just the lat-long points But it's calling this property called instanced which means okay We're gonna have to do the cross product between the 0 to 2 pi over to these lat-long points But ideally kind of like if you need to to remember something out of this is that in JavaScript You're setting the buffers with the proper points You want to visualize and in the vertex shader you do the conversion over to the actual screen points you want to see So good this is kind of like how it looks like for the first time It looks like a bunch of points right because this is what we got back We send over a bunch of points. We got over a bunch of points transformed into a circle If we use gl line loop or gl lines, we'll see a bunch of lines But if you think about the example again Well, it looks a bit better, right? We have a bunch of tubes and we have about just lighting and so on So we're not actually rendering lines. We're rendering tubes So we need we need to find a way of rendering tubes instead of rendering points or lines So let's think about this We're sending an array from 0 to 2 pi That array gets converted into a circle We would just sent a canonical Tube from 0 to 2 pi We could topologically Make it a tube right that that kind of makes up a circle Right, so instead of sending an array that has from 0 to 2 pi and Having back a circle we'll just send over points that make up 3d tube And then we'll we'll deform or stretch the tube to be the sort of circle in 3d I won't go over the code of this, but it's doable The third thing we have the interactions and this is really interesting because it's it's kind of like the main Pain point on the webgl applications you might have is like, okay We have all these things rendering really well But I can't really interact with it or I can just like move the camera, but I cannot actually click on anything and so Here we provide a bunch of interactions Actually if you hover the sphere here you can kind of explore the the shape and so you can you know Move around and see how that actual point in the sphere would map with with the actual circle You can click here and kind of like store those if we clear the points like you can see how it wow this place here Makes a weird shape, right? So, you know, we discovered this new spot So in order to interact with it What we need to do is We are hovering a sphere Right, but we don't know anything about the 3d shape of the sphere canvas is Webgl is just like 2d canvas in the fact that it's rendering over to a bunch of pixels in the screen It's like hovering an image like you might get the pixel and the color of the pixel But you don't get the actual shape or the object So how this works is we render Into an offline image an image you won't see imagine you render something over on a canvas But you don't append the canvas to the DOM. So this is how it works We render over a sphere that has this really special texture This texture is One different color per pixel So when you hover the sphere and we get the pixel from that sphere that you're hovering That color will be unique and we'll map map uniquely to a position in the sphere It's easy to map from a color to to a position right because rgb goes from zero to one It has three coordinates in this case We have a sphere that only has two coordinates latitude and longitude So we could only use the red and green channels To encode this in this case. We're using the red and blue channels And so when you hover the sphere You get the pixel out You get the color of that pixel and then you can map that color over back to a lat long range And then you send over that point and this is what happening Uh in the example And this is called color picking. So usually What you're doing webGL is that if you have let's say three Three spheres and you want to be able to hover these spheres and know which sphere you're hovering You render offline In a frame buffer Each one of the spheres in a different color and then when you hover the sphere you get back the pixel And you know, which which pixel maps to each sphere, right?  You've seen a bunch of use cases Uh good things about webGL and bad things about webGL Good things is that it uses a GPU This means that you can render hundreds of thousands or millions of objects like and not have any any bottleneck issues You can render 3d stuff if you want to you can render 2d stuff as well As we've seen with the data art examples You can do a lot of things with webGL not only 3d games You can use it for for visualization. It can be scientific visualization. It can be exploratory database You can do data art as well but Related to this and the example as you can see the APA is pretty much low level So I would definitely recommend you if you're starting To use 3js or there are other libraries like stack GL for example They use npm modules to kind of like build your your own WebGL framework. I build a library called phyloGL Which is uh, it's a pretty simple library It's it's nice to start with if you want to kind of like grasp the concepts of webGL But yeah, definitely use a library and with this Thank you