Summary
Learning how to read is one of the most important steps in empowering someone to build a successful future. In developing nations, access to teachers and classrooms is not universally available so the Global Learning XPRIZE serves to incentivize the creation of technology that provides children with the tools necessary to teach themselves literacy. Kjell Wooding helped create Learn Leap Fly in order to participate in the competition and used Python and Kivy to build a platform for children to develop their reading skills in a fun and engaging environment. In this episode he discusses his experience participating in the XPRIZE competition, how he and his team built what is now Kasuku Stories, and how Python and its ecosystem helped make it possible.
Preface
- Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
- I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable.
- When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters.
- If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind.
- Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email hosts@podcastinit.com)
- To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
- Your host as usual is Tobias Macey and today I’m interviewing Kjell Wooding about Learn Leap Fly, a startup using Python on mobile devices to facilitate global learning
Interview
- Introductions
- How did you get introduced to Python?
- Can you start by describing what Learn Leap Fly does and how the company got started?
- What was your motivation for using Kivy as the primary technology for your mobile applications as opposed to the platform native toolkits or other multi-platform frameworks?
- What are some of the pedagogical techniques that you have incorporated into the technological aspects of your mobile application and are there any that you were unable to translate to a purely technical implementation.
- How do you measure the effectiveness of the work that you are doing?
- How has the framework of the XPRIZE influenced the way in which you have approached the design and development of your work?
- What have been some of the biggest challenges that you faced in the process of developing and deploying your submission for the XPRIZE?
- What are some of the features that you have planned for future releases of your platform?
Keep In Touch
- Learn Leap Fly
- Website
- @learnleapfly on Twitter
- Kjell
Picks
- Tobias
- Kjell
Links
- Programming Python (O’Reilly)
- Learn Leap Fly
- Tim Ferriss
- Peter Diamandis
- Global Learning XPRIZE
- Kasuku Beta Program
- XPRIZE Foundation
- Kivy
- Kivy Flappy Bird
- Podcast.init Kivy Interview
- Deliberate Practice
- Google Pixel C
- Bayesian Learning
- SciPy
- NumPy
- Keras
The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA
Hello, and welcome to podcast dot in it, the podcast about Python and the people who make it great. I would like to thank everyone who supports the show on Patreon. Your contributions help to make the show sustainable. When you're ready to launch your next project, you'll need somewhere to deploy it, so you should check out linode@podcast init.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your app. And now you can deliver your work to your users even faster with the newly upgraded 200 gigabit network in all of their data centers. If you're tired of cobbling together your deployment pipeline, then it's time to try out GoCD, the open source continuous delivery platform built by the people at Thoughtworks who wrote the book about it. With GoCD, you get complete visibility into the life cycle of your software from 1 location. To download it now, go to podcastinit.com/gocd. Professional support and enterprise plug ins are available for added peace of mind. You can visit the site at podcastinnit.com to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions, I would love to hear them. You can reach me on Twitter at podcastinit or email me at host@podcastinit.com.
To help other people find the show, please leave a review on Itunes or Google Play Music. Tell your friends and coworkers and share it on social media. Your host as usual is Tobias Macy. And today I'm interviewing Kjell Wooding about Learn, Leap, Fly, a startup using Python on mobile devices to facilitate global learning. So Kjell, could you start by introducing yourself?
[00:01:32] Unknown:
My name is Kjell Wenner. I'm a computer engineer turned mathematician, turned, entrepreneur. And, for the last few years, I've been involved in a start up called Learn Link Flying to changing the way that people learn.
[00:01:44] Unknown:
And do you remember how you first got introduced to Python?
[00:01:47] Unknown:
Yeah. Sometimes I think that Python, Python introduced itself to me. I think it chased me for quite a while, as a matter of fact. I've had a copy of, of the old pink spine O'Reilly programming Python on my shelf since sometime in the late nineties. So the first time I I it caught my eye was was back when we were mostly worried about scripting things for for the web. But I never really I never really made the leap, and so I put it back on my shelf, and it stopped there for many years. And I reared its head again up in the in the mid 2000 when I was doing my PhD in computational number theory and scientific computing. Because, a lot of what I was doing was hardcore, c or assembly or or, DSP craziness. And, in order to make that sane to work with, I was always wrapping it in something higher level, and I I came upon, Dave Beasley's, swig wrapper.
At the time, I was wrapping things in in Tickle, but I'd noticed that he had moved on to the the Python world, and I always thought there was something sort of interesting there. But once again, never quite got around to it. So it wasn't till the last few years, I've been working, in the data science field that, that Python has really been able to to to grab and and and, focus my attention a lot more. So, so really, it's always been there for me. It's just taken me a long time to realize that everything I wanted to do was, was all in Python.
[00:03:00] Unknown:
And for Learn Leap Fly, can you spend some time describing what it is that you're doing there and how the company got started and the motivation behind it? Yeah. Absolutely.
[00:03:09] Unknown:
Learnlyfly is a social enterprise, and we're aimed at, at learning and changing the way that that people learn. And I actually got started with a with a podcast. In October 2014, my wife, was doing her PhD in in Montreal, but she was, living, here in Ottawa. And, so she'd ride the train a few times a week, a 2 hour train ride, so just, back and forth to, to McGill. And she spent a lot of time listening to podcasts. And 1 of those train rides, she was listening to a podcast, The Tim Ferriss Show, interviewing, Peter Diamantes. Peter was the founder of the XPRIZE Foundation. And he started describing something called the Global Learning XPRIZE. And the Global Learning XPRIZE was all about, a grand challenge having to do with literacy. The fact that there were 250, 000, 000 children in the world who don't know how to read or write, and most of them are in the developing world, and most of them don't have access to schools or teachers at all.
And the idea of the Global Learning XPRIZE was, was there something that we could do with technology? Was there some way that we could address this, this learning or teaching shortfall, using technology. And so the challenge was, can you write software that runs on a tablet that could actually help children teach themselves to learn to read or write. And my wife Amy, she heard this and she got really excited. And she called me from the train and she's she explained this, this, this XPRIZE. She told me all about it. And she said, We should enter a team. And I remember thinking, really funny, right away, I just I just said yes.
Sure. We should do that. And, I said it so quickly that I don't think she believed me. Because when she got home later that night, she, she said it again. She she's told me the story again. She says, yeah, we should we should enter team. And, again, I said, yeah. Yes. We should. And and this went on for quite a while. This went on actually until Christmas of that year. And it wasn't until, Christmas time we were spending at, at Amy's family's home, and the whole family was was was there. We're all opening our presents in a big group. And usually when we do that, we go around the circle, everybody opens a present, and it came down to 1 of the last presents of the of the day, and it was my present to Amy. And I remember she was sitting there with all eyes on her, all her sisters and and and parents and the significant others.
And she opens up her present. She looks inside this box, and then she just started to cry. And all of her sisters are are there and excited. They're all leaning forward and looking in the box. When they look at that box, they saw a tablet. Like, a 7 inch tablet. And nobody had any idea what was going on. She's like, what is it? What is it? Is it a bad present? Like, what's going on? And so Amy started to explain to them about the XPRIZE. And so that was the moment that she realized that I was serious, that that we were serious. We're gonna actually enter a team into this Global Learning XPRIZE. And so it was that that day that we actually named the company Learn Leap Fly. It was that day we started coming up with our plan for how we were going to use technology to transform the way that people learn. Now since then, that was 3 years ago. Since then, a lot has gone on. We've actually been involved in 3 different, XPRISES, the Global Learning XPRIZE, the Adult Literacy XPRIZE, and most recently, the Artificial Intelligence XPRIZE. And we since taken, a lot of what we've done, and we made it available. We've got book betas in both the, the Apple and Google, app stores.
[00:06:09] Unknown:
So there's been a lot going on in the last few years. And for people who aren't familiar with the XPRIZE institution and what's involved in that process, Can you describe what's involved in entering a team and the requirements for actually participating? Yeah. Absolutely. The XPRIZE Foundation is focused on grand challenges.
[00:06:27] Unknown:
Challenges for which, there will be a great benefit to humanity, but for which there isn't a lot of financial incentive necessarily to get started. The original XPRIZE was, the Ansari XPRIZE, which was the challenge of sending a rocket into space, a reusable rocket twice within a week. And the time was a very audacious idea. How can you imagine? Can you imagine reusing a rocket? Now this is something that we actually get to see every day nowadays, but when the XPRIZE launched, it was it was science fiction. And so they've taken this idea, the XPRIZE Foundation, and applied it to a a large variety of of difficult problems. Another one's we've been focused on and tended to be focusing on the ideas of of literacy. Global literacy, the idea that with this giant gap with 250, 000, 000 children that don't know how to read or write, to actually educate those children would require an unprecedented investment in terms of teachers and schools. We need to train an additional, 60, 000, 000 teachers to fill that gap, and that's just not something which is economically viable. So the idea of the XPRIZE is is a prize competition.
They sponsor a large prize to incentivize people working on these grand challenge, problems. And each 1 of these problems is a very different flavor. And so each XPRIZE competition looks different. But the basic idea is they lay down the XPRIZE Foundation lays down a challenge, and it's up to individual teams, where they can be they can be individuals, they can be, corporations, they can be teams put together for an XPRIZE, or they can prize, or they can be teams that have been around for a long time to come up with something which satisfies their criteria of the individual prize. So the Global Learning XPRIZE was all about, developing software for this tablet, and a and a and a grand experiment, involving 200 villages in Tanzania, to see if they could actually use the software to push the bar to actually achieve literacy outcomes. The adult literacy xPRISE was was an interesting challenge to, that actually involved a component where cities would compete each other to compete with each other. So teams would submit software, that adults could use to, to help improve their literacy outcomes. And, the XPRIZE itself was focused on getting adults to use it and and and and getting cities to, to commit to programs which would involve these pieces of software. And the AI XPRIZE, the most recent 1, that we've been involved in, is a completely different both of these. The AI XPRIZE isn't concerned with the actual problem you're solving. What it wants you to be able to describe is how to use you're using artificial intelligence to actually make the world a better place. It's, it's as much a communication prize as it is a prize pushing the envelope in terms of of AI. So so every XPRIZE is is very different in flavor, different in the way that it looks, but they all generally boil down to the same thing. It's a it's a prize purse, designed to push the envelope in a particular, field of research, a particular field of study to incentivize people, into solving these grand challenges.
[00:09:03] Unknown:
And the way that I first heard about you was, PyCon Canada, you gave a presentation about the way that you're using Kivy for building the platform that you are running as your entry into the global learning xprize. So I'm wondering if you can talk a bit about why you chose Kivy as the technology to use for building that platform as opposed to any of the other native toolkits that are available for doing cross platform development and what your experiences have been, once you made that decision. Yeah. Once again, I think this is, this is a matter of of the Python ecosystem chasing us,
[00:09:38] Unknown:
and as much as us necessarily looking for for a solution there, 1st and foremost. I I think it started because, we'd assembled a team. When we got involved with this with this Global Learning XPRIZE, it was it was a very difficult problem. How do you how do children teach themselves to read and write? So we actually spend a lot of time up upfront on the research, aspect of the problem, finding out what where educational technology had had succeeded in the past and where it was, where had failed or where the challenges remained. So so we could actually focus our energies on on the things that were difficult. And so it was actually, ways into the competition before we had actually concerned ourselves with, actually writing the code. We had been more concerned about what we wanted to do and what approaches and pedagogy we were gonna, take to bring to the problem. And so when we finally put together that team, which mostly at the time consisted of, people from the scientific computing or or data science fields, to start evaluating the tools that we were gonna use to build this software, It was really funny. We essentially went our our ways. We each picked up a framework and started playing with it. And we came back to compare notes and say, well, what's this framework like? And the almost universal response was 1 of disgust. It's like, I even to write hello world in this framework was it was tedious. It was terrible. It's I don't want to work in this space. But, basically, I always wanted to go back to our day jobs and go play with Python all day because it was it was very freeing. It was it was the when we went to work with the Python tools, we could just get to what it is we wanted to do and work we weren't finding that in the native tools, in the tablet. So we were a little bit discouraged at the time. But all of a sudden, I remembered, a tutorial, a tutorial that actually happened at, PyCon 2015 in Montreal. It was all about building games with Python. And, I didn't have the opportunity to attend a tutorial, but I was talking to a friend of mine who had, and she'd actually brought her son along to participate in it. And that had stuck with me. You know, her son, her son was, probably only around 10 years old at the time. And the idea that he was gonna be able to produce actual video games, they actually made Flappy Bird Bird as part of this exercise using Python in a in a 3 hour tutorial, that really stuck with me. And so sort of the depths of this discouragement with with the available tools and the and the, frameworks that we've been playing with, this idea came to mind that, wait a sec. I remember seeing this thing, this Kibby that worked in the Python system, ecosystem, and it actually seemed to make it possible to build software for, for mobile devices. So maybe it's worth looking at. And so we did. So we started to look at that. And, and members of our team got very excited about it, because they were able to to produce prototypes very, very quickly. And it looked like it was it was gonna be able to do the trick. It looked very much like we could develop software for mobile devices, touch based devices using Python. Now we're a little bit afraid of this. This is a bit of a scary idea because, you know, as you were hinting there, it's not a traditional, toolkit or framework for mobile application development. And so, you know, we're getting out of the wire. We wanted to be able to be sure that this was going to do the trick for us, that that if we committed to using this tool, we're gonna be able to deliver something. So we actually ran an experiment. We wanted we wanted proof that that peep we'd be able to work with this and develop solutions mobile solutions quickly. So we actually ran a sprint at, Python 2016 in Portland, a sprint called Game Camp, and it was aimed at, people who hadn't necessarily written games before, writing their first games using this particular toolkit. And, over the course of the the the, the 3 day sprint, we had, 22 people come by, stop by, having never used Kivy or, some of them had barely used Python before. And in a matter of those 3 days, every 1 of them was able to either complete the tutorial or in in in several cases, actually generate entirely new, games, from scratch, in that 3 day period. And that was really the validation we needed. What we really, really needed because we had some ideas in the education space, but we really needed to be able to experiment with them, to iterate on them, to put them in the hands of children quickly, and and see how they responded and be able to react. So in seeing that over the course of the sprint, people were able to go from nothing to producing brand new mobile applications in a matter of 3 days. It's like this this is it. This this is what we wanna try using. And so that's when we decided to make the, make the call and, and and use Kivy for our development. It's been a great experience. 1 of the 1 of the other big draws about the Python community and then the greater Python community is, is that it is. This is that. It's a community. It's a very open and welcoming community. And Kibbe is a microcosm of that. Kibbe itself is made up of of individuals who are are very, very talented. The framework is beautiful and spots, but, and incredibly, technically impressive.
But, also, it's a great community to work with. They're very open to, to questions. They're very open to people starting out with their framework. They're very open to, to making changes that improve the framework or or fix, fix things that might, be better in a particular way. So it was just it was a really rewarding community to work with. There were lots of great resources available, in terms of documentation and so forth. And just, you know, technically, it was just a a fantastic crowd to work with. So that has been a a huge,
[00:14:24] Unknown:
a huge contributor to, to how far we've been able to get, with a small team in a very short amount of time. Yeah. I've tinkered with Kivy a few times in the past and had great experiences interacting with the community and some of the authors. And they were actually 1 of the first groups of people that I interviewed for this podcast. I think it was back in episode 3 or so. And at the time, actually, the people who are on the call had never actually interacted in any manner beyond the GitHub issue tracker. So it was the first time they had ever been on a phone call together, which was rather humorous. But, yeah, it's definitely an interesting project and, 1 that I'm glad to see has continued to foster continued development. I saw recently they had a new point release since the last time I looked, so that was good to see as well.
And you mentioned that before you actually selected a technical approach to the work that you were doing with Learnley Apply, you wanted to research some of the pedagogical techniques and practices that you wanted to try and incorporate into the technical aspects. So I'm wondering what were some of the techniques that you did decide to go with in order to foster that, self directed learning, and what were some of the challenges that you had trying to translate those into technical implementations? And are there any techniques that you wanted to incorporate that you weren't able to do so ultimately because of any technical constraints?
[00:15:43] Unknown:
Yeah. No. That's a great question. The Global Learning XPRIZE really formed quite a bit of our approach because of the nature of the challenge. It was aimed at people who hadn't necessarily used technology before. Many of them hadn't used it at all or even seen a tablet, let alone touched 1 before. It was aimed at an environment where there weren't schools or teachers. So there weren't people telling the children that they needed to use the software. Weren't telling them how to use the software. Weren't telling that they needed to do something, so it had to be very engaging. So a lot of these ideas directed where we needed to go pedagogically. If if you're not gonna sit somebody down and tell them they need to use something, they're gonna have to want to. Deliberate practice was something, was something that, that we that we came across very early on. The deliberate practice, Ericsson does a lot of research in this, talks about breaking down something that you wanna learn. You wanna become an expert in something. You need to break that down into into skills. Then each 1 of those skills you break down into components that you can practice into into practice a little chunks.
And as you work on each 1 of these these individual, components, you need immediate feedback, you need coaching feedback, and you need progressively more challenging tasks. And, so a lot of this idea, this idea of breaking down the process of of learning to read or learning to, write or learning to do math, was centered around this deliberate practice to decompose it into into skills, into testable skills, and then take those skills and decompose those into practicable components. Now constructionism also plays a role in this. So this is, you know, Patrick's classic computers meet education, approach, which is 1 of experimentation, open endedness, and so forth. The idea that when you're teaching somebody to read it, it's not gonna be about instructing them. It's not about watching video lectures as you go. The idea that you're not a consumer of education, but you're a participant in the process. Another 1 we use is is the idea of stress and rest. So here's an here's an application where you wanna learn to do something. It can't all be work, especially because there's nobody telling you you have to do it, meaning it's gotta be something fun to it. So this idea of stress and rest that if you're gonna challenge somebody, which you need to do, if you're if you're trying to take a deliberate practice approach or something, if you're trying to challenge them, you have to balance that with fun and play and just a chance to recover and and put the things that you're learning into practice. And so these ideas, this deliberate practice, this the idea of, of experimentation, open endedness, of stress, and rest, these are a lot of them the the main ideas that have gone into, into our software. But come to challenges, I hinted at some of them. This environment where you're you've you've got nobody telling somebody that they need to learn something, you've got to rely on engagement. You've got to re you've got to make sure that they're engaged in what they're doing before you can carry them through any kind of learning progression. And that idea of engagement is is is a blessing and a curse. It's it's a challenge. 1 of the things we hit we didn't fall back on and, 1 of the main challenges we had, technically, in implementing this was to keep people engaged. We focused on something we call social software. It was the idea that we don't have a school to fall back on. We wanted to create some kind of social environment about learning. We wanted children to not work individually with these with these devices. We wanted them to work together. Because when children work together, they stay engaged longer, and they teach each other. The learners as there's nothing more exciting than seeing a child learn something new, discover something new, and then run around to all the other children that are around and show them the thing that they've learned. We wanted to be able to rely on this. So we wanted to encourage children working in groups together on these touch based devices. Now here's the technical challenge. Most user interface design that we deal with is with the idea of 1 user, 1 device. 1 of the apps we use, for instance, for, for teaching the basic dexterity of of writing is is is a basic drawing app. And now try to imagine a drawing app that has multiple children using it at the same time. This is a huge user interface challenge because let's say, 2 children are both drawing, which we which obviously we can do, it's a multi touch device, but 1 of them wants to draw in a different color than the other. This is a challenge. It's not like picking up a crayon and now you've got choice. It's you have to touch something. But while you touch something, while you choose yourself a different color on the tablet, some other child might be drawing and they're gonna get your different color. It's just a brand new set of user interface challenges. So whenever we're designing the software, we're always trying to think about how would this work with with many sets of hands, using using the software at same time? How would this work with different children at different levels using an activity at the same time? This was an extremely difficult challenge, and a lot of the user interface, user, challenges I imagine as well is being able
[00:20:13] Unknown:
to measure the effectiveness of the work that you're doing and being able to understand what are the issues that people are having with it, what are the failure modes of the software if it happens to run into a crash, particularly given the fact that since you're doing a lot of this targeted at children in the developing world, you might not necessarily have reliable access to network infrastructure to be able to send back crash reports or being able to send back usage statistics. So I'm wondering how you have approached that problem in the platform that you're building. This is great. You touched on 2 of the, the the most challenging parts of this. 1 was a deep seated insecurity. It was the fear. It was, it was actually the fear that wasn't, and that was,
[00:20:51] Unknown:
what was it gonna be like? When we actually first alpha tested this, we tested it, in a remote area of in a children's home in near Catalia in Kenya. And this was actually our first contact with with our target demographic. It was really the first time that children got to use our software on a large scale. And I remember just being terrified because I knew we were going in there with alpha level software. It was a very fast development cycle. We'd only been 3 months, into the software development process when we set out on this, on this alpha test. And, and I knew the software was crashy. I knew it had bugs. I knew there were showstoppers in some cases. And so I was just I was I was almost I I was terrified just to see what, you know, what was gonna happen out there in the field. This is our first indication of just how paranoid we were gonna have to be and how much work we're gonna have to do to make sure it doesn't crash and so forth. And we put the software in the hands of the children, and it just didn't matter. This is the amazing thing. They took the software, and it had bugs, and it had issues, and so forth. And the children found their workarounds to these, to these issues almost immediately, and they just did them. They just the the fact that it crashed or, it didn't work as intended didn't slow them down in any way. And that was 1 of the first sort of eye opening experiences in this development. 1 of the times we realized how important it was at every step along the process to just get our software into children's hands and watch how they use it. That for all of our ideas about how things are gonna go, those don't necessarily apply. We have to see how the children are actually using the software to know where the issues are. And it turns out that that issue of crashing, that issue of of of software, reliability was was just nowhere near the level of concern that we thought it was. But now we get on to the actual 1 of the hardest problems in this whole challenge, which is how do you measure what it is you're doing? How do you measure effectiveness? I mean, isolating learning outcomes, measuring learning outcomes is 1 of the holy grails of educational research, period. How do you know the children are learning, and how do you know they're learning because of what you're doing? 1 of the things that's been, that's been very valuable for us is, is as part of participating in the in 1 of the other XPRIZE, the AI XPRIZE. Because the AI XPRIZE isn't focused on a particular problem, their focus is more on measurement. Whatever problem that you're dealing with, make sure that you can measure and experiment and and and show the results that you're trying to show. And so the AI Act rise, in a way for us, has been a means of accountability, has been forcing us to focus on measurement at every step along the way. So for us to measure the effectiveness, educationally and otherwise, of what it is we're doing, we've broken, our measurement process or experimentation process up into into short, medium, and and long term goals. Some of the short term things that we that we wanna be able to measure and and validate are things like engagement. We said our first step, we have to make sure children want to use the tablet before they're going to be get any learning outcomes out of it. And so measuring engagement is 1 of the first things the software ever did. The metrics that we need to determine how children are using the software, how long do they stay engaged in a session, how often do they come back, question like this, just mining of that data to determine their engagement level and improve on that. That was 1 of the very first things that we focused on. The next 1 is is is adaptation. We wanted to it's part of deliberate practice. You always wanna be able to to give things that are at the right level for the child. You wanna be able to push them forward a little bit and then hang back and let them, practice that skill and then push them forward and then hang back. And for that, we ended up building an agent based, AI framework for testing this stuff. We actually it's a very, very, very cool part of of of the software, and it's it's it's entirely on the back end, so nobody ever gets to see it, which is too bad. But we actually build, child models, model of a child. We generate random children. And what they are is they're these 3 axis decision making machines. The axis are aptitude, engagement, and stress. And so what happens is as these agents interact with the with the software, as they as these, agents play the the games that we've developed, their engagement levels may drop or rise. Their stress levels may increase or decrease, and their aptitude determines how well that they, how well that they perform the individual instructions. And the goal of this framework is to have these randomly generated child agents play through to completion, be able to finish a task to success before their engagement level drops too low or their stress level gets, gets too high. And so, by using this agent based framework, we can actually tune the adaptation, in the back end of the software. So so so we can actually be sure that our software is adapting to various, usage patterns, of the children. Now this isn't based on real children. This is, of course, based on a model. So the next level after that is to be able to correlate children's behavior with the software measurements. So I talked about engagement. I talked about stress.
Obviously, if we're gonna use those, as, as inputs into this process, we gotta be able to measure. So we need to be able to observe children. So the second level is is is to actually run observations in in in after school programs, in classrooms, and so on, where we observe children using the software with the sole purpose of determining when their engagement is changing. So are they becoming more or less engaged? And when we see stress coming to play, when are they getting frustrated, or when do they see their stress levels dropping and they start to get excited? And then we go back to the data, and we go back to the data, and we try to correlate things we see them see in the data to those increasing or decreasing, stress and engagement levels, so that we could find these these ways of measuring engagement, measuring stress in the software itself and be able to adapt to them, again, using that, that learning framework, using our digital personality framework. And then over the long term, that's the, you know, that's the really hard 1. We need to be able to demonstrate long term, learning outcomes. And so we need to be able to follow entire classrooms or entire cohorts of children, through this process where we test their literacy levels before and after with, with evaluations, like the, the, Diego and the Egma are 2, evaluation instruments for reading and and and math, respectively. So you test them before, you could work with the software for an extended period of time, and then you test them after. And you do this over enough groups with enough controls that you can start to isolate your learning outcomes. So it's it's very much a multi pronged approach, but it's very much an approach that we've taken from the very start. We need to be able to experiment. We need to be able to demonstrate results, and we need to be able to tie it back to something that we can, at every point of this process, measure, and refine.
[00:26:23] Unknown:
And how have the requirements and constraints of the XPRIZE structure influenced the way that you have approached the development and measurement and evolution of the work that you're doing both from the pedagogical and technical aspects?
[00:26:39] Unknown:
So when we we started narrowing down what our approach to to, to global learning was gonna be, to encouraging children to learn in this environment without schools, without teachers, with lower or no exposure to technology. We came up with 3 main things that we're gonna focus on. On the engagement side, story based learning. We wanted to motivate the the really deep question. Like, why why would a child ever want to learn to read? What's in it for them? And what we came up with was story. Reading is the is the thing that opens up this world of story to you, this incredible world of story. In, you know, in many cultures, story is passed down orally, but but the ability to read means you can you can take story away from that purely, person to person, experience and make it something that people can do at every, whenever they feel like it, whenever, they want to experience the the world of story. So story based learning, the idea that we would motivate this whole process of wanting to learn to read, of wanting to learn, period, using stories as that motivator was 1 of the key design components. This idea of social software that we want children to work together in groups, to help maintain that engagement, to build a social environment around learning, to learn together so that they can not only be learners themselves, but also, be able to teach each other as they go through the process. That was really key. The last 1 was the the coach aspect to it, the digital coach. So deliberate practice is all about offering feedback, the right feedback at the right time. And so we needed some piece of the software to be able to do that. This is something we end up settling on. We ended up calling Digital Personalities, and this is the this is actually the AI behind it, the machine learning behind this, which which balances things like engagement and curriculum. It it it alternates activities between stress and rest, between the user preference and the pedagogy. It's like what they want to do versus what they should do if they wanna get better at this. And because this was deployed to be deployed out there in the field without any, intervention, we needed essentially, this thing to be able to experiment itself. We didn't know what the best ways to teach these children would be. We didn't know what they would respond there to. Some children might respond to certain types of activities better than others. So we needed some kind of diversity. We needed some kind of, way that we can ensure that children were getting that that right level of activity. So in addition to the software trying to guess it, we actually settled on this idea of of personalities. We actually gave each of our, pieces of software its own distinct digital personality, its own distinct set of behaviors. So 2 tablets might act very differently when it came to our learning software. 1 of them might focus on a certain type of activity. It might prefer numbers based activities, or another 1 that was focused more on drawing. 1 tablet might prefer certain stories, might prefer stories about animals, whereas another 1 tended to present stories about people. And in this way, each tablet would start acting slightly differently. And the hope here was that children would see these differences, and they would naturally gravitate to the tablets that that most matched their learning level or their learning style or their the types of things that they were interested in. So children would actually self organize in a way around these tablets. They would decide, oh, that tablet over there is the only thing that I want. I'm gonna go learn on that 1. So this idea of digital personality, I think, wouldn't wouldn't have come about if it hadn't been for this completely unattended, unattended deployment of deployment out there in a village in in, rural Africa. So so those things really drove a lot of, a lot of our software design. Now the really interesting thing for us has been that we designed it for this environment, this global learning environment where it might be a a village without without schools, without teachers. We've actually seen a remarkable uptake on the software in traditional classrooms, within the classroom environment.
And a lot of these ideas this, coach was just adapting to, this digital personality, which is adapting to what the children are doing, or the social software, children working together in groups. This actually works very well in, within a classroom environment. These devices are getting used as literacy stations within, within kindergarten classrooms, for instance, because because they can children can work largely unattended, in a group together, and this this helps, this helps very much in a modern classroom environment. So even though these ideas were developed in a different context entirely, they're still very useful in, in in applications that, that we just didn't conceive of when we when we first sat down to do this. And what have been some of the most interesting or unexpected things that you have learned or encountered in the process
[00:30:38] Unknown:
of building this platform and engaging in the XPRIZE competition whether from a technical or social aspect?
[00:30:45] Unknown:
Well, again, 1 of the big lessons was was really that, don't sweat the, I mean, don't sweat the the bugs. Don't worry about, you know, software is buggy, and this will prevent children from using it. That's that's really not the case. As every parent, you know, or grown up in the world knows, children are way better technology than you are. They just are. It's far more natural to them. They're not afraid of exploring. They're not afraid of, of breaking it. They're not afraid, of trying new things. So the things which you might you might think are showstoppers really aren't. Over and over and over again, we've we've been taught this lesson. You have to experiment. You can't your assumptions are probably wrong. You have to put your software as you're developing in the hands of children and do it as soon as possible. There was 1 very there was 1, 1 time we forgot our own advice. We preach this message all the way through our development. It's like, we gotta try this. We gotta get this in the hands of children. But every once in a while, we'd forget, and we go back, and we develop a feature or something that we thought was necessary. And 1 of these was the development of our help system. When we first launched our software, it was a very simple help system. You just press you press an icon up in the corner, and you'll get a verbal message indicating what you should be doing in that point in time. We knew we wanted more than this, but but but how to deliver it had been the question. And so we we had an idea that what we wanted to do instead of of just a verbal prompt is to actually have an animated character. Kosuku, the name of the software, is is is, the word for parrot in Swahili. And so our our avatar, that you see throughout the software is this is this little parrot, and we wanted him to essentially fly down and show you how to use aspects of the user interface. So you'd press the button and Kasuk would fly from the corner and would show you, the button that you want to press, and, and it would this would be paired with this real message. And so we spent a couple of months to to implement this. And a couple of months that in that time was a significant amount of time. As as mentioned, we were on a fairly tight timeline. But help touched every aspect of the software, so we had to we had to make sure that this new help system worked with with every component. So it took a while. But after 2 months, we'd had built this new help system. It was very cool. It was it was it was dynamic. You see this little parrot show you the aspects of the user interface. And then we took it to a classroom, and it was a total disaster. It was a disaster from a social software front because we had children working in groups on these tablets. And when 1 of them would press this help button, up would pop this very modal help system where this parent would sort of pop up, take focus away from the activity, and show that particular child what they wanted to do. But unfortunately, that took every other child out of the experience. And we actually saw this dramatic disengagement from the software whenever any of these children hit the help button. Not for the 1 that hit it, but from the other ones that had been using the software. And we realized we needed a help system that didn't get in the way. We had to remove the the modality of it. So it had to be able to assist the the children, but not interfere with things which were already in progress. So we actually ended up taking that 2 month effort, and we had to throw it out. We threw it out completely and started again because it just interfered with that social aspect of the software. We hadn't tried it early enough in the software development cycle. So we went back and we came up with a new idea. New idea was just gonna be a little ghost hand that was just gonna carry, just gonna actually demonstrate what to do, but in a way that didn't interfere with anything else that was happening on the screen, so other children could continue to use the software. And we knocked out a prototype of that within a week and then got to a classroom and tried it out, and it was a remarkable difference. And so that was that was the message. The message that we had to keep coming back to throughout process is you've got to experiment. You just get your ideas in people's hands as soon as possible.
Iterate that way. Don't pretend that you know all the answers yourself because you probably don't. And are there any particular
[00:33:58] Unknown:
features or capabilities that you are looking forward to adding to future releases of your platform?
[00:34:04] Unknown:
Oh, absolutely. We have a lot of, we have a lot of really cool stuff, on the horizon. Right now, we're working on, for instance, a parental app, parental companion to to the software. And what it actually does, I think I've measured a couple of times. There's a behind the scenes, we have what's called the digital personality. What this is is a is a decision engine for the software. It decides which stories are gonna be available or which activities are gonna be presented next or what level the software is gonna be at, and so forth. And so behind the scenes, there's this decision engine, which is responsible for almost every decision in the software. A parental app is a is a kind of a parent's access to some of this decision engine. It lets them it lets them be involved in this in this learning process. 1 of the the great examples is 1 of the early pieces of feedback we got from parents was, oh, no. The kids like your software. They think it's great. They they use it all the time, but it's always a fight when we try and take it away from them. So we ended up introducing was this was this feature where the, the character, Kasuku, actually gets tired and says, nope. The this activity is done. I'm tired. And the activity shuts down. And we found out that when you shut it down that way, children don't get upset because it's not somebody telling them they have to stop. It's the software. The software has just stopped. It's like the similar to the experience of when a when a when a battery on your phone goes out, there's nothing you can do. You don't have to get upset. It just it just is. This was the same experience here. So the parental app opens up this kind of behavior to the parent. So they can say things like, oh, it's bedtime, but you get 2 stories, and they can actually set that on their their parent app. And then the software will be limited, on the child's tablet, completely separate device. It will be limited to just those 2 stories, and then it will shut itself down. So it's just chance for parents to to tweak some of those underlying decisions, based on their involvement in the child's learning process. We also have interactive stories coming. These are, interactive elements to the stories. This is a difficult 1 too because we focus a lot on engagement. Interactive stories often mean a story with a picture and you can press things in the picture and it will react. The problem with those types of environments is they often take a child out of the story.
They take them out of the learning process, and we didn't wanna be able to do that. But there are certainly cases where some aspect of interactivity, helps. And 1 of the cool ones we've been working with has been almost a choose your own adventure type of story, where the the story itself will actually change depending on, the child's actions. So it could be something very simple, like like a character in the choice in the story choosing, say, which half they're gonna wear, or it can actually change the ending of the story, which way you're gonna go, left or right. So interactive stories are certainly, gonna be a fun addition to the software. And then more languages more languages and cultures. I mean, we're based we're based in Canada. We're based in Ottawa. And, Canada is a is a bilingual country. In fact, all of the, kindergarten classes here in in Ottawa are actually bilingual, French and English. And so, the software was developed to be language and culture agnostic. We could actually bring new languages into the mix simply by changing the stories underneath the hood, and the software would all adapt automatically. So 1 of our 1 of our very near term goals is to bring Kasuku to these other languages, to bring bring in French components. We had worked previously with Swahili, was another language, but also, you know, other other languages of interest. Those could be, large scale languages like, like Spanish or or very targeted languages like, some of our northern or indigenous, community languages. So, so more languages and cultures are are 1 of the other, cool features we're gonna bring. And then I the last 1 is really the machine learning stuff. There's so much really cool stuff that we're that we're doing behind the scenes with with, artificial intelligence with machine learning. Digital personalities, we'd originally intended them for this deployment in villages where each tablet would would act uniquely and children would self select. But, you know, but in a Internet Internet connected world, the global Indian enterprise, specifically focused on no Internet connectivity. But pulling that back in an Internet connected world, we can actually take these ideas, these distinct digital personalities, and we can look at the tablets that are behaving in ways that children are responding well. And we can actually use that genetic diversity to improve the learning across the tablets. It's it's tablets are acting differently out there in the in the wild, and we can pick out sort of the best behaviors and deploy those to the children who aren't responding as well and see how they respond. So this idea of genetic diversity or or machine learning, on a on a wide scale is, is really, really cool and a really gonna be a really exciting part of what it is that we're doing. And beyond the context of the XPRIZE, do you have any plans for how you intend
[00:37:57] Unknown:
to enable the company to maintain viable once the competition has been completed?
[00:38:02] Unknown:
So we have been in the process since September. In September, the the the finalists for the Global Learning XPRIZE were announced. Now, regrettably, we weren't 1 of those finalists. We made it to the semifinal round of the Global Learning XPRIZE, but we made it that round of, of 11 semifinalists. And so since that time, we've been bringing our software to the mass market. Now the Global Learning X Prize was all about a particular tablet, the the Google Pixel c tablet. And so the software was actually taking over that tablet. And so since then, we've been focused on bringing this tablet to as many devices as we can. So now we've got we've got our, our beta in both the Apple and Google Store. So we've been able to, to retarget our software for just those general purpose mobile devices that are out there, phones and tablets and tablets and so forth. And we're, we're continuing to to grow our user base that way and and work with, work with classrooms, with teachers, work with after school programs, to make sure that this fits nicely into their, their learning curriculum and their, their learning plans. So so we're continuing to grow the software, and we're continuing to make it fit, both in the original context in terms of, in terms of, global education, but also in the context of education as a as a whole here in North America, Europe, and, and beyond.
[00:39:02] Unknown:
And aside from Kivi, what are some of the other Python technologies or toolkits that you're using to power the rest of the work that you're doing at the company? A lot of the back end, the machine learning, obviously,
[00:39:15] Unknown:
we, we use a lot of more traditional machine learning techniques. We're not too heavily focused on things like neural networks, at the moment, except except where they make sense. So we use a lot of things like Bayesian learning and so forth. So NumPy, SciPy, obviously, for, for those types of tasks. Jupyter Jupyter Notebooks. We would not be able to function were it not for Jupyter. Almost everything we do starts life in a Jupyter Notebook, eventually makes its way to our, to our software infrastructure there. For the actual deployed software, we don't rely too heavily on, on other, Python libraries because we are working on a mobile in a constrained environment. And so we have to be a little bit careful about, the types of the types of things we're throwing at it. So you don't wanna throw a full on NumPy or sci fi out in the field if you can help it because you're gonna drain that battery in no time flat. So but on the back end, we use especially the machine learning front, we use sort of all the the modern suite of of data science machine learning techniques. We have the whole sci fi infrastructure to, you know, Keras for things like, neural nets when we get around to doing that to, new frameworks. I was just taking a look at an active learning framework today,
[00:40:15] Unknown:
which has some potential for, for changing the way that we do the the machine learning on the back end. So, yeah, pretty much covers it. Alright. Well, for anybody who wants to get in touch with you and follow the work that you're doing both personally and the work that you're doing with learn, leap, fly, I'll have you add your preferred contact information to the show note. And with that, I'll move us to the picks. And for this week, I'm going to choose the Yamaha home theater in a box system that I got over the past few weeks. It's a surround sound system with the receiver, and it's reasonably priced. And I got it set up recently and has good feature set. I'm able to stream music and audio from my tablet through Bluetooth, has a lot of inputs and outputs, so it's a good system for good price. And, so if anybody's looking for that kind of audio setup, it's definitely worth a look. And so with that, I'll pass it to you. Do you have any picks for us this week, Shail?
[00:41:07] Unknown:
Absolutely. Now it it's gonna sound a little bit, kitschy when I start here, but, my pick for the thing that's kept me alive for the last couple of years, has been my Instant Pot. Now the reason it's gonna sound kitschy is because Instant Pot, we know the story of Christmas shopping for the last few years, but we need to add a little bit to that. Instant Pot, my Annaba Sous Vide setup, and the book Modernist Cooking at Home. This is the trifecta that will completely transform the type of food that you could that that you can make at home. That modernist cooking book, and the the the ways that that you can make use of your sous vide or your your pressure cooker setup. You can actually produce things which you had no idea that you'd be able to do at home. Just some of the best flavors, in the absolute world. So pick up a copy of Modernist Cooking at Home, which is this absolutely gorgeous book. It actually has, 2 versions of the book. 1, which is this incredibly pretty thing that you that you just wanna hang on the wall as a piece of art, And the other 1 is this, is this, waterproof bulletproof version of the recipes that you can actually carry into the kitchen and splash stuff all over. So, pick up a copy of that and then, pick up an Instant Pot and, and,
[00:42:09] Unknown:
and the sous vide, set up to go with it, and your cooking will be absolutely transformed. Alright. I'll definitely have to take a look at that. Well, I, appreciate you taking the time out of your day to join me and talk about your experience with the X prize competitions and the work that you're doing at learn leap fly. It's definitely very interesting and worthwhile endeavor. And I actually just recently signed up for the beta. So I'm looking forward to experimenting with that a bit with my kids. And so I appreciate your time and I hope you enjoy the rest of your day. Fantastic. Thanks, Dubai.
Introduction and Guest Introduction
Kjell Wooding's Background and Introduction to Python
Learn Leap Fly: Mission and Origins
The XPRIZE Foundation and Its Challenges
Choosing Kivy for Mobile Development
Pedagogical Techniques and Challenges
Measuring Effectiveness and Engagement
Impact of XPRIZE Requirements on Development
Lessons Learned and Unexpected Insights
Future Features and Capabilities
Post-XPRIZE Plans and Market Expansion
Python Technologies and Toolkits Used
Contact Information and Picks