IBM puts out the call for developers to fight COVID-19 during Call for Code Global Challenge

IBM, the United Nations and The Linux Foundation are asking coders, developers and software engineers to join the global fight against the coronavirus pandemic during the 2020 Call for Code.

IBM puts out the call for developers to fight COVID-19 during Call for Code Global Challenge
16:46

In response to the Novel Coronavirus pandemic, IBM has added a COVID-19 track to its annual Call for Code Global Challenge. TechRepublic's Bill Detwiler talked to Daniel Krook, a software engineer, developer advocate at IBM, CTO for the IBM Code and Response Initiative and the Call for Code Global Challenge, about the contest, the new track, and most importantly how developers can get involved. The following is an edit transcript of the the interview, which is part of TechRepublic's Dynamic Developer video and podcast series.

Bill Detwiler: So Daniel, thanks for joining me. I really appreciate you taking the time to talk to us today.

Daniel Krook: Great. Thanks for having me Bill.

Bill Detwiler: So before we talk about the COVID-19 track, let's talk a little bit about the Call for Code global challenge. What is it? How long has IBM been doing it? And what can people who participate in the challenge expect?

Daniel Krook: Sure. So the Call for Code Global Initiative is a five year program that IBM kicked off in 2018. So we've had two competitions already and we're starting a third one this year. We're in partnership with the Linux Foundation, the United Nations and lots of other partners. And what Call for Code is, is a yearly competition that asks developers to take on some of the world's greatest challenges. IBM helps them do that by providing the technology that they can use in their solutions and the output is sustainable, impactful, open source applications.

Bill Detwiler: And so in the past, you've looked at climate change, that's been the focus of the Call for Code challenge, right?

Daniel Krook: Yes. This year's competition scope that we announced in February was focused around climate change and some things below that. Water sustainability, energy sustainability and disaster resiliency.

SEE: Learn Python: Online training courses for beginning developers and coding experts

Bill Detwiler: One of the things about the Call for Code challenge and the Global Initiative that I find is really interesting is, it's not like just maybe a regular competition where you have a winner and then they get a prize and then that's it. Talk a little bit about what the people who participate in the Call for Code challenge get out of this at the end.

Daniel Krook: Yeah. So that is what sets Call for Code apart. And that's the idea that you're not just creating applications for the competition, but you're also getting support to deploy those applications as open source projects through an IBM service corp team and the Linux Foundation. So it's not just hacking around for a weekend, throwing some code up on GitHub, taking a prize and going home.

What really we're trying to do is give people the right problems to solve, the right technology to solve it, and also the support to take those ideas and ensure they're actually deployed to address the problems.

Bill Detwiler: Can you talk a little bit about some of the previous finalists, some of the previous winners. What are some of the problems that they've tackled?

Daniel Krook: Sure. So we've had two competitions so far. The 2018 winner, the 2019 winner. We have three more years, including this year. So 2018's winner, they were set developers in the New York area. What they created was a hardware and software solution, a mesh network that helped establish just about 1% connectivity after a natural disaster. And they do this by deploying what they call ducks. So these are small connected devices that communicate over LoRa, long range radio, and they can be pre-deployed as permanent ducks connected to each other or deployed immediately after a disaster. They're cheap devices that can be dropped by drone, by balloon, anything like that. They can be quickly deployed.

And the goal is that they provide just enough of a network that you can deal with some basic text messages over the network. So basically what happens is any device connects to a wifi portal provided by the ducks and it shows up as the captive portal you'd see on your phone when you join, for example, a coffee shop wifi or an airport wifi. It overrides that so you don't install an app and you can use that to send messages over the network. It was inspired by hurricane Maria in Puerto Rico.

call-for-code-2018-project-owl.jpg

IBM

And so what happens after the competition, we went to Puerto Rico four times to do successive deployment testing with them, connect them with public and private partners, including the University of Puerto Rico system. So that was the 2018 winner. We worked with them all through last year. We continue to work with them and they brought their technology to the Linux Foundation and folks can contribute to that right now.

Bill Detwiler: And that was Project Owl, right?

Daniel Krook: Correct. That's Project Owl and the open source part of what they built, is called the Cluster Duck Protocol. So if you go to the Linux Foundation, look for Code and Response, look for the Cluster Protocol. We'll be sure to link it up too for our listeners as well.

