analysis systems in the utility to be able to understand and coordinate with the distributed energy resources. So this is requiring skills that, you know, some are traditional to the utility and some are new. So as we start to see larger volumes of this on the grid, obviously we still need our general power engineers or controls and protection engineers and things like that that we have today at the utility. We're also probably seeing a need for increased telecommunications engineers as we start to build out networks just to get some situational awareness, controls and automation engineers. We're seeing software engineers and IT professionals that also have a need to understand how the grid works. It's not just, can I move bits and bytes to certain places and store them, but what do those bits and bytes actually mean and how it'll affect the grid? That also includes cybersecurity.  And then one that really hasn't been mentioned yet is data scientists, which now need to analyze a tremendous amount of data. We used to be talking about, you know, we had 10, you know, five, 10, 15 generators out there. They're all century located. Now we're talking about 15, 20,000 generators spread out all over the system. And that's a tremendous amount of data that we have to digest and be able to plan and operate our system. So pretty much what we're seeing on the utility side, and I can throw it back to the moderator, whoever that is now. Thank you. Thank you, John. Yeah, you basically had like six seconds left on a little timer there. That was perfect. Thank you. So now we will move on to Bill Kittness from Siemens. Thank you, Frank. For those of you who don't know Siemens, we compete for top global positions in battery energy storage, wind turbines, microgrids, and energy management software. I'm our senior project developer for energy conservation in New Mexico. Today I'm gonna play recruiter and speak to you as if you're looking for a promotion or a start in distributed energy workforce. And tell you a little bit about what we're looking for. What skills are in the highest demand for us that you can pass on? First, building automation, energy, and storage service technicians are our number one job shortage. Frankly, due to the high demand and short supply that we have, we're hiring novices as well as experts. So you do not have to have a large amount of experience to get started with Siemens or a company like us. We're very short in the fields of business development, sales, accounting executives, whatever you wanna call them, we do not necessarily need hardcore STEM students. We think that's a little bit of a misallocation of resources in today's workforce.  And who knows? You might be able to use your social media skills in this digital age to advance your career in combination with working in distributed energy. We're also very short in project management and particular entry-level project management because we're not seeing a lot of people who know what it is and are interested in doing it. So are you well-organized? Do you label your drawers at home? Or do you even think about labeling them? You might wanna think about looking into project management. And by the way, a good project manager can build a PV array or a car. It's really the same to that skill set. It's very valuable. Now I'm gonna switch to industry education and what companies like Siemens and what we're doing to solve the workforce shortage. It's obviously not enough to just talk about it. At FCCC, as the sister program to the Microgrid Training Center, we're helping to add the Building Automation Training Center. Together, the two technologies create the Beam Training Center, which is Building Energy Automation and Microgrid Training Center, which obviously George and Frank have spoken about today. Briefly, we wanna teach people to blend the supply of power with the use of power inside of buildings or cars or other assets. It's how to run systems from lighting to cooling and learn the software that runs them because I'll tell you what, more and more these softwares that run the production of energy and run the assets that use them are blending into single user interfaces. And we're seeing the need for people who can manage both types of assets. So if you start with your interest in HVAC, you may find yourself in demand to understand solar power and energy storage and the software that runs them all. And thanks very much. Nice to talk to you today. All right, thank you very much. I see that, let me give you a little echo here. I see that we've got Bernie now. Yeah, sorry about the technical difficulties. I had a problem with the Wi-Fi, very sorry. Okay, no, that's fine. So what we've decided to do was go forward with the panel and then after we move to the panel, then we will circle back to do our interview if that's okay with you. Sounds great Frank, thank you. Okay, are you ready then right now or should I circle back for your four minutes? Whatever's good for you. If you're ready, go for it. So if you'd like to go ahead and give your four minute panel presentation right now, that would be wonderful. I understood there was some questions you wanted to ask. Well, that'll be at the end. That'll be at the end. All right, then I'll go at the end. Okay, thank you very much. All right, so we're going to move on then to Gary Apendo. Hello, hey, I'm Gary, I'm the vice president of emerging technologies at Ameri Technologies. It's good to be with you this morning. Talk about three of my favorite passions in which we're all aligned, renewables, resiliency, and micro grids. What we at Ameri Technologies have done is designed and implemented a micro grid that's simple to install and operate, totally scalable, totally interoperable with the current bulk power and grid and it's in front of the meter. This is a true New Mexico story. Ameri, $30 billion utility hold code comes to New Mexico, buys the Mexico gas company along the way they discover the beauty, diversity, resources, talent, and are convinced to stay here and do work here. What we developed is a skunk works, looking at what is the future of energy? And it's easy to predict the future if you keep a keen eye on the inevitable. What's inevitable? DERs, solar storage, and that leads you to micro grids. And what better place to put a micro grid that in a place that has, we're number one in something in New Mexico and that's Elcor, the lowest cost of renewable energy. And that leads to, led to a partnership with Senea National Labs and UNM and we put a micro grid on Kirtland Air Force Base. If you do the next slide please. My friend Vasa Keel earlier talked about a micro grid and how useful that is.   So every house has its own solar, its own storage, its own power electronics, its own controls. It's more effective if it's part of a network. That's more effective if you have some backup energy as a central server, if you know the analogy. That's more effective if you stay tied to the grid. If you lose the grid, you have all the resources of the micro grid as Abbas explained earlier. We've really made a meshed network of energy nodes. If you go to the next slide. And basically that just scales up to a series of grid of grids if you will, which forms that mesh network. So if you wanna stop sharing the screen and I'll share mine. So the thing I wanna show you here, this is not an animation. This is not a simulation. This is real time our micro grid that's been operating on Kirtland Air Force Base since last year. The dashboard you can see we've saved 268 tons of CO2. We're 153% solar to load on this. And we have a complete, what you're seeing there is the yellow is the solar coming off the roofs. The green is the micro grid energy. And the blue is the AC. This is real time right now in our little quarter megawatt micro grid at Kirtland Air Force Base. What you see here is like Abbas talked earlier from a workforce standpoint with the amazing amount of operations and data you get out of this. We need solar tax, energy tax. We are working with Sandia National Labs on cyber. We'll need some cyber tax. We need controls tax. And as John said, we're gonna need data scientists. You see that bar at the bottom there? That's every second by second, watt by watt all the data since we originally started up this micro grid. So what we're looking for is in there in this little diagram, you're seeing ultimate smart metering, energy storage, EV chargers, intelligent networks, demand response, all available. And we're now looking out into the commercial realm to working with our IOU partners and developers to get this out into New Mexico. We're already into Florida and California, which has bigger polls. That's why I asked earlier about Abbas about regulations. We need to get things going in New Mexico because this micro grid offers secure energy as a service, renewables as a service, resilience as a service, operations as a service and data as a service. And so we wanna do this here in New Mexico and expand it here in New Mexico. Thanks. Perfect, thank you, Gary. Next up, we have Tayoko Sadawik from Positive Energy Solar. Okay, if you could move to the next slide. Next slide, thanks. My name's Tayoko Sadawik and I'm a co-owner of Positive Energy. Thanks everyone for organizing this. I think it's really important for us to link workforce development with employers and the community. Positive Energy has gone through several phases. The first phase was before there was any incentives back before 2006. A lot of our emphasis was highly technical, required a high degree of training and skills. It was also very small. The cost of off-grid was 10x, the cost of grid power and energy efficiency was an imperative. The next slide, this next slide basically resulted in a ramp up and this was a result of the Mexico's RPS law that was passed in 2006. And we call this the solar coaster because vendors came and went, incentives introduced and then phased out. There was an incredible amount of standardization and the standardization reduced the barriers to entry for companies like Positive Energy. And perfect. The next slide here is this new phase that we're going into. We've seen more and more customers electrify their home, they're turning their gas heating to electric heat pumps, they're doing EVs. And basically this is doubling and tripling the size of their loads at the source. And they're also considering battery systems which will help the self-consumption. The next slide, one of the stepping way back and looking at the big picture here, this shows you the, in New Mexico, the trends of gas, petroleum and coal and basically the ETA that was addressed the utility side and said, okay, we're going to convert 40% of the fossil fuels to electricity. There's still 60% that hasn't been addressed and that's at the consumer business government level.  And important thing here is that all stakeholders are gonna have to get together because it requires a lot more integration between utilities and policy and infrastructure development. Next slide. So positive energy, this is a profile of positive energy starting up, we've been in business for about 20 years, over 20 years. And you can see that each one of these categories, formal training, NAPCEP, which is an industry certification and electricians license are, were essential at the beginning for all employees who weren't working. And now it's tapered down to the point where 41 of our employees have minimal formal education, a little bit of NAPCEP and have electricians license. So this, the entries have dropped, we do a lot of internal training, but we do need, we do prefer to have formal training, it advances a person's career more significantly. And the last slide, I'm not gonna review, but it just raises some really important questions, I think that we need to address in this energy transition, which needs to change the course that we've been on. In our capitalistic society, so thank you. All right, thank you very much. So I think at this point, we're going to circle back and we had some questions for, for Bernie, yes? Aaron Sandborn is next. Oh, I totally missed Aaron. I apologize, Aaron. So as I've just been reminded, Aaron Sandborn is next from Carson Electric. Thank you, Aaron. Hi there, thank you for having me. Sorry about that. That's all right. And thanks for including Kit Carson Electric Co-op in this conversation. We're finding that workforce development, of course, is critically important to our business. Most of you know Kit Carson Electric Co-op, we're a member owned distribution utility regulated by the PRC. We have very aggressive renewable energy goals of 100% daytime solar by 2022. We are currently implementing distribution or utility-wide solar plus battery storage systems. Those will be online in 2021. And we're also working on different grid modernization components, which I'll talk about a little bit. So we're proud to say, and I think we can commit, we are going to meet the ETA goals early. And we're also part of the Grid Modernization Advisory Council. So one of the things that has shifted that is impacts workforce development is we have increased the number of partners that we're working with. So Guzman Energy is our energy supplier. And they have needs for IT capability. We're working with Camus Energy to build a grid orchestration and operations dashboard, which also requires new skills in terms of our current workforce and then also building out our broadband capacity, our skills and capabilities there. We're working with Torch Energy on the new battery energy storage systems that are going online in Angel Fire and near the Taos Airport. We're also working with the Regulatory Assistance Project, the National Renewable Energy Lab. We started with the project that was called DG Squared for Distributed Energy on Distribution Grids Squared. And that's Camus Energy at the next level. We're working as we can with Sandia Labs and the National Cooperative Association on cybersecurity. So all of those have implications in terms of the kinds of skills and capabilities we either need in our workforce or in new hires. So some of the trends and implications that we're seeing is we are definitely seeing a shifting business model. So that relates to the lowering costs of power, how we calculate that, how we do accounting, everything, how we monitor billing, how we upgrade and upskill billing. So those skills also are needing to change and shift in our company. And it's requiring quite a, what I would call a cultural shift. So it's a shift in transparency. It's a shift in information and data. It's a shift in how we look at the functionality of the systems that different vendors are working with us on. Even our vendors are having to look at the functionality of the tools that they've offered us and how with more and more renewable energy on our system, those vendors are having to change the way that they're working with the distribution cooperative. So that's a huge shift that we're experiencing. Another big shift that has a workforce or job implication is what I'll call the company cultural change. So we're moving from a traditional utility, as many of you have spoken about, to a utility that is really on the forefront of what it means to integrate renewable energy and what it means to serve as customers. So I think most of you also know we own KIT person internet or our broadband company. That has been a silver lining in terms of grid modernization because of course without broadband and high speed internet or fiber, we can't run a microgrid or smart meters or any of that. So that has been an amazing piece of work that has also required a level of cultural change. So our companies have to talk to each other and do business and problem solve in ways that they hadn't. We are having to redesign workflows across the board between the broadband company and the electrical company and what does it mean to run a high penetration of renewables on a grid plus working with multiple vendors and new partners so that then cascades down into what are the roles and responsibilities that have shifted and those are numerous. So then that really brings up the question of do we hire from within and train from within or do we hire and train from without? And I think that will probably be the catch 22 and the point of dialogue into the next few years. So what I would request from the educators online is to help us educate employees and educate high school students and other community members who are seeking to get into this field. Where can they go? How do they improve their skills and capabilities and how can we as a cooperative committed to economic development and community development help them find new jobs? So thank you. Thank you, Erin. Okay, now we will circle back to the beginning of this and I will introduce Bernie. Help me pronounce your last name. Is it Kotlier? Are you muted, Bernie? How's that? Now I can hear you. Great, terrific. So yeah, so Kotlier, is that how you pronounce your last name? Yes, it's Kotlier, thank you. Okay, so I would like to introduce Bernie Kotlier, the Executive Director of the California and Nevada Labor Management Cooperation Commission, which is a joint effort of the National Electrical Contractors Association and the International Brotherhood of Electrical Workers that are two incredibly important and powerful forces in this country. And so Bernie's responsible for the development and implementation of sustainable energy education and training programs. And so we've prepared a few questions to kind of drill in some of the things that have come up over the past presentations and then we'll go into the Q&A after this. So you ready, Bernie? I'm ready, thank you, Frank. Okay, so I guess the opening question is can you tell us a little bit more about IBEW and NECA and what you do in these various roles? Sure, I'd be glad to. So first of all, the IBEW or the International Brotherhood of Electrical Workers is the Electrical Workers Union and it's more than 100 years old. And the IBEW has members who are electricians and actually some other crafts as well. In every state in the United States, the IBEW was founded in St. Louis, that's local one, and there are locals pretty much in every major city and medium-sized city, even in some small cities all over the country. And NECA is the National Electrical Contractors Association. Who are the employers? Sometimes there's some confusion between what's a contractor and what's an electrician, but they're very different. The contractors actually make the contract with the customer. They are the employers, they're not the electricians. Electricians are their employees. So the National Electrical Contractors Association has thousands of members, businesses that do electrical contracting and they range in size from small, maybe a shop that only has a few electricians, all the way to multi-billion dollar, very large companies that have regional, national and international footprints. What major trends are you and your partners seeing in distributed electrical systems and technologies? Well, first of all, Frank, I don't think I asked you a question about what I do. Oh, I'm sorry. Stop for a breather there. So what do I do for IBW and NECA? Well, first of all, I work in California, Nevada. We have a two-state organization that represents our electrical industry in both of those states. So the electrical contracting industry representing the employers and the employees in California, Nevada has a labor management cooperation committee. And that does what it says. It enables management and labor to work together for the benefit of the electrical contracting industry. Of course, a lot of people think I work for the IBW or they think I work for NECA. And actually, I don't work for either one. I work for both. And I can only talk about things and work on projects where both the employers and the employees agree. So I spend a lot of time on the beach. Just kidding. Actually, we have a great synergy in our industry and a great cooperation and collaboration. And in the almost 14 years I've been doing this work, we've never had a major issue where our employers, the contractors and our employees electricians had had a major disagreement. So it's an exciting way to move our industry forward. And my job is primarily devoted to sustainable energy. And I've worked on solar energy, electric vehicles, energy storage, you name it. If it has to do with sustainable energy, energy efficiency, that's what we've do. And we work in a lot of different areas. We work on training, of course, and education. But we also work with our regulatory agencies and we work for the benefit of the whole industry to advance them and being the best they can be in sustainable energy. All right, thank you. Now, with advances in sustainable energy, what are the major trends that you're seeing in this kind of a space? Well, we're seeing a lot of them. Of course, the first big project we worked on about 14 years ago was the rapid growth of solar energy. And that's still going on as we all know. And it hasn't stopped. But what's interesting about solar, and that's been touched on by a number of people today, is of course, energy storage is being added to solar to make micro grids. And micro grids are growing rapidly. For many reasons, there's a lot of applications for micro grids, as we all know. Some of the more exciting ones are the replacement of peak peaker plants, where we see instead of taking four or five years to build a peaker plant that might only be used a few weeks a year, we're seeing utilities and other providers maybe renting or buying a warehouse or building a warehouse, filling it full of batteries and within six months or maybe a little more time, but usually less than a year. We have a functioning energy storage facility, which not only serves the needs of the utility in replacing a peaker plant, but also as we know, energy storage provides a lot of other benefits as well. So there's energy storage, obviously, added to solar and making micro grids. Electric vehicles are another really big area, obviously, they're growing. They're not growing in every state as much as they're growing in California, but a lot of states are seeing significant increases. And we've passed some major legislation in California and had also some major regulatory advances in California that have to do with the electrification, the transportation sector. About two years ago, we passed a landmark zero emission bus rule that was passed by the California Air Resources Board, otherwise known as CARB, which says that all our major transit agencies in the state will have 100% zero emission buses by 2040, and that's starting now. So they're replacing the fossil fuel buses with zero emission, mostly electric, and maybe some fuel cell buses in the mix. And most recently, just a few weeks ago, the Air Resources Board passed the clean truck rule, which means that we're gonna have a lot of clean trucks on the market. Roughly 15% of the trucks by 2030 will have to be zero emission trucks, once again, mostly electric, and maybe some fuel cells in the mix. Okay, so you talked about social, regulatory, and technical changes. How do you think these translate into workforce needs? Well, obviously, we need a lot of people to do a lot of work. The green energy sector, sustainable energy sector in California alone employs more people than all the coal related workers in the United States. So gives you some idea of the magnitude of what's going on right now. And we have some very ambitious goals in California and Nevada, actually. You know, we have, for instance, I mentioned these two regulatory goals, but we also have, for all electric vehicles as an example, we have a goal of having 250,000 charging stations added to our network by 2025. That's a lot of work. We have, obviously, all this energy storage that's going in along with the solar, all the microgrids that are being built. So literally there will be tens of thousands, if not more than 100,000 new jobs created just in the next few years in the sustainable energy sector. Now that has raised questions about the adequacy of the workforce. And there's a lot of good news in that. First of all, it does create a lot more work. And particularly now with some of the economic consequences of the pandemic, people are certainly more concerned about that now than they were last year when maybe we were closer to full employment. So it's gonna create a lot of new jobs. But the good news is, is that we already have a tremendous workforce. I'm, of course, focused on the electrical workforce. And when we talk about microgrids or energy efficiency or electric vehicles, we're talking about electricians doing the work. Now I know there's references to things, to terms like technicians and various other worker references. But when we're talking about this electrical work, we're talking about electricians. And we are fortunate in California and we have a workforce of 37,000 electricians and electrical workers, including apprentices. Apprentices are not electricians, but they are electrical workers on their way to be electricians. So we have a total workforce of 37,000. And the good news is, is that we've done the calculations about how many workers it takes to put in those 250,000 charging stations. Well, surprise, surprise, we don't have to train thousands and thousands of new people to do that. That takes 6.7% of the existing workforce to install 250,000 charging stations. But that doesn't mean we're not gonna have to train new people. But it does mean it's not a crisis. We're not in a crisis where we have to spend hundreds of millions of dollars training masses of people to install these charging stations or the micro grids or doing other electrical work. But we have to continue to train. And we have to make sure that as we're training these apprentices who become electricians that we're giving them the latest in technology, that we're giving them the training in how to safely and effectively install energy storage and micro grids, how we're safely and effectively install these charging stations. So we have to continue, we have to expand at a reasonable pace and we have to make sure they have the right training. Okay, yeah. So the workforce is largely prepared. They have the fundamental skills we've got to adapt them. So you go a little bit more into what the specific implications then are for education and training to make sure that you get them where you need them to be. Yeah, Frank, you touched on a really important point and that is that we're training on the foundation of very significant skills. So if you take the IBW training program as an example, it's not the only one but we think it's the best. That's a five year apprenticeship. Five years, 9,000 hours and apprentice in the IBW actually anywhere in the country to become a master electrician or a state certified electrician in our case or a licensed electrician depends on the state and then the nomenclature. They have to put in 8,000 hours on the job and 1,000 hours in the classroom and they have considerable labs and lectures and plus they're working with a master electrician on the job every day, they're supervised whether they're a first year apprentice or a fifth year apprentice. So when they come out, when they turn out as they say or graduate after five years of this they're incredibly knowledgeable and that is really fortunate for the future of sustainable energy and our current needs because when we train someone to do for instance energy storage and micro grids or electric vehicles, we're building on that foundation of five years minimum of training. So for instance, for electric vehicles we have a course that's about 24 hours and people say, well, how can you train somebody in 24 hours? When we're not training them in 24 hours we're training them in 9,024 hours. So we can build on that foundation very effectively. All right, thank you. So at this point we're a little short on time so I would like to see if we've got time for maybe one question from people out there. And so if somebody's got something they'd like to put up for Bernie or for our panelists that would be the time to do that. In the chat I believe this time. Does anyone have anything for our panelists? Not seeing anything right now. Anybody has any questions for any of our panelists? We have a lot of knowledgeable people with a lot of insight here. So now's your chance. Well, Frank, if it turns out we have a couple more minutes I'll give you a little more information about ESEMTAC which I know was one of the questions. But let's see if we have other questions. We do have, we do have one question, Bernie. And the question in the chat is how do you see apprenticeships and classroom instruction working together to qualify the workforce? Well, actually apprenticeship includes classroom instruction. We have 1,000 hours of classroom instruction built into the apprenticeship. If the questioner is asking about other types of classroom training possibly in high schools or community colleges or other venues, it's fantastic. And it helps build the workforce eligibility because for instance in electrical apprenticeship you have to be very good at math. You have to have a good command and mastery of algebra. You have to have other skills, reading and writing skills. So all the training and education that contributes to that preparation is very valuable. Okay, and then in one minute or less what do you see as the role for community colleges when we're talking about upskilling our workforce? Tremendous role, as you may know we have 113 of them in California and they have been a huge asset and I know they're a huge asset in all the other states as well because they contribute to, first of all general education of our workforce so they can read better, write better, do math better but also many community colleges have pre-apprenticeship programs, they have energy programs and all of these types of education are helping prepare our workforce and incredibly valuable. Thank you very much. All right, thanks, Bernie. Thank you to our panelists. At this point, we're going to move into the breakout sessions. Zoom is going to automatically place you into your breakout groups for the moderator and panelists and then at the end of that you will automatically be returned back into the large group or you can return it at any time. And the question for the breakout sessions is what should colleges be thinking about and doing to address distributed energy workforce needs. So take that question with you into your breakouts. Hey, everybody, welcome back. As we're joining the main group I'd ask everybody except for our moderators to turn off your camera and mute your microphone. All right, so is that then, am I asking for the report backs then, Selena? Let's make sure we've got everybody back. I think we do. And Frank, you can go ahead and take it from here. So Frank asked the breakout moderator, okay, report unless. I guess I can start on the one that I was in and say, so Ann Jekyll, what do you have from the group that you are in? Well, first I want to say if anybody didn't get to have their say, please message me privately in the chat and I'll include your thoughts in the notes that will go into the wrap up for everything. So sorry that we kind of ran a little short on time but very briefly, some high level things that we heard. People said that we needed dual credit programs and to reach out to high schools to make sure to think about the whole pipeline high school into college. Also, I really like the idea of on ramps and boot camps, these ideas of short courses and micro credentials where people can kind of jump in and out of learning their skills. Finally, I heard one important point that we need to keep in mind from a student who is part of one of these programs right now in New Mexico is that he hopes to stay and transition to a job in New Mexico. So really thinking about what the workforce is in New Mexico and designing our programs to support that is important. Thanks. All right, thank you, Ann. I think I had something to say and now I've forgotten what it is. So while I think of that, ISIS. Hello everyone. From our panel, one of the big takeaways was there needs to be the tie between the tech and the administrative roles with degrees and skill sets. David Ricker pointed out that we need people ready to go into the workforce now, but they also need to be able to evolve over time with the changes that are gonna be occurring. Also from one of the people in our panel as a student and so from his perspective was we need a good connection or a link or a clear path between school and the workforce. So providing internship degrees that will connect you directly to industry. Okay. All right, thank you. Andra. Thank you. So we had four main takeaways from our group. The first was that we need a focus on construction safety. We need people to be coming out with a firm understanding of that. We also need people coming out of our pipelines with a quality orientation. As Isis mentioned that we realized that this is evolving quickly and that so we need to train people so that they have a capacity to learn as the industry and their jobs continue to evolve. We also discussed much like Anne's group did that we need to start these apprenticeships and internships at younger ages and when our participants are earlier in their career pathways. That was our group. Okay. Sarah please. Hello, we had a wonderful group with a lot of ideas that were generated. We've talked about the rapid change that's happening in this field and the need to incorporate those changes within academic and kind of other training groups. We also spoke about the interdisciplinary need that needs to be interwoven into kind of all academic modalities of complex energy systems. We really spoke about the need of having more hands on an internship experience prior to them getting into the workforce. And then we talked about really developing critical thinking and capability skills versus kind of hard technical skills and getting more critical thinking skills into kind of prerequisites and other kind of high school courses as well. Thank you. I know that Brittany's name is on there but she didn't have a breakout group. One of the things that I heard is we're putting this program together. I just wanna put it is we are very much attempting to develop this program and you're going to hear a lot more about it tomorrow so I don't wanna dwell on it. But a program that covers various aspects from cybersecurity to one of the things that I just heard was like OSHA. So one of the first courses in our certificate program gets students in OSHA 30 qualifications. So we're making sure that students understand OSHA. We're making sure that they understand codes and they see basic foundations from math to areas in computer science. You're gonna hear a lot more about that tomorrow. But right now I am going to then hand it back to you. Camilla or Selena? Camilla's next. I'm next. Thank you all. Thank you all. Just to wrap up from our day today we're gonna do a quick poll. So I will ask so you see on the screen you have day one wrap up poll and you're gonna do this just in time. You'll be able to answer these questions and we'll be able to see the results of this poll just like right away. My level of understanding about and interest in the distributed energy system is low, medium or high. Go ahead and submit your answers now. We'll keep it open for five more seconds. Camilla can you see the results? Absolutely, thank you. So they're in good. So we have a larger group with a high understanding of distributed energy systems and just a few of us who feel that our understanding and interest is somewhat low. So thank you all very much. Are there any other questions for the poll, Selena? Nope, we're all done. So really grateful for all your time today. We look forward to seeing you in the morning. You have your login in your e-agenda. Look forward to seeing you all at nine o'clock tomorrow morning. Thank you very, very much and stay well.


