iAd and where are my users

Version 1.6 of KTdict includes Apple's iAd in the free versions (paid version are add-free, of course). The data from the iAd network provides one interesting insight: it is possible to see in which countries people are using KTdict: see chart below.

This pretty much lines up with the downloads. It is a pity that iAds are only available in US, as I am losing 88.9% of my potential ad-revenue this way... (overall "fill-rate" is ~2%: 25% in the US and 0% everywhere else).

iad_chart_20100725

|

Version 1.6 of KTdict

Version 1.6 of KTdict is out. It includes several important features:

- support for iPhone 4 and iOS 4.0 (multitasking, retina-display)
- Chinese characters and pinyin can be mixed in searches
- it is possible to search for individual characters of a word

What is not so nice: A critical bug made it into this version. The app crashes for certain English words. A fix was submitted to Apple on July 21st, so it should become available within a few days. My apologies for everybody affected by this issue - the Emails and comments I get on the app-store show that many people are relying on KTdict for day-by-day use. I'll be definitely more careful in future when doing changes to the core search engine.

|

Google Street View

It is a crazy undertaking: Driving with cars through all streets of the world, taking photographs and putting them on the Internet.
Since a few days, Google Street View covers most of Taiwan, so enjoy:

  • The apartment building we are living in

View Larger Map

  • The company I work for

View Larger Map


  • Our favorite breakfast place

View Larger Map

Germany (my native country) isn't on Google Street View yet. Google is already taking pictures, but there are some issues with stricter German privacy laws which need to get resolved.

|

Version 1.4 of KTdict available

New versions of KTdict C-E and KTdict+ C-E are available (KTdict C-D will follow very soon).

Both free and paid version have a further enhanced search algorithm: speed is improved and the relevance of results is enhanced. Also, it is now possible to delete words from the search history. The dictionary database is updated to the newest version of CC-CEDICT. As the age-rating of KTdict is now set to 12, I could include an uncensored version of CC-CEDICT (some of the previous versions had few words removed).

The paid version has the following extra features:
  • an integrated web-browser allows a quick lookup of words in internet sources (e. g. Wikipedia)
  • flashcards can be exported via Email
  • it is possible to search in flashcards (I realized that some users have quite a lot)
  • the configuration of the daily lessons is much more flexible
KTdict requires now iPhone OS 3.0 - I assume most people did upgrade their iPhone or iPod touch in the meantime so this doesn't cost me too many potential users.

Let me know what you like / don't like about the upgrade.
|

Download trend KTdict C-E

Below an updated download trend for KTdict C-E, the free version of my Chinese-English dictionary. Two interesting observations:
  • after I changed the name of the app in the store to "KTdict C-E (chinese-english dictionary)" downloads increased quite drastically. I am sure this is due to people find it when searching for a Chinese-English dictionary.
  • KTdict C-E is back in the "top 100" in Hong-Kong and Malaysia. This gave downloads a further boost in these countries.
Total downloads of KTdict C-E are now over 160.000. From the updates I can estimate, that roughly half of people downloading KTdict keep it installed on their iPhone or iPod touch.
KTdict sales.001
|

Struggling with age ratings

With OS 3.0, Apple added parental controls to the iPhone. Therefore, each application in the iTunes App store needs an age rating from 4+ to 17+ (true "adult" content cannot be sold via the app-store at all).

During the submission of an app, the developer has to answer questions like: "Does the app contain nudity?", "Does the app contain obscene language?", "Does the app contain simulated gambling?". Based on the answers, iTunes calculates the age rating.

Two weeks ago, I submitted a bug-fix for KTdict C-D (there is an error handling the German "ü" correctly, which I realized after some bad reviews). I thought a dictionary shouldn't be a problem for children, so I answered all these questions with "none". This gives an age rating of 4+, which is no change to the current version.

One week later the surprise: Apple rejected the update due to "profanity" and "mature/suggestive themes". Okay - they obviously found some "dirty" words in the dictionary. As I didn't want to censor, I changed the age rating by moving "profanity" and "mature/suggestive themes" to "mild". This increases age rating to 9+.