And then last year's winner, they were actually a team from Spain, in the Catalonia region near Barcelona. And what's interesting is they were a cross functional team. So it included a firefighter, a nurse or an EMT, a project manager, a data scientist, and a full stack developer. And so by having their customers embedded in their team, they were able to create something that was quickly able to be iterated on and was a very successful project and they continue to do testing.

So what they do is, they created an IoT device that attaches to a wildfire firefighters uniform and it gathers information about the environment. So smoke concentration, temperature, humidity, carbon monoxide, it emits that back to the IBM Cloud and it's displayed in a dashboard that shows the realtime status of, for example, 10 firefighters out in the field and seeing if anybody's in immediate danger of being exposed, for example, to the carbon monoxide for too long. That information can also be shared, analyzed over the network. I'm sorry, over time to see if someone has been exposed multiple times for too long to certain chemicals, helping them make better decisions about health outcomes.

So that's also a project we're working with. We did a field test with them with 10 firefighters in February in Barcelona, during a controlled burning. So it's a proactive burning of a flammable forest area. So they tested it in the field and actually they connected it and they extended how it's constantly worked by building a product out with technology. So it was kind of nice to see the open source really deliver in that case as well.

So I'm very excited. Those are both focused on natural disasters. We saw that IoT and data science and analytics in there. So those are the types of applications that have been successful in the last years.

SEE: How to build a successful developer career (free PDF)

Bill Detwiler: And you brought up something I think is really important and I want to get to the COVID-19 track for this year because it's so important as well. But you talked about the winner from 2019 and you talked about sort of having a cross functional team. As someone yourself who's a developer, a software engineer, before I was in tech journalism, I was in computer science and developed by myself. So we were talking before the show a little bit about how important it is to have that kind of cross functional team or at least if you do, you can do some really interesting things. Having stakeholders on the team from the beginning, people who are going to be using the devices, people who are going to be using the service, to be able to provide that input. Talk a little bit about how that works or what you've seen through Call for Code with those types of teams.

Daniel Krook: Yeah, so it's amazing. When we first launched Call for Code, we assumed we could harness the world's 24 million developers by giving them technology to solve problems. So giving them the problem sets that are the most important things to address. So we did that by connecting them with folks in NGOs, from United Nations, from the American Red Cross, other organizations. So we're pairing developers with basically experts. So we saw a lot of that the first year and a lot of great applications. But just like with last year we saw actually they were starting to merge, the firefighter being on a team.

So it's just like with all software development, being agile, understanding what your end user actually needs, that you're not creating some technology and just throwing it at a problem. That's incredibly important. And that means you're going to have software that people can really consume, use, and immediately deploy. So it's super important to have that.

call-for-code-2019-prometeo.jpg

IBM

And what we try to do also with the Code and Response program is for those winning teams, they may have a set of skills. Maybe they're less deep in certain areas, but they have broad experience. What we can do, just like we're doing for Prometeo, is supplement that with people that have additional skills. So teams that participate, they don't need to be software engineers with computer science degrees, PhDs in computer science. If they're self taught developers like myself, coming in maybe have a background in political science like myself, you can bring a lot of skills to bear on a problem you're trying to solve and know that if you win the competition, you're not on your own and suddenly thrown off the deep end to learn crazy deep data science. We've got tools to help you. We've got a way to bring you together with organizations that can help as well as open source projects like those in...Sorry about that. The perils of working from home during these days.

Bill Detwiler: It's the new normal. I think that's so important. And let's talk about how that translates over into the new track you added in response to the Novel Coronavirus outbreak. So as part of this year's Call for Code challenge, you've added a COVID-19 track. Tell me a little bit about the track, what you're hoping to achieve with this, the three kits you've got.

Daniel Krook: Sure. So we launched in February with the one climate change track with three sub themes underneath it, so water, energy and disaster resiliency. We've done that with COVID-19 as well. We launched a parallel track that developers can look at. It's got three suggested sub themes below it. So around crisis communications, around remote learning, and community collaboration. And importantly, we're not asking folks to go develop vaccines or do deep data science and scientific topics. Those are other initiatives that are being well covered by other technology efforts.

