For the past couple of weeks I have been developing a mobile app for Livru Timor in association with Rhok Australia.

The basic problem that we are trying to solve is translating some childrens books into a bunch of different languages. Sounds simple right? Well the main issue is that we don’t really know what these languages are! We don’t know what a lot of their words are, and we don’t really know where they are spoken. In 2015.

So why don’t we have a simple android app where you can go to a local village and ask a bunch of people what their words are for things? We could even record them saying their words. Then we could collate the data and send it back to a server in Melbourne and figure it all out… and translate a bunch of these childrens books to their native languages and the kids will have a much higher chance of learning how to read and write! Cool huh?

Oh and BTW, the android phones that they have in Timor Leste are basic. Very basic. Most of them don’t even have data. You need to be able to store all of that information offline, and then at some stage be able to upload it to a server once we’ve on a (somewhat) more reliable wifi network :)

So here’s the prototype that I’ve been working on. When the app starts up you are taken to the home screen:

language recorder screenshot mobile app

Adding a person looks like this:

add new person

Once you’ve done that, you can start asking them “So what do you call this?”


And then you can upload your data:

data uploader mobile app

The data is uploaded to a server where it can be analysed by the linguistic geeks. Pretty cool huh!

The android app is written in Java - the code is public and available on github. It uses the phone’s microphone to record audio, an SQLite database to store all of the data, and uses HTTP POST’s to send the data (JSON) to the server.

I’ve been using Android Studio to develop the app, and let me say, I’m impressed. The Android documentation is superb, with mountains of tutorials and sample code. It’s really, really good. I hadn’t written an android app before and I’ve got something super useful up and running very quickly. True, the emulator is pretty slow, but hey, you can’t have everything.

In a few weeks time we plan to trial it out on the ground, so stay tuned :)

Update - the application has had a reskin. It looks great now! Thank goodness for designers :)