 Thank you and morning everyone. I'm going to be speaking about, well, I'm speaking on conversing with people living in poverty. And before we really get into the talk, I want to kind of bring your attention to some of the words used in the title of the talk. So I really just want to highlight a few things because words are important. And especially if you're trying to do good, you really have to guard against sort of preconceived notions or slightly lazy thinking. Yeah, if you're trying to do good, you have to be careful not to kind of do bad. We also all come with sort of preconceived ideas and our own sort of cultural baggage. And it's really, there is a notice on us to own that and to accept it and work with it. I mean, it's only human. So conversing, this is really, if you're going to reach out to people living in poverty, did we just lose the mic? Maybe I just need to lean a bit closer. If you're going to be reaching out to people, you really want to make sure you're thinking of it as a conversation. This is not a one way we're educating people. It's not a one way we know what's right and we're telling poor people what to do. We're really learning from them as much as they're learning from us and it really needs to be a dialogue and we'll get to a bit more on that later. The next word I really want to highlight is people. It's very easy to become kind of obsessed with the differences between oneself and the people one is helping and those differences are important. But at the same time, there's, we sort of share a common humanity and it's important not to lose sight of that. I mean, these people that you're helping, they have lives, dreams, families, aspirations. And it's tempting to kind of think as sort of ourselves, as sort of middle class people who are already kind of reaching out as in some sense being better. I mean, certainly we have more money. Usually we're better educated, but I think it would be really a mistake to think of ourselves as better humans. And lastly, just the phrase living in poverty. I try to avoid speaking of people as poor, which makes it sound like being poor is some sort of innate condition. Living in poverty really highlights that poverty is a circumstance that people haven't defined themselves in rather than something that they are. Cool, so just a quick introduction to me and I work for a nonprofit called Precelt. We operate throughout Africa. We also have one employee in India and one in London. There are about 50 of us in total. I'm the lead engineer on Vumi, which is our messaging platform. There are currently three developers and recently we've hired one more, so there are now four. I haven't actually met him yet because his first day was on Monday and I was here. And yeah, so we're not a big team, but we're already trying to make a difference. So Vumi is a text messaging system just so that you kind of know what it is. So it's an engine for moving text messages around. I sometimes like to tell people that we write IRC bots to help people. And I think really we're kind of on the cusp of seeing chat bots become a really major thing. Instant messaging networks have already taken off. If you see someone using their phone, there's a good chance that they're chatting to people over text. And we haven't really seen kind of chat bots taking off yet. Yeah, so Vumi, it's a text messaging system. It's really designed to reach out to those living in poverty and really we're aiming to reach massive scale like whole countries with of people because we really want to have a big impact. I also like to think that kind of we're trying to build infrastructure. So a lot of nonprofits do cool projects but which are in the end kind of really small. And at some point if you're really going to transform society what you're doing has to become a kind of infrastructure. Our Python is our primary language that we write Lumion and we use Twisted for pretty much everything. So this is the UN definition of poverty. So poverty is a lack of basic capacity to participate effectively in society. And I really like this definition because rather than highlighting a lack of money it really highlights people's isolation. It's pretty hard for us today to imagine quite how disconnected people can be both from each other and from the society that they're meant to be a part of. We'll get to that a bit more in a minute. So this is Africa. This is where we do most of our work. The dots are places where we've done projects and where we have connectivity to mobile network operators. So places like Libya, Nigeria, Kenya, South Africa, where I'm from. So just some things about Africa. It's pretty big. It's 30 million square kilometers physically. That's roughly three times the size of Europe and three quarters of the size of Asia. There's a billion people. So about a third more than they are in Europe. Obviously they're a bit more spread out. But obviously a lot smaller than Asia, which is about four billion. And there's more than a thousand languages. So really if you want to work across Africa and I guess it's the same in Europe you really have to be kind of, you have to take care of localization and internationalization. And even just in South Africa we have 11 official languages. In practice we only have two languages of record. But in theory any citizen can ask the government to interact with them in their home language if it's one of the 11 official ones. So I'd like to kind of go back in time a bit to 1994 which wasn't all that long ago, 20 years. I was just finishing school. So I guess I was already an adult in many ways. In 1994 Nigeria had 100 million people but only 100,000 landlines. So if you think about that, that's one telephone per thousand people. And probably most of those telephones were owned by kind of richer people. So you can imagine just 20 years ago people living in rural Nigeria might never have made a phone call or probably never had made a phone call. And you can probably, if you try, imagine how isolating that is. And if you have, say, a service delivery problem say your water isn't working, who do you tell? You don't have a phone. You probably don't even know, even if you did have a phone you wouldn't necessarily know who to call. The nearest government official might be, say, 500 kilometers away. And it's not like there's great public transport to get you there. So when things are going wrong it's very hard to reach out and tell someone. And this is really, I mean it really drives home. It's the problem is more isolation than lack of money. And the problem goes the other way too. Imagine if you're an elected official in a country where your constituents have no way of getting hold of you and where collecting information is hard. Like how can you serve the people that you've been elected to serve if just finding out anything about them is hard. Yeah, and well, no surprise there was no internet access in Nigeria in 1994. In fact, even in South Africa it was, well, really pretty much unheard of. Let's, well, so one other thing. So 1994 was a very exciting year for one reason. The first mobile phone network launched in Africa. I should say that the most popular phone in 1994 weighed half a kilogram and cost about $2,000. So let's fast forward a bit some 18 years to 2012. So two years ago, suddenly there's 65% mobile penetration on average in Africa. So roughly 65% of people suddenly have a telephone which is quite an improvement from one in 1,000. In places like Uganda we see incredible statistics like there are more mobile phones in Uganda than light bulbs. And they really actually are getting good use out of their mobile phones. UNICEF Uganda ran quite a famous project called UReport which is, it is a citizen kind of sort of liquid democracy program where you can sign up as a member of UReport and you can submit feedback kind of directly to your government and they can ask you questions. And really what we're seeing now in Africa is a kind of mobile generation. So UNI might have laptops that we kind of carry around with us everywhere and that we run our lives on. And probably we also have a smartphone as a second device. The people, young people in Africa really are, their mobile phones are their laptops, they are their offices, they're how they socialize, they're how they do business. And by contrast to 1994, we're now seeing $20 phones which have internet access, they have SMS, they have USSD, they have instant messaging. Also just economically, Africa is growing. The continent's averaging 5% GDP growth which is pretty good going. The population of Africa is still very young, more than 50% of Africans are less than 20. So at that point, Precelt had been mostly a consulting company and the rise of kind of mobile phones was, well really we saw this as an opportunity to reach out to people. So we started doing small projects in the social space and one of the earliest of those was text alert. So text alert is really just a simple system to remind people of their clinic visits. So I'm sure you know about HIV, I'm not sure how many people know about tuberculosis, TB. Well, so typically in Africa, if you, well certainly in South Africa, if you die from HIV, what actually kills you is tuberculosis. And tuberculosis is a kind of a very bad chest infection is how it manifests. And tuberculosis is very curable, you need to take a course of antibiotics. But unfortunately for various reasons, people don't finish their antibiotic courses, forget to take follow up visits. Or if they've been treated with anti-retrovirals for HIV, they've kind of forget to go to the clinics for checkups and things. And text alert was just a system which sent people a reminder kind of a few days before their visits saying, hey, you have an appointment at the clinic, if you can't make it, just reply and let us know. And that dropped the number of people who were missing their clinic visits from about 35% to about 15%. So that was really a big success for us. And made us want to do more. However, it wasn't all plain sailing. And we learned a lot from projects like text alert. And one of the things that we learned was that if you're gonna be doing a lot of projects, it's important to have reusable software because otherwise you're rewriting things every time. And it's easy to accidentally make things not reusable. So with something like text alert, you need to integrate with a mobile network operator or an aggregator who connects you to the cell phone network. And they all have special interfaces which are unique snowflakes. And it's easy to accidentally tie your application to something which is really network specific. So they might give you a unique identifier and you start relying on that. And then you change to a different network operator who doesn't give you this identifier. And suddenly you have to re-architect your application. So we really wanted, we're struggling with reusability. The other issue was scaling. I'm sure those of you who've worked on small systems as they've grown have noticed this. You always get something wrong no matter how good your intentions are. And to really be able to kind of process things quickly you need to try. And if you get something wrong then you have to kind of go and rewrite something. And we didn't want to be kind of trying to scale every single project that we were involved with. And the last thing is tooling. If you write a quick prototype you usually leave out things which become really important later like monitoring, good error reporting, good failure handling. I should maybe say some things about failure. So one of the exciting things about operating in Africa is that failure conditions often aren't the exception. They're often the rule. So for example, we run some projects in Ethiopia. There's one ISP in Ethiopia and state owned. There's no competition. It occasionally goes down for a week and you can't connect to the country. So as you can imagine that makes designing systems to handle that, well designing systems to handle that is can be tricky. So in response to these challenges that we encountered during text alert we created Vumi. And Vumi is a messaging engine which attempts to provide a reusable framework to separate kind of the social applications that we're trying to build from the connectivity to mobile operators and to kind of give us the tooling and kind of production readiness that on all of our projects without having to rewrite it. Vumi is a Swahili word. It means something like distant roar or buzz or hum or roll of thunder. It's a kind of a distant noise. So architecturally this is kind of what Vumi looks like. If you look on the left you can see a cell phone. So you can imagine someone kind of holding a cell phone in their hand. If they send us an SMS that goes to a cell phone tower. Eventually that comes to one of our servers. You can see that labeled transport. So transport is what we refer to. It's a twisted process that sends and receives messages to a network operator or to an instant messaging service. The next column is another set of processes called which we call dispatchers. They're routers. They decide where messages go usually based on the telephone number they're being sent or received from. And then lastly on the right we have really the important part. The left-hand side is mostly plumbing. On the right we have applications. So these are ideas that these are reusable things that can be plugged into different transports and different dispatchers. Yeah. So the way that things are architecturally used and have horizontally scalable workers. So we write workers using twisted the asynchronous kind of event framework. And then if we need to handle more messages we fire up more processes. Yeah. And I really want to say thank you to all of the people who've worked on software like Twisted that we use and Python. Having the infrastructure to build things on really helps. All of our messaging between these horizontally scalable processes happens over a rabbit MQ which is a messaging bus. So it just sends messages backwards and forwards and workers can subscribe to receive messages which they process. If workers fail to process messages they go back onto the queue and get reprocessed later. For data storage we use React which is a distributed key value store. We chose React rather than Postgres because really we do want to reach a massive scale. So at the moment we have kind of say as I said earlier about I think about seven well we have about seven million people who we've interacted with so far and Postgres would probably still have been fine for that. But we really would like to be able to reach the point where as I said we can speak to billions of people. We maintain Reakasaurus which is the Twisted React client. It's pretty much a direct port of Bashos React client. So if anyone wants something fun to work on we'd really appreciate some help maintaining that. So some of the things that we built with Vumi in Kenya we did a project called Ceasing Your Money which was an attempt to curb election violence in Kenya. So in Kenya in not the most recent election but election before there was a lot of violence in townships and there was the impression that this violence was triggered by, well that mobile phones were enabling this violence. So what would happen was someone's house would get burnt down. A few local people would decide that it was say the members of another political party's fault and then they would estimate all that they would be angry obviously someone's house had just been burnt down. I think we'd all be angry. And so then they would SMS their friends and say it was these people's fault. And then more people would be angry and violence would break out. So Ceasing Your Money was an attempt to counteract this by introducing sort of peace officers also with mobile phones. And the job of these peace officers would be that if they received such a message or they had the impression that violence was flaring up they would describe the situation to people at the NGO's head office who would then attempt to carefully craft some sort of response which would also then be disseminated by SMS through the kind of peace officer process well via the peace officers. So as you can imagine you need to respond quickly. I mean you're talking about kind of violence breaking out on a time scale of hours. And ideally you want people to kind of calm down and think a bit about things more on the scale of minutes. So Ceasing Your Money was a system we built to allow kind of that feedback to reach the NGO and for messages to be sent back out again afterwards. And the last Kenyan election had less violence. It's a bit difficult to have a control to measure against but we also do we're part of the Wikipedia Zero project so Wikipedia Zero is zero rated well the main Wikipedia Zero project is zero rated access so that's free access to Wikipedia over internet on mobile phones. We do Wikipedia text which is accessing Wikipedia over SMS and instant messaging and that's to just kind of make things well lower the barrier to entry given further. So speaking of lowering barriers to entry after we had created Vumi there were still some problems and the biggest problem really was just that there were too many projects and setting up and we really hoped initially that Vumi would be a tool that other non-profits could use but it turns out that there are difficulties. So one connecting to network operators is expensive running Amazon EC2 instances is expensive and really just we don't have enough people to solve all of the world problems ourselves. Not a surprise I guess. So this led us to make Vumi Go which is a hosted instance of Vumi and the idea is that by providing Vumi Go we can provide a way for people to help themselves. So we run Amazon EC2 instances we deal with connecting to the network operators and we provide people with a hosted service where they can come along and build their own applications to fulfill their own needs and usually they know better than we do what those needs are. So for example, Vumi Go has a simple survey builder which we call a dialogue application again to remind people that you're not asking a bunch of questions and getting some anonymous feedback. This really we want people to really think about this as a dialogue between themselves and the people that are kind of speaking to them over their mobile phones. And then we also wrote a JavaScript sandbox so that a lot of young Africans can code or very excited about coding are technically savvy and we really wanted to provide a way for an excited young African who's one of the many African innovation hubs to be able to come to Vumi Go, write their application in JavaScript and run it. I'm sorry it's JavaScript, but that's what most people know. I'm hoping to build a Python one when I get a moment. So we're kind of reaching the end of time but just a quick kind of where we are now. So Vumi Go has now interacted in the last year with a total of 7 million people up from 1 million at the start of the year. So it's seven times as many people as we had before in the last six months, which is good. We've sent and received 14 million messages and that's up from 12 million previously. We also registered voters in Libya. We registered 16% of the Libyan population with SMS and USSD to vote. Yeah, so that's 16% of the total population, which I was really proud that we could be involved with that. In South Africa, we ran election monitoring. We, yeah, what is interesting about the South African election monitoring campaign is that we really, it was the first time we were really running a big project over lots and lots of different channels of interaction, so that used SMS, USSD, Twitter and Mixit. For those of you who don't know what Mixit is, it's a big instant messaging network in Southern Africa. I think it has about 50 million users. In Nigeria, we ran an agricultural awareness campaign just making people aware of the importance of agriculture. There people could download a ringtone from a famous Nigerian musician and that reached out to 1 million people. So what next? We're adding lots of APIs. Again, lowering barriers to entry, making the system easier for people to use. Things like, obviously the technology space isn't static, so things are constantly changing. We're really moving to, well, we're seeing instant messaging move to multimedia messaging and if you're using WhatsApp, you can send photos and videos, send voice recordings. We're also actually moving into voice itself. There are many illiterate people in Africa and if you're going to reach out to them, you need to do so by voice. And lastly, we're trying to get better dashboarding and analysis so that we can be sure we're actually having the impact we intended to. We have some bigger plans which we really like help with. We'd like to build the African Content Retribution Network because there currently isn't one and 350 millisecond minimum latency sucks. Next, we'd really like to build federated instant messaging protocols. So think WhatsApp, but structured like email so that we aren't all tied into a single provider. Yeah, and just in closing, something that Constance said during her keynote, which really, she was speaking about it in a security context, but I think it applies equally to the kind of social space. Really show that we care, don't accept that things have to be the way they are and work to change them. Thank you.