So really we're looking at the social and business aspects, the impact of what COVID-19 is going to have on society. So helping people get information, handle excessive loads, requests for information. So if a store, for example, is on a very thin staff, can use a bot or some sort of automated SMS system to answer frequently asked questions such as do you have senior hours this morning from 7:00 a.m. to 8:00 a.m. Let technology answer some of those questions on your behalf and focus on delivering what you can as a company to help.

So we have the two parallel tracks and applications submitted to one or both tracks will continue to be judged through the regular Call for Code timeline. So it goes from now through the end of July with judging happening in the summer. Awards happen in October and full scale deployment happening in 2021. But for the COVID track, naturally, because this is such a pressing problem, we've put together an accelerated timeline for those applications. So if developers can create things in the next 30 days and submit them by April 27th through the Call for Code submission process, we will judge those and announce winners on May 5th at the IBM Think Virtual Conference, raise awareness of those amazing applications, rally folks around them. And we will assemble a team from the IBM Service Corps to help start deploying them in mid-May.

So we want to ensure that these are quality applications coming in. That's why the deadline's not next week. So we want to make sure people have time. They're building stuff maybe for other competitions. Those would be still eligible for this. If they bring an application here, that's been created since February 26th which is the start of the Call for Code competition. It's got to be fresh code. It can depend on open source, but if they brought something, maybe they've sent it to other competitions, that's great. As long as it's something you want to bring to the Call for Code program, get it in by the April 27th deadline.

Or even if they come in earlier, if there's some really promising ideas, we'll look at them and maybe we'll mention those how people can make them even better and resubmit them before the deadline. So there's both a long and a short timeline for this, but the end result is the same. We want solutions from teams that are innovative, that are able to solve a problem with technology in an appropriate way and are something that can be a sustainable open source project to benefit humanity.

2020 Call for Code Global Challenge

Bill Detwiler: And knowing what you have seen with the other projects, Daniel, do you have any advice for folks that might be thinking about ideas to submit for this track, for other tracks, for how to work together as a team, who to pull in. We talked about that a little earlier. What advice would you give to people who are looking at this and considering this right now, to how to submit something that's successful, how to submit something that's going to, if not win, get noticed, how to have the best chance, also, just to help. It's nice to win, but it's also when you're dealing with something like this, it's nice to know that you're able to contribute to a recovery, to help people deal with this kind of a crisis.

Daniel Krook: Yeah. So a couple of tips there. Don't think about the technology first. Think about the problem first. Identify and talk to people that are really being impacted by the crisis and find out what sort of technology solutions might help them get to a different place from where they are now to a better situation. So don't just think I'm going to apply blockchain to this, I'm going to apply IoT to something. Thinking about the end user. And if you can, embed maybe somebody who's going to have that feedback on your team, or at least talk to folks, do some design thinking, empathize with your end user, understand the types of issues they face, the priorities that they have and try to work back from that into a technology solution. That's I think the best advice is, don't think tech first. Think about the problem and then start to formulate the technology around it. And if you can embed that person in your team and iterate, it's much faster to be more effective.

And another tip, also an important one is related to the end user. When you're creating a solution, think about things that are already existing that you can build on. So we've seen a lot of Coronavirus, COVID-19 APIs emerge, data sets emerge. There are tools that are in this ecosystem being rapidly developed. Do the research, understand what's out there, build on top of it and make sure you're not reinventing the wheel, that you're not solving an already solved problem.

Daniel Krook: If we looked back at some of the solutions in earlier Call for Code competitions, people created dashboards which are great, but creating a dashboard in a vacuum is not helpful if for example, an incident commander has a ton of tools that they already work with. What's a way to integrate with those industry standard tools? What's a way to leverage the open standards such as for emergency communications or certain radio bands? And learn from that. Use those things. Don't just create stuff from scratch that already exists.

Bill Detwiler: Well Daniel, thank you for joining us. I really appreciate the time. Where can people go to learn more the Call for Code challenge and most importantly how to get involved?

Daniel Krook: Sure. So callforcode.org is the best starting point and that's not only for developers who want to take part, it's for people who want to learn about the competition rules, the judging, the guidelines. It's got the frequently asked questions and it's got a link where you can register for the competition, get access to IBM technology and our IBM Developer site. So they can register there. That's the place for all the rules and the judging, and if they are not a developer, maybe just want to support, if they work for an NGO or support the overall effort, contribute their expertise. We also have a way to sign up supporters and sponsors and other sorts of folks who want to get involved as well.

Also see