In the year 2013, the Oxford English Dictionary adopted the word selfie, making it clear to us how much of an importance taking selfies have become. According to that definition, a selfie refers to a self-portrait photography of oneself or oneself with other people taking with a camera or a camera phone held at Armsland or pointed at a mirror which is usually shared through social media. Taking selfies might be fun, but experts wonder if there is not a bigger problem to why we take too many selfies. Psychologists say you might have selfies if you are taking too many. According to the American Psychiatric Association, APA, Self-Find is, as the obsessive compulsive desire to take photos of oneself and post them on social media as a way to make up for the lack of self-esteem and to fill a gap in intimacy. A 2017 study, published in the International Journal of Mental Health and Addiction by Janathanan Thalakrishnan and Mark D. Griffiths, asked young people in India to report their behavior, suggests compulsive selfie taking can lead to self-fiders. According to the study, in 2014, stories appeared in national and international media claiming that the condition of self-fiders, the obsessive taking of selfies, was to be classed as a mental disorder by the American Psychiatric Association and that the condition could be borderline, acute, or a chronic. Another recent study looked at a group of students and related their selfie-taking behavior to six categories, self-confidence, attention-seeking, mood modification, environmental enhancement, conformity, and social competition. Researchers said that looking at the changing landscape of technology might help gain a better understanding of how overusing technology can lead to addictive behaviors. Cleveland Clinic Scott B. Doctor of Psychology said, oftentimes, people post selfies to boost their mood or play a game of comparison. It ends up having to do something with our brain chemistry. People are trying to treat their brain, stimulate positive chemistry, and there's a social comparison thing going on as well. We look at other people, they're having great lives. I want to look like I'm having a great life. So I post my best moments, or best photos, out on the internet, focusing too much on ourselves, tend to enhance bad feelings, and sometimes, we will take measures to try to counteract those bad feelings, and they're not always healthy. When that self-awareness becomes intense, we're often chatting about what's wrong with us. It's a place we go to experience low mood states, anxiety, tension, and it all comes down from how we interact with thoughts, and a lot of times, thoughts about ourselves or our future. Dr. B. said, gaining control over our own social media behavior comes down to setting limits for ourselves. Stay away from your phone for periods of time, try not to access it so that you gain governance, he said. When we're getting involved with our emotional brain, it really overrides our prefrontal cortex, the part of our brain that helps make good decisions, plan, and predict the future and the consequences of our behaviors. We don't have to cut out selfies altogether to have a healthy relationship with social media. It's okay to have some fun with it, but just don't get swept away. Dr. Romani Dervisula, a professor of psychology at California State University, said, A selfie addiction is when a person is almost obsessively taking selfies multiple times a day and posting that to whatever it might be, Snapchat or Facebook, Instagram. Dervisula says, If more than 50% of your photos are selfies and you're using filters frequently, those are signs. Most studies are showing this. More time spent on social media sites negatively affects people's self-esteem, can make a person less able to cope, more likely to have anxiety, depression, that sort of thing. According to Dervisula, to help you avoid self-hidies, put your phone down and create selfie-free zones. As Dervisula says, If you suspect a friend is addicted to selfies, you can help by not liking or validating their photos. The results of the study carried out by Janathanan Balakrishnan of the Thirgurjaya School of Management in Madhura, India and Mark D. Griffiths of Nottingham Trent University in Nottingham, UK was published in International Journal of Mental Health and Addiction. The dual researchers studied the behavior of over 600 Indian University students. Afterwards, they used the behavior of the study participants to break down self-hidies into three levels, acute, chronic and borderline. By doing this, they developed the Self-Hidies Behavior Scale, SBS, which is further broken down into several sub-categories indicative of why people take selfies. When an average age of 20, the students proved to be an ideal group for exploring the phenomenon. Balakrishnan and Griffiths leveraged 225 students to create the scale. Thereafter, they verified their findings with another group of 400 students. They discovered the following were factors most indicative of why people took selfies, environmental enhancement, social competition, attention seeking, mood modification, self-confidence and social conformity. Those who suffered from chronic self-hidies were found to do so due to high levels of social competition. The researchers concluded that social competition is a big factor in other obsessive behaviors as well, such as excessive video gaming or gambling. The result of testing 400 students was this. 34% suffered from borderline self-hidies, 40.50% acute self-hidies, and 25.50% chronic self-hidies. People's had slightly higher rates, 57.50% compared to 42.50% for women. The younger the subject, the higher the rate of self-hidies. Over half of the participants aged 16-20 suffered from some degrees of self-hidies, with the numbers dropping sharply among those 25 and older. Balakrishnan to the New York Post typically, those with the condition suffer lack of self-confidence and are seeking to fit in with those around them and may display symptoms similar to other potentially addictive behaviors. Apparently, 55% of students took 1-4 each day, with only 9% taking more than 8. Interestingly, 34% never posted their selfies online, which may seem counterintuitive, based on the importance of social media platforms in today's culture. An African-American woman, Taylor Smith, admits to taking hundreds of selfies a day. She said, it gives me confidence, because sometimes I feel you know everything doesn't translate on camera, but then to turn and see, oh my god, and my teeth look great, my eyebrows match. This is great. When asked if she was obsessed, she said, no, I am just a selfie connoisseur. Sometimes I just want to get that perfect picture, she said. Sometimes it takes 200 times to get it right. If this video inspired you, share it with your friends. We love you.