One week later the next surprise: App again rejected. This time the reason is "sexual content in Chinese". So I change now also this setting, which makes KTdict C-D now a 12+ app. I hope Apple will release the update this time, so it makes it finally to my customers.

I must say that I find this pretty annoying. It would be O.K. with me if Apple would say: We looked at your app and think it should be rated 17+. But right now, I have to play trial and error to see what Apple thinks about an app. Due to the review process, each trial costs one week.

Anyway: I hope to get the update out soon and not to lose too many customers between 4 and 9 years of age...
|

Greencard for Taiwan

My wife recently received her "Alien permanent resident card" (APRC) for Taiwan, which is pretty much the same as a green-card for the USA. Compared to a standard "Alien residence card" (ARC), it is unlimited in time and independent of employment or family relationship. For us this is kind of an insurance: If anything would happen to my employment, we still have legal right to stay in Taiwan.

Condition to get an APRC is a 5 year continuous residency in Taiwan, an income of twice the Taiwan average (which is not too much) and a clean criminal record. The main challenge is to get all the documents to prove this. Here is what you need:

  • A criminal record from your home-country (in Germany it is called "Polizeiliches Führungszeugnis"). This needs to be translated into Chinese and the original document as well as the Chinese translation have to be certified by the Taipei institute (similar to embassy for "normal" countries) in your home-country. At least in Germany, the people at the Taipei Institute are quite helpful, they gave me even a sample of the Chinese translation. If you pay the postage, they send the document right away to your address in Taiwan.
  • A criminal record of Taiwan (良民證). You have to apply this in person at a large police station. We went to the Taoyuan County police (桃園市縣府路1) - you need to fill out a form, show your passport and they also send the document to your home.
  • Two documents from the tax authorities. The first document is a proof of yearly tax payment. The second document is a daily list of all payments done (e. g. by your employer) to the tax office.
  • A health certificate. The large hospitals offer special health examinations for foreign workers. Purpose is to prevent that you spread infectious diseases over Taiwan. So it includes an HIV-test, a stool-test for parasites as well a chest X-ray (for TBC).
  • A proof of income. For my wife, her employer took care and certified the income.
  • Fee: 10.000 NT$

The main challenge is to get all the documents in one time. For example, the Taiwan criminal record is only valid for one month. Best strategy is to get all documents from abroad and once they arrived to apply for the Taiwan documents (which you can get quite fast).

I hope this gives you an idea in case you have similar plans. There is one catch: The APRC becomes invalid if you are in a given calendar year less then 180 days in Taiwan. It is possible to apply for an exception of this rule, but I have no idea what the conditions are.

|

From Objective-C to Java

One of my plans for KTdict is to write a "buddy" desktop application. It would have essentially the same functionality, but provide the possibility to synchronize flash-cards and dictionaries between iPhone and desktop.

Question is which programming language and GUI-framework to use. It would be quite easy for me to write this as a Mac/Cocoa-application, but this would leave Linux and Windows users out.

So I ended up reading a book about the Java programming language (so far I seriously used C, C++ and Objective-C) and got a first small program to run, so I can provide my first impressions here.

First thing I noticed it that Java and Objective-C are semantically much more similar then Java and C++ or Objective-C and C++:

• Inheritance scheme is the same: Objective-C and Java use single inheritance with the addition of protocols / interfaces (C++ has true multiple-inheritance).
• Both languages have simple types (int, float, ...) and objects, they don't make everything an object.

Main differences between Objective-C and Java are:

• Java isn't a superset of C, so features like converting integers to pointers are gone. It isn't possible to write low-level code in Java.
• Java has no type "id" like Objective-C and it is not possible (one might argue also not necessary) to do dynamic typing.
• Java compiles to byte-code for a virtual machine, not binary-code for a hardware processor.

Java is likely the language least prone to programming errors I have ever used. It is very clear, that the designers of the languages rather compromised on power then on safety. Also, I like the idea of having a cross-platform GUI-library (Swing).

But I haven't decided yet what to do. Currently, Java is the most likely choice, but I am also considering simply writing a Mac-only app in Cocoa (lowest effort for me) or to check other cross-platform frameworks like Qt.
|

New versions KTdict

