Thursday, November 5, 2009

Interview with Lim Thye Chean

Have you ever heard of the nine-year-old who writes iPhone code?

A nine-year-old Malaysian boy in Singapore, Lim Ding Wen has written a painting application for the Apple iPhone.

CodeAndroid Malaysia had the pleasure of meeting Ding Wen's father, Thye Chean in CodeAndroid Singapore's meetup lately.
We also had the honour of having a brief interview with Thye Chean, who develops programs for iPhone and Android platform too.

Below is the interview with Thye Chean, one of the pioneers of Android developers from Malaysia.

  • Can you briefly introduce yourself and the work you do in software programming?
I am currently the CTO of an IT company in Singapore and Malaysia doing IPTV development. Programming is my interests and so I am primary teaching my kids programming, and write some games and software for fun.
  • What was the first programming language that you learn, and how did you get started with it?
I have been in the programming field since I am secondary 2 (early eighties) after seeing an Apple II running Space Invader. I have been thinking of how to write a game since then. My first language is Applesoft BASIC. I later learned 6502 assembly languages and many many other languages later.
  • What are your favorite programs created so far and how well received are they?
My current favorite program is Space War for Android. They have been downloaded more than 180,000 times, with a 4 stars (out of 5 ratings). According to aTrackDog (a tracking service for Android), it is currently in the top 10 free arcade game for Android - 9th to be exact , and in 20th place for Android arcade game based on AndroidStats record.
  • Your son Ding Wen has appeared in BBC and Reuters news for being a 9 year old whiz kid who writes iPhone app. How did your son got into programming at such an early age?
He actually got more involved earlier than stated! All my 3 kids know how to use computers when they were 1+ year old (this means this is common for kids, not just Ding Wen), and Ding Wen knows how to program when he was 7 years old, on an Apple IIGS computer. (an 1986 computers). We were actually into retro computing using Basic and Pascal languages. This is actually Ding Wen's wish to know how to write a game when he was primary one, and I promised to teach him.
  • Any advices on how to teach young children programming?
Programming is easy, very easy. All you need to know is where and how to start! Even a simple "draw a line" or "move a box" is a program! Start with something simple, like graphics, then go into animation. Find a good programming environment - like Microsoft Simple Basic, Adobe Flash, and start there. We started on Applesoft BASIC since this is how I myself started, but for others, a modern language and environment is probably a better place.

For those who wanted to see my son's early programs, and some of my teaching samples, feel free to visit my web site Virtual GS.
  • How do you plan for an application, from the idea to development and publishing?
The way we do is the prototyping approach - just sit down and write! Every iteration must be "completed" and work, but no need to be perfect. Then you rewrite again, and again, everytime has to be "completed". Once you find that someone else might like it, publish it!
  • What are the main differences you see in iPhone and Android development?
For iPhone development, we are currently mainly doing web programming, wrapped around in Objective C wrapper class. It is quite easy to do that. Interface Builder is also a big help in creating the UI, and doing UI stuffs in Objective C is simple. However, when writing the main logics, I don't like Objective C and I am primary a Java and JavaScript programmer.

Android development is very simple, and the Java library is simply amazing compared to other Java libraries. I simply love programming for Android!
  • What are some of the things you love/hate about Android development?
Eclipse development is great, Java programming is simple, and the library is great. I don't hate Android development, but I am concerned about coming fragmentation of Android OS, with multiple resolutions and features to be supported. iPhone OS is much more simpler since it is essentially just one platforms with minor differences for various devices.
The other thing I love about Android development is the ease of publishing, since I can publish anytime without approval process!
  • What do you hope to see in the future of Android development?
Ability to sell the software!
  • What phone do you use?
iPhone 3GS. I don't use Android phone for one simple reason - all the Android phones I can get in Singapore do not come with Chinese languages. Besides, I am stuck in iPhone environment since I have bought so many games...
  • What motivated you to start developing for mobile devices (first the iPhone, now Android)?
Basically an environment that I can get my work to show the world easily. If you do PC or web programming, you have no resources to let the world know about these software exists.
  • Do you get involved with the community or is programming a solitary thing for you?
Primary development alone with my son.
  • Would you recommend mobile application development as a career path (aka do you earn enough from it)?
Probably yes for Android Market, if Google allows us to sell software. I see this as similar to the early iPhone App Store status. Not many big players yet.
However, the iPhone, the answer is probably no for now. The situation nowadays is way worse than says half a year ago. With close to 100,000 apps, not many will notice you even if you give your software for free. In the past, when we release a free software, we got hundreds of downloads per day, now is 1/10 of that amount. If you need to, then you need to find a niche, and avoid local software (market too small) and games (too many players).

CodeAndroid Malaysia would like to take this opportunity to thank Thye Chean for accepting our interview and sharing his views on Android development.