Parley meets Android in Cairo

April 29th, 2009  |  Published in Code

I’m exactly three months into my Arabic studies in Cairo, where I’ve been taking time off university studies and Amarok development. I’ve realized that acquiring a large vocabulary as fast as you can manage is a crucial part of studying a language intensively, and thanks to the awesome KDE-Edu folks I’ve been successfully barely keeping up with the hundreds of new words I’m assigned per week with Parley.

The major problem I have with Parley is that I have to be in front of my computer to use it!

I know you’re laughing. That’s like saying a major fault of beer is that you have to drink it to get drunk, after all Parley is a computer program.
You’re right, just because I hardly find the time to actually use the computer doesn’t mean I should lay the blame on Parley. Technically, I should blame the denizens of Cairo and their insane traffic. Seriously, too many of my life’s hours are wasted in the smelly, stuffy, taxis of Cairo (today was particularly bad, pardon the rant).

This past weekend I ignored the towering pile of homework and whipped up a little application for Android devices that groks Parley’s kvtml2 file format, displays lessons, and provides flashcard exercises. My app is really an Android Port of the J2ME mobile application MobVoc. Michael, the MobVoc developer, did most of the hard work for me: parsing kvtml2 files into java data structures. Mad props to Michael; I definitely plan to pass along any contribute any bug fixes/optimizations I make to his code (such as sub-lessons support).

The application – unimaginatively dubbed ParleyDroid for now – is extremely bare-bones. Here is the current feature set

  • Pick a kvtml2 file from the SD card
  • Choose 1 or more lessons to practice
  • View flashcards of the words in the selected lessons.
  • Gesture support in the flashcards: Long Press marks card as known, Fling Left/Right changes to Next/Prev card.
  • Each practice session has a short-term memory: i.e., if you mark a card as known you won’t see it again that session but if you restart the session you will.
  • Arabic Support – if the 2nd language is Arabic, it will be rendered correctly on screen

The last feature is probably the most noteworthy. Android, by default does not support RTL or non-Latin scripts, but with a little Android-trickery-that-deserves-another-blog-post I’m finally able to practice my vocabulary in the back of the taxi or while walking along the Nile.

Binary and Source:
ParleyDroid Source
ParleyDroid Android Binary

Obligatory Screenshots (click for full view):
ParleyDroid Pick File ScreenParleyDroid Lessons Screen
ParleyDroid First Word ScreenParleyDroid Second Word Screen w/ Arabic

The Vodafone G1

January 30th, 2009  |  Published in Technology

I’m writing this post from my G1 (thanks to the PostBot wordpress application) in Cairo, Egypt using Vodafone Egypt’s 3G service.

Before coming over I was told (by T-mobile) that my phone absolutely would not work, because the G1 only works with the “google network” that T-Mobile has exclusive access to. Without this “google network”, I was told, my phone wouldn’t turn on and was essentially a paper weight (exact words). Yeah right.

I convinced the customer service representative to give me my unlock code (which you are entitled to after 90 days of service), and told her I didn’t want the outrageous international plan (15$/megabyte). Note: it takes 1 or 2 days for the unlock code request to be processed and emailed to you.

Getting my G1 working in Egypt was quite simple. I bought a prepaid sim card from one of the Vodafone shops you’ll find on every street (literally) for 45 L.E. (approx. $6) and a 100 L.E. (approx $17) card for 100 minutes.

After putting the simcard in and powering up the phone, I was greeted with an unlock dialog into which I entered the T-Mobile unlock code. Poof! Instant cellular access. 3G service was slightly more complicated. You have to add a new APN in the mobile network settings.

Instructions for adding the Vodafone Egypt APN

  1. Open Settings > Wireless Controls > Mobile Networks > Access Point Names
  2. Click Menu > Add APN
  3. Enter the following information
    Name: Vodafone Internet
    APN: internet.vodafone.net
    User: internet
    Pass: internet
    APN type: default
  4. Leave every other field at the default setting
  5. Reboot the phone
  6. Enjoy 3G service

My hands are cramping from writing this post on the tiny keyboard. Pardon any spelling/grammar mistakes. My hands are done.