New versions of KTdict, my Chinese-English and Chinese-German dictionaries for the iPhone / iPod touch are online. The version numbers of KTdict C-E (a free English-Chinese dictionary), KTdict+ C-E (an English-Chinese dictionary with integrated flash-card trainer) and KTdict C-D (a German-Chinese dictionary with integrated flashcard-trainer) are now all increased to 1.3.

Following improvements have been implemented:

  • Performance of the search algorithm has been optimized. Especially very large result lists are now handled considerably faster.
  • The user interface is more polished, especially the flash-card trainer.
  • It is now possible to edit the flash-card currently displayed and and to search for it in the dictionary.
  • A history function for searches as well as results has been added.
  • KTdict has been successfully tested on iPhone OS 2.2.1 and iPhone OS 3.0.

The updates are free for all existing owners of KTdict C-E, KTdict+ C-E or KTdict C-D. I hope you enjoy the additional features and increased speed.
|

Stanford iPhone programming course

You can expect the next versions of KTdict to be much better: I just completed the course iPhone Application Programming of Stanford university. The course is taught by two Apple engineers . The lectures are videotaped and available for free at iTunes U. I watched all off the lectures, looked at most of the code examples, didn't do any exercises but started right away improving KTdict.

Before I wrote KTdict for iPhone, I had some experience with Cocoa programming for the Mac. I started out assuming that everything is more or less the same and only looked at documentation when I didn't get something working as I liked without. The course was therefore quite an enlightenment for me.

Therefore, my advice for fellow iPhone programmers with Mac experience:

You need to become familiar with the concept of view-controllers, navigation-controllers, tab-bars, table-views and table-view controllers. This is essentially the UI-magic which gets you an application from your 24-inch iMac with Mouse and Keyboard onto a 3.5 inch iPhone with a finger.

So please: Watch lecture 1-8 of the Stanford course and read the documentation of the classes UIViewController, UITableViewController, UINavigationController and UITabBarController before you start coding your first iPhone application.

view_controller_demo.001

The other important item I learned are powerful tools for debugging which I didn't really use so far:

It is definitely worth installing the Clang static analyzer. This tool is pretty good in finding some typical programming errors, especially related to Cocoa's retain / release memory management model (the iPhone does not support garbage collection like MacOS 10.5+). Also, seeing the master use the performance tools like leak-check was quite helpful.

Benefit of all this: A new, better, less buggy version of KTdict is already submitted in the app-store. Let's hope Apple will release it very soon despite tons of iPhone OS 3.0 apps in the pipe!

|

4000km with Nike+iPod sports kit

Christmas 2006, I got an important gift: A Nike+iPod sports kit. It wasn't very expensive, but it changed my life in a significant way: Since then, I am running 5 km every morning - between getting up and eating breakfast. I just got a certificate awarded from Nike for having completed 4000 km. I am very proud of this.

zertifikat_4000km

I started running for some months before getting the Nike+iPod sports kit, mainly following the advice in a German "How to stay young forever" book. Before that, I was not doing any sport at all except some diving. Also, my work almost doesn't require any movement at all...

The main benefit of using the Nike+iPod sports kit is that it helps me a lot staying disciplined. Somehow, I don't want to have a day "missing" in the history on my iPod. Also, the system shows me when I actually have completed 5 km. I don't need to worry about running the "right" distance when changing routes. (Running a constant time would have the risk of running shorter-and-shorter distances slower-and-slower.) I don't use much the other features of the system like running virtual races with other people. From time to time I check my rank: Currently I am around number 1300 worldwide and number 3 in Taiwan.

Another factor in starting this daily habit was an event by Formosa-Plastic-Group. They organize yearly a 5 km jogging competition for employees. During this competition, I had problems to keep pace with a 60 year old college. I realized that I need to change something if I want to stay fit as long as Mr. Y. C. Wang did, the late founder of FPG.


200px-Wang_Yung-ching

From my personal experience (myself before / after), I am convinced that regular exercise has a huge benefit on mental capability. This is also acknowledged by modern brain science. You can for example check "Rule #1" of John Medina's "Brainrules".

It is definitely a good investment to run 5 km every morning and use whatever motivational tools are needed for this. Is there any catch? The downside I see in the moment that there is no performance improvement anymore by keeping this steady, constant exercise pattern for over two years. I checked out some books about competitive running: They recommend alternating exercises (one day long run, one day fast run, one day break, ...) to stretch different performance factors.