One method we have of analyzing optimization problems is known as the second derivative test and the most important thing to remember about the second derivative test is that it's mostly useless. So a quick review here, the critical points occur where the derivative is zero or undefined and we should determine whether the critical points correspond to a local maximum or a local minimum by analyzing the sign changes of the derivative around the critical point. But if the derivative is actually zero as opposed to undefined, we can look at the second derivative. If the second derivative is positive, then we know the graph is concave up, so the tangent line is below the curve, and if we think about what this looks like on our graph, that means our critical point is going to correspond to a local minimum value. Similarly, if the second derivative is negative, then the graph is concave down and the tangent line is above the curve, and so the critical point will correspond to a local maximum. And so this leads to the following mostly useless method. Suppose the derivative is actually zero at some point. If the second derivative is positive, then x equals a corresponds to a local minimum value. And if our second derivative is negative, then x equals a corresponds to a local maximum value. And here's the most important thing to remember. If our second derivative is zero or does not exist, the second derivative tells us absolutely nothing. And since finding the second derivative is usually tedious and time-consuming, the second derivative test is usually a waste of time. Well, let's say at least one case where the second derivative test is somewhat useful. So here's a bunch of information about a function and its derivatives, and we might want to keep some other information in mind, namely that f of x is continuous, f prime of x is continuous except that x equals 2, and the table shows all of the critical points. So first off, we might want to identify that the critical points are going to be at x equals 2, x equals 6, and x equals 10. So let's take a look at our second derivative. At x equals 2, our first derivative does not exist, so our second derivative does not exist. And so the second derivative test tells us nothing for x equals 2. How about at x equals 6? Well, here our second derivative is zero, and again, the second derivative tells us nothing for x equals 6. Our third critical point at x equals 10, our second derivative is negative 1, so y equals f of x is concave down at that point, and that means that x equals 10 is going to correspond to a local maximum value. So we do have some information from the second derivative, but we still have to characterize the other critical points. So we notice that f prime of zero is positive, and we know that f prime of x is continuous except at x equals 2. And so that means that f prime of x can only become negative at a critical point. And in fact, this gives us a more general observation. Since f prime of x is continuous except at x equals 2, the sine of f prime of x can only change at a critical point. And so this means that since f prime of x is positive at x equals zero, it has to stay positive until x equals 2. And since the derivative is positive, then I know f of x is increasing until we get to x equals 2. Similarly, since f prime of 4 is negative 1, and f prime of x is continuous except at x equals 2, we know that we can't change signs unless f prime of x is zero or undefined. So that means that f prime of x must be negative after x equals 2, which tells us that f of x is decreasing after x equals 2. So we know that f of x is increasing until x equals 2 and decreasing after, so that tells us x equals 2 is a local maximum value. We also know that f of x is decreasing until x equals 6 and increasing after, so that means that x equals 6 is a local minimum value. And since there are no other critical points, there are no other extreme values. That's about the only type of problem where the second derivative test is actually worth doing. In almost every other case, it is a waste of time. So the best thing you could do now is skip the rest of this video and go on to something that's actually useful. Since you're still watching, you want to see the second derivative test in use, so let's consider this problem. Now, we've already solved this using the first derivative test. So again, the best thing you can do is just skip this analysis using the second derivative test, because it is largely a waste of time. But if you insist on using the second derivative test, it's going to go something like this. So first we find the critical points. We differentiate, and we have to put this in factored form in order to find the location of the critical points. If we insist on using the second derivative test, we'll take the second derivative, which gives us this rather nightmarish form, but we think that it might actually be useful. So let's evaluate this at our three critical points. At x equals 11 thirds, our second derivative is zero, so the second derivative test tells us absolutely nothing. Which means we have to go to our first derivative test, which tells us that x equals 11 thirds is neither a maximum nor a minimum. How about our second critical point? At x equals seven halves, the second derivative at seven halves is zero. So once again, the second derivative test tells us absolutely nothing. And we have to go to the first derivative test. If we analyze the sign of the first derivative, we find that seven halves is a local maximum value. And finally, for our third critical point at x equals 151 over 42, we substitute that into our expression and we find the second derivative is positive. And so we find there is a local minimum at x equals 151 over 42.


