Pages

Wednesday, March 20, 2019

Software Project: Language Program Management

My main role working with Wycliffe Bible Translators in Papua New Guinea is to manage the Gwahatike Bible Translation and Literacy program. This program involves four language groups and roughly 25-30 Papua New Guinean co-workers. As you can imagine, this part of my job keeps me quite busy. The field organization that we work with requires me to have a part-time role as well unrelated to my primary assignment. For me, this part-time role is as a software developer.

I often don't have the chance to tell about the projects I'm involved in with this part-time role since our presentations are mostly related to the Bible translation work. Occasionally I'm asked questions about this but am unsure of how much people really want to learn about the projects. This is the first of a series of blog posts to fill in some of that information for those interested to know this side of the work.

When I first began working as a language program manager back in 2013 I immediately recognized that there was too much information being thrown at me and I couldn't remember it and/or keep it all straight in my head. With six people communicating key information and making requests to me on a daily basis I needed to have somewhere to put all of that information. I started using spreadsheets. One for income and expenses in the program, one for personnel information, one for equipment tracking and one for workshops. Right away I realized I had to keep receipts for all of the expenses and so I devised a folder structure on my computer where I could store these and (hopefully) find them back when I needed them.

The system worked but it was cumbersome and prone to error. Pretty soon I came to that "there must be a better way" moment. Then I realized I'm a programmer :). I should write a program that brings all of those moving pieces into one place. And so the first version of LPM was started. I continued to grow the application as I discovered new helpful things that I could add.

Around 2016 it attracted some attention from other people working on language programs as well as from some other organizations. Unfortunately I had built the app in such a way that it was specifically useful for how the Gwahatike language program was organized and less useful for alternative ways of organizing the management work for a language project. Through discussions I realized that if I wanted to make this more broadly usable I had to start over. This was the first rewrite.

At this time, this version of the LPM app is being used by several other language programs in Papua New Guinea.

Recently there has been some requests for the LPM app from other branches/countries. Right away I realized that another rewrite was needed in order to allow for other countries to use LPM.

A new version is in production right now which I've renamed 2723. The name comes from Proverbs 27:23 "Know well the condition of your flocks, and give attention to your herds". This new app supports any culture in the world and also can handle any combination of currencies (and the conversion between them). Another significant change was to store all files/receipts/reports in Google Drive in order to keep the database size down to a manageable size. It also communicates with Google Contacts and Google Mail in order to provide other useful services from within the 2723 app. All of this will be hosted in the cloud so that anyone in the world will be able to use it if they have an internet connection.

This has been a focus project for me during this furlough. As you can imagine, building an app of this size and distribution is a challenge for one person to do on their own. If you are interested in helping with this project I would love to talk. Some of the types of help I'm recruiting for are:

  • Tester - once the first version of the 2723 app is available I need people to try to break it
  • Graphics Artist - the app requires icons and images to make it look nice
  • Website Dev - a simple static website is needed to tell basic information about 2723 and where to download it
  • Help Documentation/Videos - some form of quick start help and/or help documentation or videos are needed
  • .NET C# Developer - I could potentially provide some smaller self-contained projects for a single developer to work on part-time. The project is up on github.