An introduction to Android Programming in Ghana

This summer, I visited the Kwame Nkrumah University of Science and Technology (KNUST) in Kumasi, Ghana, as a part of a technical assistance project conducted by the Aarhus School of Engineering and Engineers without Borders.

My good friend Thomas asked in a post in one of our groups on Facebook if anyone had some experience with Android and wanted to go to Ghana to teach
Ghanaians how to make awesome apps. Not really thinking about the consequences, I agreed to go to an introduction meeting, and before I knew it, I found myself in an Airbus A330 bound for Accra, the capital of Ghana.

Preparation
Before being able to teach something to someone, you need to know what you want them to learn. I personally think that this was the toughest task I had to deal with during the project. First, Android has so many features and facets, and the workshop only lasted five days. Second, we had no idea of the skill level of the participants. Some of the questions that popped into mind were: Do they have any previous experience with mobile development? Do they know how to programme Java? Is there internet access at the university?

We will get back with answers to those questions later.

I like to think that we at Redia strive to make more than “just” mobile apps. We work as mediators, conveying complex information so that the majority of users can understand and navigate it easily, and that was exactly what I wanted to teach the participants: Do not make apps just because you can, make apps that matter!

The first days
We arrived at the Treasure Land Hotel, located about an hour’s drive from Kumasi Airport. I guess you could say that it was a good hotel, at least if you compare it to what the others were saying about some of the Asian hotels they’d stayed in. I found it a bit overwhelming to share a room with cockroaches and other unidentified bugs, though; so much so that I was looking forward to getting home after only three days. But in the end, looking back, it was not that bad.We stayed within walking distance of the university campus, so getting around was easy. I was very excited, and maybe a little bit scared, when I took the floor to do the workshop introduction, but after the first hour, everything went smoothly and according to plan. What I found especially exciting was that even with the huge cultural differences, we immediately connected with the participants as they were doing the exercises. Another thing I found quite peculiar was the “professional distance” between us and the participants; I have never been called “prof” and “sir” so often.

After some long nights in front of the computer, I ended up with a workshop schedule that looked like this:

• Monday: Installation of development tools, introduction to development tools and Android basics
• Tuesday: Data storage and content providers
• Wednesday: Networking and bitmaps
• Thursday: Graphics and sensors
• Friday: “Make your own app using what you have learned” day

The plan was to lecture for 30 to 60 minutes at a time, and then hand out exercises, giving the participants a chance to try out what the lecture covered.

We figured that, depending on the skill level, the above would be sufficient for the length of the workshop, but we still had our concerns. What would we do if everything we had planned was completed half way through the workshop?

Luckily, we had prepared just enough, but we ended up changing the plan a little so it included view animation instead of sensors.

Creating something awesome
We finished the curriculum late Thursday afternoon, and it seemed the encouragement I gave the first day to come up with a project of their own had inspired them to come up with what I think were some pretty awesome ideas.

Automatic prepaid phone card application
One of the participants had this great idea that could simplify the process of topping off one’s mobile phone with prepaid phone cards in all of West Africa. Let me try to explain it: There are four major mobile network operators (MNOs) in West Africa: Tigo, Airtel, Vodaphone and MTN. Each of these may or may not provide services in a given West African country, but if they provide services, an identification number is used to identify the MNO, and depending on which country you are in, the identification number will be different, even for the same MNO.

Furthermore, each MNO has a set of unique codes the customer needs to punch in to perform tasks: Recharge credit, transfer credit from customer to customer, listen to voice mail, etc. Just as the MNO deification number varies from country to country, so do these codes.

I hope that you can imagining the pain it must be to keep track of all these different numbers, so the participant’s idea was to hook into the telephony API on Android (http://developer.android.com/reference/android/telephony/package-summary.html) and everything is available to the user by the click of an app. Not stopping there, he also wanted to include optical character recognition (OCR) so the user did not have to type in the scratch-off codes manually, eliminating the possibility for getting it wrong and having to start over again.

Mobile banking
Another participant approached me saying he was very interested in the part of the workshop that had to do with accessing data over the internet. He went on to tell me that he wanted to make an app that could download all your banking information. Sadly, I had to disappoint him by telling him that banks do not normally publish that kind of data through public web services.

Conclusion
Sitting at home two months after the trip, I can say that I am happy that I seized the opportunity to go, even though it did involve some late nights in front of the laptop and a lot of logistics.

I had never been to Africa or any place like it before, so I was a little bit shocked by the living standards; however, I have now come to peace with it since most of the people we met seemed to be genuinely happy. I have never met friendlier and more open-minded people than the people of Ghana. Everywhere we went, people wanted to help us: carry our bags, clean our rooms, make sure that the food was good, almost to the point where it made us uncomfortable. Although not everything was always satisfactory, I learned to appreciate that someone had done their best to make me feel at home.

Our coordinator from the Arhus School of Engineering, Carl Jakobsen, told us that we should not expect to change anything, and after the first day at KNUST, it was very clear that our presence would not have a significant impact. I like to think that we came, if not with something new, then a new way to approach mobile application development. We did not come with new and exciting technology, everything we taught can be found on the web, but we came with a toolbox so they could build whatever they came up with, and I like to think that we also inspired them to look at mobile development differently.

comments powered by Disqus