At the moment, I am not decided if I simply stay with my daily routine (which might be the best for health and is also easiest to integrate into daily habits) or if I start such a training program with for example a marathon as a training target.

Feel welcome to leave your comments and thoughts...
|

New versions of KTdict

New versions of KTdict are ready and available in the AppStore:
  • KTdict C-E: basic English-Chinese Dictionary, which remains free
  • KTdict+ C-E: an advanced version, which includes a flash-card trainer. This version costs $3.99.
  • KTdict C-D: a German-Chinese Dictionary, with the same features as KTdict+ C-E. It is a free upgrade for existing users. For new users, price is unchanged $3.99.
Features added to all versions include:
  • Option to change the size of output
  • Possibility to show characters in a full-screen view, so it is easier to see details
  • Possibility to use search results as inputs for a new search. This allows it for example to look up an English word, then select a character of this word and search for all other uses of this character
Major new feature of the paid versions KTdict+ C-E and KTdict C-E is a flash-card trainer. It is possible to include words from the dictionary as flash-cards as well as manually adding words. This provides an easy, mobile way to memorize new vocabulary.
|

KTdict C-E crossed 10.000 downloads

After one week in the App-Store, KTdict C-E reached 10.000 downloads. It is currently the most downloaded app in Taiwan and number two in Hong-Kong.

Below the download trend so far by country: It's amazing to see how Hong-Kong and Taiwan took off in the last four days. I am very curious how this will continue.

Rplot
|

KTdict received first reviews

After KTdict C-E and KDdict C-D went live in the iTunes App Store yesterday, I am very curious about first customer feedbacks. The feedback in iTunes is by store (separate for e. g. US-store and China-store). In the beginning I browsed through all these stores, but eventually I found the following web-page: http://www.moopf.com/appstorereviews/. This service automatically grabs the reviews from all stores and combines into one web-page.

For KTdict C-E (App-ID 291179703), the feedback so far is:

  • "Most powerful one" by kai liu
    We really need a powerful ch-en dic. Here it is! 强啊!
  • "Excellent" by Chris Aubeck
    Handy and easy to use.

KTdict C-D (
App-ID 292405778) has one review:

  • "Sehr gut!" by sarangsong:
    Sehr g... App! Genau das habe ich die ganze Zeit gesucht...fehlt nur noch noch eine Sprachausgabe ;) Bin total zufrieden! Jetzt macht das Nachschlagen endlich Spass!
    (Translation: "Very good" by sarangsong: F... good App! Exactly what I was looking for all the time... only voice output is missing ;) I am fully satisfied! Now, looking up words is eventually fun!)

For me this is very encouraging. I am working during the next days on integrating a flash-card trainer into the dictionary. I hope I can finish this up before I return to my regular job.
|

KTdict C-E and C-D available!

After a longer then expected wait, my dictionary programs KTdict C-E and KTdict C-D are now available for download in the iTunes App-Store.

KTdict C-E (Chinese-English) is free, while KTdict C-D (Chinese-German) costs $3.99 / €2.99.
|

One hundred push-ups

Looking for some strength exercise I found the following web-page: http://www.hundredpushups.com.

It is a very simple program, but it worked. I started with 20 push-ups in the beginning. After following the training plan for six weeks, I just completed the final test of 100!

did_the_hundred_badge
|

KTdict C-E and C-D submitted to iTunes AppStore

I submitted two iPhone applications to the iTunes App-Store: KTDict C-E and KTDict C-D. The first is a Chinese-English dictionary, the second a Chinese-German dictionary.
They are based on the following components:
  • The excellent dictionary data of CC-EDICT (over 70.000 entries) and HanDeDict (over 120.000 entries). I used these great dictionaries over the Internet for many years. Fortunately, their licenses allow to include them into own dictionary software.
  • The Chinese hand-writing recognition build by Apple into iPhone OS
  • Fast indexing and search technology implemented by myself, which provides fast “search as you type” results.
I am using both programs myself several times a day and almost cannot imagine how to get along without. They should be available in the App-Store is in ~two weeks.
|