So, am I audible? Yeah. What about now? Is it better? Yeah. So, am I audible now? Loud. How about now? Yeah. Yeah. So, one second. This isn't working. Right. So, I will start my introduction. My name is Anshul. I work at a company called InShorts. So, InShorts is basically a news app that gives you news summaries in 60 words. I was the co-founder of a company called Beta Glide. We were into app analytics, particularly uninstalled analytics. Our company was acquired by InShorts about two months back. I was also one of the because at DroidCon 13, my talk was about reverse engineering Android apps. And yeah, I graduated from IIT Kharagpur in computer science. So, I will start with a bit of background about our app, the place where I am working right now. So, InShorts is basically a news app that gives you all the latest news in 60 words. So, what we saw was that content, news consumption was really broken and it was over complicated. People generally want to see only one piece of content at a time. They want relevant content and they want a little bit of context with the news. But most of the time, they don't want to go into a whole lot of detail about the article. So, actually reading articles waste a lot of time for people. And our app is a way that you can stay updated in a fast manner. So, we are currently India's highest rated news app. Our rating on Play Store is 0.5. We have about 90,000 reviews. On iOS as well, we have pretty good ratings. So, we have actually, so this is a very interesting data point. So, since we have launched, all our users combined have spent more than 1500 years worth of time on our app. So, that is something that we are really proud of. We have actually served more than 5 billion card views. So, like you saw earlier, we actually give a single news article in one card. So, if you combine all the card views, there have been more than a million of them so far. And we have more than 3 million installs if you combine both Android and iOS. The Android number is more like 2.9 million. So, stay informed, that is a myth. So, basically, our app strives to keep you informed in a fast, simple and precise manner. So, now I will come to the subject of my talk. So, this talk is basically about React Native. So, for those of you who are not aware, React Native is a framework that was recently launched on Facebook for developing native apps using JavaScript. And in this talk, we will be mainly focusing on what impact this technology will have on the app ecosystem and why it is cool. So, actually, this has caused a lot of hype around the world. So, we will be digging a bit into the hype and seeing if that hype is justified and what are the good things about this tech and where is it currently lacking. So, let us start with a very simple thing like what is React Native. So, I just copied this from the native page. It is a framework for building native apps using React.js. So, what is React.js? So, React.js is a library for building user interfaces and it is built for reactive applications. So, reactive means that the app changes fast based on user input. So, if you are changing any data inside the app, it actually updates faster than what you would expect in a normal JavaScript application. So, we will go into a lot of detail about how this works and why this is different from all the other JavaScript user interfaces. So, what reactive basically means is that what you can do is that you can say that at one particular moment of time, this is how my app should look like. So, you can say that, okay. So, let us take the example of InShorts. So, InShorts has an image, a title and a summary and there is a link at the bottom. So, I can just say, okay. At an instant, I will have this image, I will have some text, I will have some summary and I will have a link. And now, the cool part is that if you change, so all these four things are variables. And the cool thing about React is that the moment you change any of these variables, the view will refresh instantly. Now, as Android developers, you will be probably saying, like, I mean, this is something that is so obvious in Android. But it's actually very difficult to do performantly on JavaScript because what you have to do is you have to re-render the DOM every time you make a change. And the problem is that DOM wasn't built for applications. DOM, like the name suggests, is document object model. So, it was built for documents and documents don't change with user input. Right? So, that's one of the fundamental things that is broken in the web right now. Many people are banging their head trying to fix it. And this is actually React.js is one of the ways one of the frameworks actually been able to impact this problem, right? Without, you know, imposing a whole standard. So, within the existing web ecosystem, you can use React.js to do performance updates on your JavaScript or your web views very fast. And we're going to what is so special about React that allows it to do this. So, yeah, this is one of the main points, right? It's created and maintained by Facebook. And there's a fun fact here that the Sagram app is actually built on React Native. I'm not sure about the Android app, but at least the iOS app is built on React Native. It is actually a single page application running inside a single activity with all the view logic written entirely in React Native. But we're talking about React.js for now. So, just to make things clear. Yeah. And of course, it's 100% open source. So, that's one of the good selling points of this technology. Yeah. So, I'm not sure how relevant this is for you guys sitting here, but for anyone who's ever worked on a single page web application, they'll probably be thinking that how is this possible? I mean, how can you re-render everything on every state change? Like, there are four variables. Any one of these four variable changes, and I'm changing my view. How is this possible inside a document object model? So, the answer is that React.js has a concept of something known as a virtual DOM. And as we'll see later, this concept is actually very powerful and very generalizable, which allows it to be applied to more than just, you know, web applications. You can actually use it for React Native for Android and for iOS, the same concept. So, the basic concept, you know, like I said earlier, now, doing updates on the DOM is expensive. Every time you change a particular part of the document object model, everything that is a child of that particular object has to be changed. So, a document object model is like a tree. And every time you change any node of the tree, the entire subtree has to be re-rendered. And browsers are not good at doing all this, right? So, and DOM itself is extremely heavy. So, what these guys noticed was that instead of updating the DOM, you can actually update JavaScript projects, right? So, what they did was they made a representation of the DOM inside JavaScript. So, that is called a virtual DOM. So, it's basically a tree that represents the DOM, right? Now, every time your app does an update, instead of doing that update on the DOM, it does that update on the JavaScript representation, which is called the virtual DOM. And then what it does is, it uses clever hackery to sort of calculate what changes are needed in the DOM. So, every time you do an update, the virtual DOM is updated. And then there's a mechanism inside React.js that decides when it needs to update the real DOM, right? So, if you look at this problem from a very abstract way, right?  Now, you need some updates. So, you got another tree, right? Now, what you need to find is, what is the minimum set of operations that I need to transform this tree, this initially to this final tree, right? If you can calculate that minimum set of updates, then you only need to do that minimum set of updates on the DOM itself. I don't have to actually go about doing the whole subtree, right? So, that is actually the whole insight behind React native, that instead of having this thing where anytime something instead make whatever changes you want in the virtual DOM, you use some clever algorithm to figure out what minimum set of updates that is needed to go from the initial state to the final state. And then you just push minimum set of updates to the DOM. This is actually minimizing the DOM updates in a very clever way. And that is actually the secret behind its performance. So, there's another callback over here. There's a callback shoot component update, which is triggered before re-rendering. So, now, what you can do is like, what normally people do is that they just ignore this, React handle all the DOM updates. But in case you need to handle this yourself, you can use this callback. So, an example of this would be like, if there are like, you have a chat application, right? Which are multiple threads of conversations, right? And only one thread has changed. So, you can just specify that I need to change only this particular thread of conversation. And I can just ignore the dates on the rest of the threads. So, this sort of application specific which gives even more performance. So, yeah. So, enough about JavaScript. This is after all an Android conversation. And we'll come to how this is element in Android very soon.   And I mean, some of you must already have experienced these frameworks. And the main problem that you face is that they aren't performant. Like, you can always make a native app that performs better, right? Always may and the difference is visible to the end user. So, as an Android developer, it doesn't make sense for you to make a hybrid app, right? Because unless it's a really, really light kind of app, any sort of complex calculation and you just forget about it. So, and what do you care about this? I mean, like this is JavaScript framework for building apps. So what? I mean, so I'll talk about why you care, right? So, usual stuff that you can afford multiple platforms. The layouting engine is slightly better. It's more flexible. It's easier to work with. This is a CSS Flexbox layout. So, this is something that is specific to the web. But based on my experience, I find that it's usually better native Android rendering the Android layout system. Yeah. Oh, yeah. And of course, you can use, so there's a lot of JavaScript libraries out there that give you a lot of, you know, out of the box UI functionality. And you can just directly use that instead of having to. So, for example, if you wanted, like, arts, so charts on Android, they're like one or two libraries.  When JavaScript, you have like T three, you have so many charting libraries, each with their own way of doing things and very, very flexible. So you get that whole ecosystem. So this is the usual stuff. I mean, this is not something that is special in react native. You can do the same thing in Cordova or phone gap or whatever. You can have a shared code base across multiple platforms, right? This is usual. There's some not so usual stuff. So all these, you know, hybrid app frameworks generally sell you this that right once use everywhere. That means that you have a single code base that is running on Android on iOS on the web. But the problem with this is that the users of each platform, right, they have different expectations. So as an Android user, you will want something that is more Android, as a iOS user, you'll want something that is more, you know, native in iOS. So this is actually not a good philosophy from the end user point of view. A better philosophy would learn once right anywhere. Why do we want to have a common framework for building apps across platforms? That is because if I want to support three platforms, I'll have to hire one Android developer, one iOS developer, one web developer, then I have to make sure that all my feature sets are in sync, right? And I want people who are expert in that particular field, right? Whereas many, many developers out there are comfortable with JavaScript much more than they are with Android or with iOS. So these guys just have to learn this framework once and then they can develop apps for whatever platform they want. So it doesn't the, so you just need to learn it once, the way of the method that you use for building apps doesn't change based on the platform. So that is one of the philosophical differences. So the key difference is that using React Native, you will still write Android specific code, you'll still write iOS specific code, you'll still write code that runs only on the web, but that code will all be using a common framework. So that's why you don't have to keep three developer teams. You can have one developer team, all of them JavaScript developers. It has very easy interfacing with native modules, which is something that is lacking in certain hybrid app frameworks. And one of the good things is that it's very easy to drop into a existing project. So another problem that you generally face with hybrid app frameworks is that if you're building an app from scratch totally in the hybrid app framework, then they're good. But if you have like, you know, six screens already built inside your Android application, and you just want to add one screen with a hybrid kind of layout, that's difficult to do. So React Native actually makes this very, very, very easy. Yeah, so now we come to the real reason for this talk, what is the big difference, right? So React Native actually renders native views. So this is actually a big difference, like your hybrid app frameworks are usually running inside of a web view or something like that, right? But React Native is actually transforming whatever code you're writing into native modules, right? So now I come back to why I made that whole hoopla about the DOM tree and the tree updates, because, okay, so yeah, this means that because it's native, you have a consistent look and feel, and you have a consistent user experience, because if you add a tab bar, for example, it'll look like the native tab bar, you don't have to write a whole lot of CSS to make it look like a native tab bar, it'll behave like a native tab bar, because it is actually a native tab bar. If you actually go inside and inspect the code, it's actually a native tab bar. There's no like JavaScript or HTML there. And of course, it means much, much better performance. So one of the things I wanted to add here is that so coming back to my old analogy about the DOM tree, right? So if you think about it, the Android view layout hierarchy is also tree, right? So the same concept that you applied on the DOM can be applied on the Android layout view hierarchy. It's as simple as that, right? But so it makes a virtual DOM, which is a JavaScript object, it calculates updates on that. Now, instead of updating the DOM, it updates the Android view hierarchy. That's it. It's the same everything and they've just added another sort of boilerplate code to make it interface with Android. And the code technology is exactly the same. And because it is only updating the view hierarchy, like it is updating the view hierarchy in a very, very optimized manner because it is calculating actually the minimum set of updates needed on the view hierarchy. And that is the reason for why it is different from all the hybrid app frameworks and why it has much, much better performance. So again, why do Android devs care about this? Like, okay, so some of us are developing on various platforms, but most of us are core Android developers, right? So you must be thinking as a core Android developer, why would I ever stop using my native app and go to something like react.js? So even if it has equivalent performance to a native app, why would I even do that? Why would I learn JavaScript? Why would I code JavaScript? Like the shitty language? So why would I do that? So one of the benefits is that without any overhead in performance without any loss in performance, you get the benefits of the whole JS ecosystem. So for example, if I was today building a app which was heavy on charting, I would prefer using the JS charting libraries and they interface very well with react. And then ultimately, everything is rendered natively. So I'm not getting any performance overhead. So that is one of the, you know, draws for me. And the other big thing is that you can actually do over the air updates. So over the air updates is something that is very difficult to do in your usual Android, right? Because it requires like code injection and stuff and you have like Android putting limits on that. Of course, any OS will put those kinds of limits. But because this is JavaScript, you can just, you know, change the JavaScript code and now you have a new app. So that's actually one of the most powerful things about this technology. And that is why probably even native Android developers would consider using it because this feature you can't get on a native Android app. So let's talk about performance. Yeah, so this comes down to my earlier point. So instead of DOM, you have the view hierarchy, you have native components that gives you very good performance. And you also have asynchronous execution. So your UI thread is running, but all this DOM updating virtual DOM and calculating the updates and everything is happening on an asynchronous thread. And the moment it calculates a minimum set of updates, it just pushes that to the main thread. So it because it is happening in an asynchronous manner, it becomes even more performant. And the final reason is that they're using a really good JavaScript engine, JavaScript code, which was by Apple. So on iOS, Android or web, in all the three platforms, they're actually using the same JavaScript environment, which is JavaScript code. And that is a very good decision on the react teams part, because one of the big problems with JavaScript is that changing the environment, certainly your quotes are speaking because this environment doesn't support this directive or whatever. So I actually had a demo to prove to you that it react native is as performant as it claims to be. So I can't actually show this right now because technical issues. But I can share the link with you guys offline and or you guys can meet me outside and I can show you on my phone. So it's an open GL app running on react native. And it has pretty good performance. You'll be blown away basically. So one of the takeaways from so I explode this for the last two or three weeks, I looked at a couple of apps. I looked at a couple of demos. So the takeaways, the key takeaways are that it's better than most hybrid frameworks. But give it some time to become production ready react native for Android was launched in September. It's not production ready yet. There are lots of features missing. So it will still take a couple of months or more for it to be used in the real world. It's a good choice if you want quick prototypes. And you want to do cross platform development, but it is really, really promising. Because it gives you native performance.  So let's talk a bit about the over the air updates thing. So this is a little technical. So basically, this is how you actually define an activity using react.js. So you just have to do this kind of initialize this react root view object and give it a path to a bundle. So bundle is basically a set of JavaScript CSS images, everything, which is written in react.js. And if you make an activity and you do this kind of thing and you give it a path to some bundle, certainly you have an activity which is loading all its views from JavaScript from that JavaScript bundle. Another cool part about the JavaScript bundle is because it's a JavaScript bundle, you can just change it whenever you want. There's no problem. So there's actually a project by Microsoft called code push. So the only thing it actually does is it gives you sort of method. So in the previous code, instead of doing that adding hard coding the path, you just add this. And now suddenly you have over the air updates. So just change it on your server. It automatically handles versioning and everything for you. It allows you to configure when you want to check for an update. Updates are downloaded silently. It also allows you to configure how to present the update to the user. So if you want that, so if you're doing an update on Android natively, you have no choice but to accept, make the user click on OK before updating. But with this, you can do silent updates without the explicit consent of the user. So there are some gotchas, of course. There will be some conflicts between if you do an abstract kind of an update and you do an update using this mechanism, you need to figure out a mechanism for handling both these cases. There will be some versioning issues, like what if a user misses a version and there are all kinds of issues that might be caused due to that. So you need to think about how you'll handle that. You need to manage. So if you're updating React Native from 0.8 to 0.9, you can't do that over the air. You need to actually send it through the app store process. And the biggest gotcha is actually that these bundles are large. They're pretty large. So downloading a bundle every time is kind of bad. If there was a diff mechanism, it would have been a little more possible. But then you have this whole problem of how do you manage this between arbitrary versions? So if you're only giving the diff every time and the user skips one update, that user can never do an over the update. So you need to figure out some way to manage that as well. So it's not like that easy, like the way I showed it earlier. There are some problems, but it's still promising. So yeah, here's the best case scenario. You can update your app whenever you feel like it. Of course, since your entire view logic is sitting on a server somewhere, and you can just download it, you can be test very easily. So instead of loading the same asset every time, you just give a URL parameter and based on that load a different bundle for different sort of users, you can launch on other platforms in days because you can reuse most of the code. You just have to write some of the platform specific views. You can maintain a uniform code base. That means your entire code base is in one language. If you're supporting multiple platforms, the performance is, like I said, pretty good. And biggest part is that you get the native look and feel, which is very difficult to do in any sort of hybrid app development framework. You can't get that native feel. So and of course, there's this point about easy interfacing. So it's very easy to load a native module and reuse it and pass all kinds of data between the native module and the react view. That is very, very easy. So like I showed you, you can just drop it into activity and you can have like six activities that are your normal app and one activity that is just using react native. So this is a good way to experiment as well that you can just and you can also if you combine it with over there updates, so you can have actually one activity which you can change whenever you feel like you can also a be tested. Right. So this way you can very easily deploy new features and test them out. And if they work, put them in the main app. Don't have to go through the whole update cycle and all this kind of issues. Right. So I think that's all from my side. If there are any questions, I would love to answer them. Yeah. Thanks for the really helpful. I just wanted to know about the permissions issue. If we do over the air updates, what happens to the permissions? So permissions are not affected. Like you can't change the permissions for that. You will have to do an update through the Yeah. Thanks. So the awesome part was that it has a very good performance. But can you share us with the stats of UI load time as it has a boilerplate code that converts JavaScript into native that so can can we have a stats of UI load time for react native and native app? I can't share the stats because like I didn't find any I was actually looking for the same thing when I was evaluating this. So there are no publicly available benchmarks but but can can can't we have our own statistics for this thing? So I don't have those but I'll be happy to share an example with you. I have some phone so you can just, you know, sort of look at it yourself. But but we can't compare it with a native thing. Right. For that you'll have to actually implement the same thing in native and that so I didn't go into the effort of doing that. Sorry about that. So so when in short says planning to move your mobility stats to react native. So we haven't taken that decision yet. So like I said, one of the things that is attracting us a lot about this is actually the AB testing and experimentation part. So since we have a card based format, one of the ways we could do it is like just slip in a card which is a react native card, which has a different kind of a look and you can experiment that look with different users. And then you can use that to get quick feedback about what is working in the real world and whatever work then you can deploy it on your main app. Because right now there's no mechanism to test a UI change, AB test a UI change on a large audience. You'll actually have to use this kind of AB testing frameworks, which do dynamic injection and they have some performance overhead. So that is a little difficult. This is a easy way to do it. They also have their own limitations. So this way you can just completely change the entire behavior of the card. You can do whatever you like. So that is one of the things that is interesting. But we have only been exploring this, like I have been exploring this in in shorts for like a couple of weeks or so now. So we still have to take the decision on that. Like I'm not sure about your question. So are you what handshake are you talking about? Right. Yeah, so you can actually use any native module, like you can even write your own native module in Java and use it. So for example, if you wanted to, you know, write your entire web interfacing logic like multi threaded HTTP calls in Java and just sort of pass the data to react. You can even do it on that level. Right. So you can easily use any of the existing location APIs or any existing modules, but you can also write your, you can also do a sort of thing where the really, really performance dependent parts in the really, really the parts that are really, really dependent on your particular platform like Android in this case, you can put them in Java, you can put them in native and you can just have the UI in react native. No, no. So what you can do is that you can just have the UI logic in react and that is getting updated and you can manage the wallet in Java like you do normally. I'm sorry, not really because one code is actually handling the view logic and one code is actually handling the transaction behavior. So yeah, so actually you'll write the same code in Java if you write a whole native app instead of one part in Java, you can just change that to react. It's working. So that's totally up to you. You can use the JavaScript maps if you like. I'm not sure about the same activity part. What I am pretty confident about is that you can make different activities. Definitely. As far as I'm aware, you can actually just have a view that is a react view and you can just put it in a view hierarchy somewhere if you like, right? Though I don't have code examples and I haven't gone into too much detail, but from what I recall, very vaguely, you can do this. So like you have your view hierarchy, one node in that is your maps and the other node is a react, right? And you can just put them wherever you like. So we can have a react based UI and a native based UI on the same activity. Right. So I'm not 100% sure about this. I'll have to check this, but yeah. Hey, hi. This is here, here in the balcony. What about hardware support? Means how camera, Bluetooth, what it supports? So you can use the existing Java libraries for hardware interfacing. Okay. And even offline connectivity, right? I'm sorry. Offline caching and all these things will be taken care by native only, right? Okay. Is your application built on this framework? No. So our application is purely native. We are just exploring this for, like I said, for experimenting with some UI changes. So we haven't used this anywhere in production yet. And in my personal opinion, it's probably not ready for production use as of now. It's a promising technology. You need to wait a couple of months. It's launched in September. Give it at least three, four months. And then you should use it. Okay. And what about office caching? Like native part will be taken care by native. But what about the JS part? I'm sorry. I didn't get your question. I'm sorry. Office caching. Yeah. Code of office caching. Yeah. So I'm sorry. I don't know a lot about that. Maybe you can use the existing JavaScript minification tools to do some sort of code obfuscation obfuscation in JavaScript. I'm not sure how well that works. So yeah. Thanks. Can you be loud? Architecture. So there's all your business logic. Is it in your views now? What happens to layers and the native way of decoupling layers? What about that? So like I said, that is a choice that you can make. You can keep only the view logic in JavaScript before like, or like Instagram date, you can actually put the entire app like all the business logic in JavaScript. But that way you'll have to architect it the react way or the JavaScript way. But if you're more into architecting it like an Android developer, then you can just keep the view logic in JavaScript and react. And any of the business logic you can keep in Java and you can interface between them. Thank you. And how do we see our UI components in different platforms like iOS or Android? If I want to view my screen, which I'm reading on, I want to see how it looks in different screens in iOS or Android. Is there a kind of visualizer that you're having? So you can just use, so the way it actually works is that you need to set up a developer dev server on your machine. And then you can just connect any device on Wi-Fi. And then if you install, so if it's an iOS, so the react code actually lives inside of an app. So if it's an iOS app and you have react code inside it, so there are ways that you can connect it to your server and then you can change your code on the machine and it is live. So it actually even does like live reloading. So once you set everything up, just change your code and save it and the view gets refreshed automatically. How much of an access do we have to the code that is generated by react? Like tomorrow if I see that I have a performance problem and I'm not able to figure out from this existing react code where this is happening and I want to look at the code that is generated. Can that be tweaked and that be reflected in the end app or do I have no control over it at all? So you have control but not in the Android way in the sense that you can use Chrome debugger to actually see what is happening and you'll have to debug it in a sort of JavaScript kind of a way. Whatever JavaScript code you have. How much of community support is there for react for Android because online I couldn't find much resources for Android alone. Like iOS there were plenty of resources. Yeah so iOS was launched actually at the beginning of this year and Android was launched just in September, mid-September. So yeah so it'll take some time like I said that's why that was actually one of the reasons that I was saying it's not really production ready yet because many of the many code features are missing and there's not much documentation. Like even for all the information that I had to make for this slide I had to do quite a bit of research like I had to go and look at videos of you know people and stuff like that. So there wasn't a single resource where I could just see everything. So that problem is there I would agree on that point. Yeah as you said a number of hybrid platforms are available. Frameworks are available to develop hybrid apps. So still the Android developers are moving towards native development. So for some period of time they are liking the hybrid platform framework and then they're avoiding using it and they're moving to native development. So as being you yourself as Android developer what do you think for React.js framework? So what I think is that the big difference between React and all the other hybrid app frameworks is that React is actually rendering views natively. So that means that you get that native experience like there's no change like you won't be able to tell a React app from a native it's not possible. You won't be able to tell because the performance there's no performance lag and it's been like two months since it's launched and this is the scene right now. So three or four months down the line it'll probably be at a very good level that way. So that's so I think that is a very big difference. So the major reason why people are abandoning hybrid app frameworks according to me is that first is performance and the second is a lack of the native experience like that's very difficult to create the same kind of buttons the same kind of material design kind of use very difficult to create in CSS and JavaScript. Right now React.js also do not have that much of handling of complex level of designing or you know designing a complex applications. Still we are waiting for documentation and upgraded framework. So does this framework has a future for Android developers in the next few years or something? Yeah because Facebook is maintaining it and if you go down to the repository of React native you'll see there's quite a lot of activity happening there like three or four updates every day. So it's happening at a development is happening at a fast pace. I think what Facebook is trying to do is this my hunch again maybe down the line they'll migrate everything to this. That's how I see that maybe they won't maybe they will but given the level of interest and activity around this I think it is fair to say that it'll be a pretty major part of Facebook's Android strategy and that means that this framework is going to be pretty well supported. One last as I see the Titanium code Titanium framework code we write two different you know we write differentiate Android and iOS code for example in notification we use GCM and we use post notification. So do we do the similar way of functioning in React.js as well? Right because you know you want the Android users to get the Android experience you want the iOS users to get the iOS experience. So you will still write iOS specific code for iOS and Android specific code for Android but the difference is that it is now in the using the same framework and the same language. So it's not like one is Java and the other is Objective-C and entirely different concepts. The same concept the only difference comes that the names of the views will change. So in Android you'll have a different name and an equivalent thing on iOS will have a different name. It means is the person still need to have some information of related to Android and iOS as well? Of course of course because you want to give that experience right. So you need to know how that looks like. So yeah but you don't need to have a lot of so you don't need to learn a whole new framework and whole new language right for developing on iOS. You can just so 80 to 90 percent of your logic you can keep the same. Only the view parts will have some changes. So in that way it is better. I'm afraid again we are running out of time. So that's about it for in short this talk.