Making Software for the Developing World 

I went to South Africa and made the lives of some teachers easier


I am young and want adventure. The logical conclusion to that desire was to go abroad to University of Cape Town in Cape Town, South Africa during my fall semester. One the particular reasons why I chose to go to South Africa, instead of an European country was that I wanted to see what development in action looked like — most European countries felt too structured for me. I had grown up in a sheltered environment and this did not change much when I went to a school like Penn. Fortunately, I had a good view of development in action when I decided to volunteer at Ned Doman High School during my time in Cape Town.

The unassuming Ned Doman High School. My high school never had a barbed wire perimeter. From http://www.khanya.co.za/.

The high school

Before going into what I did at Ned Doman, I want to provide a bit of background about the school. I initially was sold on this particular opportunity when the principal came to the study abroad students and pitched us.

He started out with the statement “I only want crazy people to come”.

It was then I knew that he was the guy I wanted to give my time to. Plus for a fifty-year old man, he was the type of guy I could go up to and tell him that he was a badass and simply laugh off the comment. The school he ran, Ned Doman, was a school unlike anything I had ever seen. In contrast to my comfortable middle class high school in the Canadian suburbs, Ned Doman was situated in a predominantly coloured — this referring to a distinct South African ethnic group comprised mainly of people of mixed European and Khoisan ancestry — suburb of Cape Town. It also drew a significant portion of its students from neighboring townships, places of often crippling poverty, such as Khayelitsha. Whereas the worst that ever happened in my high school was a fight in which one guy punched another guy in the face, at Ned Doman students had committed everything from vandalism and destruction of school property to the murder of another pupil by stabbing with scissors. Of course, all this led to a worse academic environment as well. For the incoming grade 9's at the school, only one percent passed the mathematics portion of the national exam.

So what could I do to help such a school? As much as I believe in the motto of “thinking big” held by a lot of my entrepreneur role models, I also knew that I had to think reasonably about what sort of impact I could make in the short span of a few months. Most of the problems at the school resulted from the socioeconomic factors of the students home life that I could not hope to change. The original idea for the application actually came from my roommate Justin who thought that the school needed a better way to keep track of offences. At first, I thought the scope of the problem was too narrow and it would not warrant an application of its own. After all, every reasonable high school must have had a system already in place for doing exactly that. However, after some customer development, that is just going to the principal and asking if they had such a problem, I found out that their current system, which was given to them by the South Africa federal government, wasso dysfunctional that the teachers had to resort to a paper solution to keep track of all student infractions. However, papers did not work so well, for they would get lost easily and provided no centralization of information

Teachers tracked offences mainly for parent-teacher meetings in which teachers had to present a record of what the student had done wrong in order to work towards a remedy with the parents. So I set out to build a simple application to remedy this problem.

The solution

The solution seemed simple enough: I wanted to create a database of students that allowed teachers to go in and add offences to the students’ profiles. After initial talks with some staff members about how they were going to use such a product, I found out that many of them were afraid that the technology would become too complicated to use for them. This was warranted given how un-user friendly their current school software was. To me, this meant that I was not so much necessarily solving a problem in a new way as much as presenting an old solution in a much easier to use format. Other things I kept in mind was making sure that it was easy to update the list of students even after I was gone through an import function and making sure that the software did not require much maintenance to run.

I knew that I had make an application that was dead-simple and required very minimal computer experience to use.

What I ended up creating was an online Rails application that had all the students in a database and allowed teachers to login and add offences to the student’s profile. One of the things I am most proud of in the application is how intuitive it is to add an offence to a students profile. At the high school, there were four tiers of offences and each offence had different recommended punishments. I mirrored this system in online format using Coffeescript and jQuery by allowing teachers to select which tier of offence it was, then showing which offences are in the tier, and, finally selecting an offence, fading in a list of recommended punishments associated with the offence. Any teacher could go to a students profile, see what offences had already been committed by a student, what consequences was dealt out, and who wrote the student up. This allowed teachers to effectively use this record when meeting with parents during student-parent meetings to justify punishments.

Two other features I added in after getting feedback from teachers more was the ability to add praises to students’ profiles as well and also a feed page, in which teachers could see which students were committing what offences and what praises were being given out in the school. The praises page allowed teachers to get a more balanced view of students, and the feed page allowed teachers to centralize their information as to what infractions were being committed in the school and what was being done about it.

A view that hopefully every teacher could navigate.
The adding offences and choosing punishments part of the process

It took a little more than a week to get the first version up. When I showed the first iteration of the product to the principal, Mr. Philander, he looked at me like I had worked magic. I had similar reactions from the staff, when I demonstrated how to use the system at the teachers’ meeting. It is interesting to think that if I had built the same thing for my high school, the teachers would have been impressed, but not so much amazed. We are so inundated with applications that we just take it for granted how smooth they are.

So what did I learn?

Studies show that people in the developing world find their lives more meaningful. Maybe this is so, because while we, in North America, might have more things than the rest of the world do, they savor each thing they have more. Making software for the developing world turned out to follow the same customer development process as it did in America, but it meant more to me. Even though it was not necessarily the most complex thing I had ever worked on, it was great to see that I could make a noticeable difference in the teachers’ lives with it. With my other applications, they might have taken up minutes of the user’s time and — as much as I like to think it was absolutely necessary in their lives — probably not that life changing. But in the case of Ned Doman, it actually did make a difference in the teachers’ lives. Even though everything was done on a pro bono basis, it was quite enjoyable to switch from making software for consumers and businesses in the first world and try something simpler.