BitLang: My First iOS App

You may have read how I recently learned to develop in Swift for iOS. Well, here’s a link to the app (BitLang) I set out to build during that learning process; now available on the iTunes AppStore.

appstore-button

More About the Inspiration and Background for Why I Chose to Build BitLang:

Duolingo_logoWhile on our “year long trip around the world” I found myself going back and forth between Duolingo (a language learning app) and Google Translate (a phrase translation app). While I love both products, they had a few shortfallings when it came to a couple of specific needs I had.

First, I wanted to learn from a pre-organized set of phrases that pertained to my immediate needs. I would then want to build upon that set of phrases with custom phrases of my choice.

Although I enjoy the general Duolingo-made learning process, it is built with a long-term lesson plan in mind. I am required to learn phrases like “Your horse ate my apples” to get familiar with the grammar of a language. What I want, however, is to learn phrases I can use for my one week tour through France. For example, due to travel plans this weekend I may just want to prepare myself to say, “May I have a local beer on tap?”, “Check please”, or “Two more red wines.”

unnamedOf course, I can accomplish my phrase-by-phrase translation needs using  Google Translate, but it doesn’t do a great job organizing the translations by category or language. Also, it isn’t built to help me practice the phrases once I’ve looked them up.

I was frustrated by those gaps left between my favorite products. So, I posted feature requests to both product’s sites and got a “[not in our roadmap]” answer. (Which I completely understand and respect.) At first I was disappointed, but then I realized, “Hey, wait a sec, I know how to build things. Maybe I should just create a solution myself.” And so, BitLang was born.

The app is still a work in progress and is growing from its humble MVP beginnings. Here are the designs I mocked up for the first few iterations. Currently it just looks up phrases and allows the users to bookmark them into a single folder. It currently only translates for three languages: French, Spanish and German.

In the next few versions users will be able to login, view pre-made translation packages, and bookmark those packages. Beyond that I will start digging into deeper learning based workflows (quizzes and tests) as well as some community based features.

BitLangv4_ai___14_31___RGB_Preview_

You can read more about the iterations I took in fleshing out the BitLang concept below.

Phase I

At first, I focused heavily on the learning part of the concept. Trying to simplify the lessons into premade (but pertinent) Q&A with very simple phrases. Users would translate a phrase one word at a time.

Screen Shot 2015-09-10 at 6.11.04 AM Screen Shot 2015-09-10 at 6.10.53 AM Screen Shot 2015-09-10 at 6.10.44 AM Screen Shot 2015-09-10 at 6.10.35 AM

Phase II

Phase I became very complex, and the questions ended up getting pretty redundant. Also, I was missing the whole aspect of being able to generate a list of phrases that interest the user the most. For it all to work, the system would have to be made up of a custom lesson, not UGC. So for the next iteration I focused more on the “looking up of phrases” side of things. To make things even more challenging decided to build it while learning Polymer 1.0.

 Screen Shot 2015-09-10 at 6.46.33 AM Screen Shot 2015-09-10 at 6.46.21 AM Screen Shot 2015-09-10 at 6.46.01 AM Screen Shot 2015-09-10 at 6.46.10 AM

It was starting to come together, but as I mentioned in my key learnings for iOS development, I was forcing a web app model in what was obviously better suited for a native app.  My lack of skills to develop in iOS has annoyed me for years so I figured it was time to make the move. That is when the BitLang app became to be.

 

Updates/Feedback

  1. Is really looking for a tool that provides gender along with translations. e.g. spanish: Cup -> Taza … should be … La Taza
  2. Is looking forward to the helpful learning side. One users suggests getting notifications for any words looked up. The interesting thing he asked here is: why should I organize things – If i’m looking it up I want to learn it so assume it.
  3. Big win: Tons of people find the same holes in language learning tools. I’m not the only one. People urn for crash course mixed with lookup.