Saturday 3 March 2012

Android App - Keyword Touch

Almost a year ago I blogged about App Inventor and Kodu, with the intention of doing something useful with them soon after. I found it frustrating that you have to buy an application for the Xbox to make Kodu apps work for real, whereas App Inventor apps can be deployed very easily, even without creating a developer account with Google and putting them on the Android Market. (Thanks to Hossein Amerkashi and "App to Market" the process of making a Market app from an AI app is dead easy. I haven't published to the market but his application makes it easy to add install to SD and other features). It took a while, and was held up somewhat by the transition of ownership from Google to MIT, but I've finally completed a genuinely useful app.

Keyword Touch was born because my son (in reception at primary school) had a whole series of sets of "tricky" words to learn. Whatever your view of learning words out of context, it was something he had to do so I wanted to help. He had begun pinching my phone (and my wife's) so we'd put a simple child lock app on them, but there wasn't really anything educational about what that allowed him to do.

I decided I'd take advantage of App Inventor, my son's interest in phones and his need to learn these words, and Keyword Touch was the result. Essentially, the phone speaks a word and you have to press the right one. It keeps score and moves a little Android across the screen depending on how you're doing.

I've had to learn various new components, such as Canvas, Notifier, TinyDB and TextToSpeech, which has been fun. It has flaws, for example the text to speech engine struggles with some short words (like "he"). I have a few ideas about how to extend it, such as allowing people to create their own sets, providing a chart (using Google's chart API) of the scores, and even sending the scores to a central location for the teacher to track. (Maybe the last is a bit Big Brother). The main obstacle has been understanding the way TinyDB works - I'm used to SQL and kept wanting to see it like a "normal" database; it isn't. I can see lots of useful ways to analyse what he does (which ones does he get wrong the most, for example) but querying TinyDB is such a pain I'm putting that off for now.

If you'd like to try the app it's free to download from here. You have to set your phone up to accept applications from unknown sources (go to Settings - Applications - Unknown Sources and tick the box). All comments are welcome!

EDIT: I've now put together another little app that randomly spits out a word from any of the sets you choose. This can be useful if you're playing a game where the child has to find the right word or - even better - if you lay out the words on the floor you can play a version of Twister. In order to make this work the app also shows a random limb whenever you spin! Get it here.

No comments:

Post a Comment