 Hey, I'm Robin Ginn. I'm the executive director of the OpenJS Foundation. I'm coming to you from my home in Spokane, Washington. And today I'm really happy to have Christian Echinus from Esri here to talk about how Esri is using OpenJS Foundation projects in their solutions. Now just quickly, I have been sort of a fan of Esri for some time and have been really inspired by what they've done in times of like global emergencies, for example, hurricanes and things like that. So it was really cool to see what they're now doing in the time of another global emergency, which is our pandemic of COVID-19. So Christian's here to talk more about how what they've built has sort of become a global data reference tool that many of us rely upon every day. So Christian, why don't you tell us about yourself. Thank you, Robin. I'm Christian. I'm a product engineer at Esri. I work specifically on the ArcJS API for JavaScript because Esri builds a number of solutions, but I work on the website. Being a product engineer, I'm not involved in the development of the software 100% of the time, though I do do that a little bit, but I work on the QA side documentation I blog, present and work on all aspects of the product. That's very cool. So tell us more about Esri for those who haven't been following you so closely. Well, Esri, we are a software company that builds geographic information software, and that's that's just a fancy way of saying that we build mapping software. And it's not just the maps, but it's also the data behind the maps. We work on the software and the databases that create, store and manipulate the data. And we also build a variety of spatial tools that users can use to analyze their spatial data. Very cool. So now tell us specifically what Esri has done to build a data tool for the coronavirus. So Esri's done quite a bit in the coronavirus response. They've done many tools. I've just been a small part of that, but they've been involved in producing dashboards and providing data that's authoritative curated that will help organizations including health and human services organizations, counties, governments, hospitals to understand the data and know where the most needs need to be met. And so I work specifically on a web app called capacity analysis that allows some of these organizations to understand or attempt to predict what the hospitals ability to meet the demands of COVID-19 patients might be in the future. Great. Now, I mean, you all were involved really at an early stage. I was reading, I think you launched your first public dashboard in January. So what was the process that led your team to take on this work? Well, first off, most of what has been launched hasn't actually been Esri. It's been other organizations. So Johns Hopkins dashboard launched very early. It was them that built it. Though we provided the app and the building blocks that allowed them to build and deploy that. So, but yeah, we were involved very early in helping support them in that effort. And that kind of just steamrolled and, or I guess snowballed rather into all these other projects. Yeah, it's been great to see. I know so many people reference that as well. So how is building a data reference or a map for COVID-19 different than maybe some of the other data visualizations that you all have supported? Well, building a map for COVID-19. Well, COVID-19 in general, it's been one of those things that has alerted everyone into understanding that geography does matter. In a lot of cases, we often look at numbers like total cases and, you know, rates and death rates. But those things vary quite a bit geographically. It's been interesting to see that. So when you view that on a map, it instantly alerts you into what might be happening with disparities in certain areas like why is there a higher death rate in the northeast than in the southwest. And so it allows us to just ask more questions and try to find better solutions. Yeah, it's pretty fascinating. I've always heard zip code is a great predictor of health care sometimes. So pretty interesting. So let's talk about the engineering behind it. So what factors did you look at when you decided to select the tools that you all did and maybe you can dive a little bit deeper into some of those technologies that you did end up selecting to build the tool. So this ultimately started with our desktop software ArcGIS Pro. They built a couple of spatial analysis tools that were based off of a couple of models. One is the CHIME model, which was developed by Penn Medicine, and another one is the COVID-19 surge model. So they created these models to help customers make these predictions as to how the number of hospital beds or ICU beds would be needed, given, you know, the state of the pandemic in a particular county or area. And where I stepped in was more about how do we display those results on the web in a meaningful way that allows users to explore them. Potentially these experts can use it as a way to hand over to the public so they can see for themselves what can happen if we don't follow certain regulations or processes to avoid the virus. So what sort of scenarios and variables did you look at? So I'm not, I just want to say I'm not an expert on COVID-19. I'm not a health expert by any means. But when it comes to these two models, with CHIME in particular, it's social distancing. There's a parameter in that model that stipulates what percentage of the population, what will happen if a certain percentage of the population follows a social distancing mandate or order or suggestion. And then it will produce a curve over a certain number of days of what that might look like. The COVID-19 search model is a little different. It takes a look at closings and reopenings and phases. So if we close down the businesses and the schools and workplaces, what happens if we reopen in phases versus all at once? And so those are really the two main scenarios and those have been the hot topics of what's really effective and what's not. Yeah. So how did the developers then translate that into the app? So how did you, you know, what did you use to build those models? So that was, this was like where the process got really difficult. We have a spatial statistics team at Esri that actually worked into building the models. They took the math and converted that and wrote the code, so to speak, and deployed them as tools into the desktop software so these experts could run the outputs. On the website it was, we were involved in helping design what the output service might look like. How do we structure the data? For example, do we place the values of hospital beds, ICU beds in separate columns in a database for separate days? Or do we structure it a little differently where it's all available in one column or one day so we can visualize that in an easy to use way? Yeah, it sounds complex. All the taxonomies around that. And one thing I thought was really interesting when I watched your OpenJS World session is just how it's almost like it looks so easy for us to digest the information, but obviously, you know, there was a lot of work behind that. So talk to me about some of the OpenJS Foundation projects and what role did they play in the development of this solution? So we use a number of OpenJS projects. Historically our JavaScript API was built using the Dojo toolkit so that played a very significant historical role in our product in order to make it consistent across all browsers and platforms. But we've since moved largely away from the Dojo toolkit. We use it in configurable solutions for internationalization, so because we translate our apps such as capacity analysis into more than 30 different languages, so we use their internationalization there. But also just in the development process we use tools like Grunt and ESLint and also in turn for the testing modules. That's great. That's great to hear. So how did those open source tools, I mean, sort of what value did they bring back to the developers? Well, ultimately, I guess the number one thing would be productivity. Things like Linting and Grunt, you know, those tools really boost up developers productivity. And something like intern and testing modules, obviously it comes down to the quality of the product, too. You want to make sure it's properly tested, and so that translates into a better overall product for the customer. That's great. So thinking about sort of your customers, the folks that are picking up your APIs and your solutions, I mean, how is what you're building helping them? Well, so we are a little unique in the sense that we don't only deploy APIs and SDKs, but we also provide a number of different apps across what we call a platform. So it's an ArcGIS platform where they can create a web map on the desktop application and share it so that it's viewable on the web or in a mobile device. And so I lost my train of thought. Yeah, I was just I was reading about your templates and it just sounds like what you produce is just so it's it's the ease of use it sounds like is what I'm what I've been reading from your, your case studies so. Yeah, yeah, it does come down to ease of use. One of the things that we try to champion is configuration over development. So if our users, which a lot of a good chunk of them come from geography backgrounds not so much programming or developers. And so if we can give them solutions that they can configure. That's the number one way to go and then of course we give them the APIs that they can extend and build off of that when they need to. That's great. That's great to hear. Do you have as your team like experience any challenge particular challenges and the ongoing development of these tools. Oh yes, absolutely. We, I mean, we're on a large team. I actually don't know the exact number of who works on the ArcGIS API for JavaScript, but it covers around 40 because some of us are full time others are part time they work in other projects but one of the challenges or probably the largest challenge is just maintaining consistency across the API. Once you have too many cooks in the kitchen, I don't want to say too many. When you have a lot of cooks in the kitchen, you can introduce a few inconsistencies and, and that's a challenge but also this broader platform and ecosystem of products we need to make sure that we're consistent and conforming to a common specification. So our SDKs that run on mobile and those that run on the desktop are all consistent in how they implement the web maps that we develop. Interesting. Are you doing this at a global scale you mentioned for the COVID response. Yes, I mean I say that hesitantly because I'm not like the authority on that topic but yeah it's it's definitely global and the customers we support I know just from capacity analysis. And what I've tracked I don't know how many organizations have deployed that a version of that app in their own organization but I've seen deployments of that app in Brazil and Indonesia and other parts of the world also counties in the United States so Great. Now I like so the capacity I've just in a nutshell just described that a little more fully I thought it was super interesting when I sort of sat and watched your, your breakout session. So, right yeah the capacity analysis app is it's really intended to be this solution that helps people understand what would happen given two different scenarios one is probably a more aggressive approach to to social distancing or shutting versus what would happen if we didn't do that. And the way we the way you might view the app is you see two maps side by side, and then you see a chart that that classic graphic where you see two curves like what happens if, if we social distance versus we don't. And those are color coded to correspond to these maps and so you can actually move this slider along the bottom along the these dates for which the models run and see what what happened in on say may 20th if people didn't social distance versus if they did or if half of them did. And what's interesting about that is the chart gives you the overall perspective of, you know, we might our hospitals might be over capacity, across the board, but going back to your previous question about why the maps or the geography matters is, it might just be one spot that's causing that and other areas are fine. So, so they can, they can explore it that way and then they can also choose a variable such as ICU beds versus hospital beds versus ventilators. Amazing. And I know that governments are looking at that data for reopening and all kinds of really nuanced guidelines. So that's super important. So, yeah, I mean what you work on again is just so inspiring. And, you know, you may not show up for work every day and go wow but you know when we see it sort of from the outside so for us I always like to ask sort of when you show up for work and have a great day what does that look like. A good day of work is it's so different all the time. You know, I would say not very many meetings, though I like communicating with people and making sure on the same page but I have a lot of time to myself to help to kind of think through the problems and prototype a lot so I like prototyping and just trying new ideas. Most of those don't pan out and work, but it's good to at least try and make sure that that you know it doesn't work and we don't just wonder what what if you know this would have worked so I like testing things out I also really like interacting with the customers and blogging so it involved a good day involves a variety of things writing, coding, prototyping, all of that. Great well we're so delighted that you came to speak to us today and that you're sharing your knowledge and your, your scenarios and use cases across our JavaScript community so really thank you for participating and contributing. Thank you Robin it was a pleasure.