Air Bulgarian - Language Learning Game and How I Built It
Air Bulgarian - Language Learning Game and How I Built It
здрасти! Hi there!
The world is getting smaller. Ten years ago, I didn’t even know that Bulgaria was a country. Today, I’ve been there three times, dozens of my friends and acquaintances are Bulgarian, and I’ve had one wrapped around my finger the last five years (or me around her’s). Luckily, she speaks English, but when I go to visit her family in Bulgaria, I really have a hard time communicating the right Bulgarian vocab for the right situation.
It doesn’t end with Bulgaria though. I’ve also been to Mexico, Spain, France, Turkey, Texas (it counts as a country), and Germany in the last couple of years. In Spain, thankfully I learned enough Spanish in my teenage years to get around. In French, I know: prendre un café avec moi. In Turkish, indirim! In Texan, goddamn somna bitch.
I needed something to help spruce up my vocabulary and remind me of all the lessons that I previously learned but have forgotten, so I built an iOS app to do just that, and I’d like to share it with you all. It’s called Air Bulgarian. It focuses just on Bulgarian at the moment, but it’s built to support anything.
Like all things I do, even if it’s just a hobby, I wanted to do it well. I never launched a language learning app before, but I wanted to do it right. Here’s what I did:
Check out the competition. First thing I did was look at the market, eyed the competition, and found what worked for them. I downloaded about 20 apps and went through them all. Bulgarian was not well represented on the market so I felt like there was something there. I wrote down the list of features I wanted in my app, and thought about ways that I could execute and make it better for users. Finally, I added unique features of my own that would fit well with the idea I had formulated.
Understand the current trends. As one might’ve predicted, games are the top apps in the iOS app store. More specifically, free-to-play games. So I thought about ways to make learning the language to be more like a game, complete with earned points, countdown timers, and rewarded stars. If anything, it’ll make learning the language more interesting, and, I daresay, fun.
Find professional help: A few friends of mine are trilingual, quad-lingual, or even sept-lingual. They know how to learn a language, where the tricks are, and how to retain. It’s important to get it straight from the source what works for them, and what’s myth.
Focus on one language at a time: Although the code can support multiple languages, and adding a new language is as simple as uploading a strings file to my Parse server, I wanted to make sure I didn’t spread myself too thin. Bulgarian would be considered my MVP.
Simplify the feature set: I set out to build Duolingo when I wrote down all the features I wanted, but as I started estimating time and resources, I settled on a nice trim feature set that I can easily build upon while gathering user feedback.
Focus on quality where it matters: When users want to learn a language, they are mostly interested in hearing a native speaker, seeing the vocabulary written down, and learning essential words first. That’s why I brought in my resident native Bulgarian speaker and had her record all the audio and pick the vocab relevant to Bulgaria.
Make it pretty: Reddit’s /r/gamedev and /r/indiegames led me to Kahlief Steele, a talented artist who excels at making hand drawn images. I was only too happy to pay for his services. Thanks, Reddit!
Add some musical polish: I wanted a nice soothing yet adventurous feel to the background music. Mr Michael Taylor’s Venture seemed perfect for the job.
To monetize or not to monetize: Eventually it would be neat to make some money from all this effort. The app itself is free, but I’ve hooked up in-app purchases and iAd (built in such a way that with a flick of a switch, they will turn on). However, I don’t think I’ll turn on either of the two until I have more information about my users, and how they act, which leads me to:
Flurry is phenomenal for analytics, like funnel tracking, event tracking, session length. I use Flurry to see which vocabulary lessons people buy, how many times they play the same lesson, how many times they mess up, particular words people can’t seem to figure out, and countless other little details. My only complaint with Flurry is that event tracking is a pain in the ass to visualize unless I export the data and ack around. This is also my first solo app in a couple years, and I wanted to try out different things to see what works best, so I added a couple redundant frameworks, like Leanplum and Parse. Integration time: 15 minutes.
Leanplum is relatively new on the scene, and I happened to be lucky enough to be in their private beta. They do the same thing Flurry does with analytics, except they provide a LOT more. They also do a/b experiments, so if I want to check to see how users will react to me turning on iAd vs how users who don’t have iAd enabled, Leanplum is there for me. They can also replace your server side backend, like Parse, but it’s not as query oriented. Integration time: 10 minutes.
Parse: Users of Air Bulgarian can see a list of lessons to learn, click on those lessons to download them, and all of it is real time. If I add a new lesson, or update my localizable strings file, or replace a mumbled piece of audio with a clearer piece, the users of Air Bulgarian get all of that reflected on their phone the moment I push the changes to Parse. Gone are the days I need to spin up an AWS instance and write an API that handles one query in order to serve up static content like audio, images and string files. Parse does all this for me. Integration time: 10 minutes.
GameCenter: I’m sure you’re all aware of GameCenter by now. I wanted to put some spice into the language game, to where users can earn achievements and compete with their friends if they are learning the same language.
Cocos2d is a lightweight iOS framework for games. Handles OpenGL best practices for you. It’s also free and it has a fantastic community behind it.
Best of all, Air Bulgarian is useful to me. I love playing it on the bus or while I’m having my morning coffee. I hope you will too. Download it free on the app store if you’d like to check it out.
Благодаря много! чао!Sharing is caring -
comments powered by Disqus