Japanese keitai flashcards

Update April 2012: Five years later after several server moves, this is no longer online – I’m still hunting for the files. Most likely it wouldn’t work on new keitai’s anyway.

Edo no Tango (Ed’s Tango, エドの単語) is a Flash Lite based Japanese language vocabulary and kanji flashcard utility. Developed to help my study, it currently contains lessons 10 through 17 from the Genki series of Japanese language textbooks.

It uses Flash Lite 1.1 so runs on the vast majority of Japanese contract phones (the pre-paid ones can’t quite manage it). Give it a try! Press the 1 key when in the flashcards to display the button commands.

Postmortem

Flash Lite 1.1 is extremely basic – it only has the features of Flash 4. Flash Lite 2 is much better, supporting a Flash 7-esque feature set but at the time of creating the program was not on any Japanese phones yet – the closest you could get was a downloadable plugin for Nokia devices. There are several limitations of Flash Lite 1.1 which made development challenging:

  • No Unicode support. This was the first major hurdle. Even on Japanese devices, it is impossible to display Japanese text using the device font. Flash Lite 2 fixes this, but in the mean time Japanese text needs to be encoded as vectors or images.
  • 100kb network limit. It makes sense, but all the Japanese networks limit the size of any one file you download to around 99kb. This means with no Unicode, images or vectors for each kanji character soon add up.
  • Dynamic network retrieval of data is limited to rudimentary text files with no XML support. No Unicode means retreiving data was impossible anyway, but this meant I had to create a seperate file for each set of flashcards, needlessly increasing data use and not making a very elegant solution.
  • The phones have very limited memory, so my original idea of using 2bit images for each flashcard resulted in graphical corruption every time. Images would just turn red after showing four or five of them. In the end, 2bit images were converted into vectors using the “break apart” command.

I don’t need to use this now (I bought an off the shelf Pocket PC application to do the job) so I haven’t got round to adding new lessons. Its not simply a case of putting new data on a server unlike a Flash Lite 2 based version would be capable of.