Here is a demo of my first native iPhone application. It is feature complete and in the process of getting submitted to the AppStore (I have to finish doing all the paper work. I happen to have a natural aversion to paper work).

I’ve also had a few people ask me about the process. From programming in Xcode / Cocoa / Objective-C, to getting approved by Apple to submit the app, and the actual application submission process, to what’s a ball park figure for how long it takes to write one. Hopefully these will shed some light…

The first movie is the actual application. Which, by the way, is a Chinese / English dictionary that lets you search by Mandarin pinyin, English, or Simplified characters (also, 典 should have been third tone sorry :-/) :

The second moive is just random thoughts on the process and some, hopefully, helpful tips on how to prepare yourself for an iPhone app (my apologies if the movie isn’t showing just yet, I hit publish before youtube had the movie ready. If you don’t see the second movie, please check back in a bit).

Feel free to post any questions or comments. I hope these help anyone thinking about writing an iPhone app.

Comments

This entry was posted on Thursday, July 24th, 2008 at 7:01 am and is filed under Chinese, Mac, iPhone. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

19 Comments so far

  1. John Dowdell on July 24, 2008 12:11 pm

    Cool… you might be persuading me to get an iPhone with this…. ;-)

    What’s the original data source, Rob? When you say “35,000 words”, that includes the English, I’m guessing…?

  2. 小罗 on July 24, 2008 12:33 pm

    Hi John,

    I’d rather not say where the dictionary came from because that’s the only thing that makes this app useful and I haven’t sold any just yet :). After I recoup my $100 bucks I’d be more that happy to let that out-of-the-bag.

    (I’ll email you directly if you are really curious. It does comply with the iTunes App specs (it’s not GPL’ed or anything))

    There are about 35,000 Chinese words defined in the dictionary. For example 我 and 我们 are two different records. Calling this a Chinese character lookup application would probably be more accurate, but since you can search by the English meaning as well it works as a Chinese -> English / English -> Chinese dictionary (I hope that answered your question)

  3. Ben Nadel on July 24, 2008 12:59 pm

    That drawing feature was bad-ass!!

  4. jb on July 26, 2008 8:14 pm

    I will definitely buy this as soon as it shows up on the app store. Any idea when that will be?

    If you could get it up there before people start leaving for the olympics, you might be able to recoup those costs pretty quick.

  5. 小罗 on July 27, 2008 12:29 pm

    hi jb,

    I don’t know when it will be released, it is currently in process of getting the final touches put on and should hopefully be available “soon”.

    My goal is to get it out before 八八八, but there are a lot of moving parts, and it’s not totally within my control.

    I will most definitely post when it is available.

  6. Karen on August 8, 2008 2:37 am

    After writing code 40-80 hours a week… for the past 10 years (all for Windows machines)… it’s time to write my first iPhone3G app.

    What do I need to buy?
    A mac mini?
    A mac OS?
    The iPhone SDK?
    Books?
    (I will ONLY be using this mac to write iPhone apps. Nothing else… so I don’t need a huge/expensive system.)

    What specifically will I need to buy and install?

  7. 小罗 on August 8, 2008 9:51 am

    hi Karen,

    You can get by with a mac mini and an iPod touch (if you don’t already have a phone).

    You can download the iPhone SDK free on http://developer.apple.com/iphone – when you are ready to test your app on your device and distribute the application (instead of just on the simulator) you’ll need to pay the $100 fee to get a developers license.

    As for books, due to NDAs there aren’t any iPhone books (as of this writting), but writting desktop mac applications and iPhone apps are, for all intents and purposes, the same.

    Look up “big nerd ranch” they have some nice intro cocoa books – I used those books to learn cocoa. I recommend going through one of those books and writing the example desktop app. Once you are done, you’ll have a great foundation to write an iPhone app.

    Also, get familiar with the Xcode built in documentation. At this point in time it is more helpful than google (doing iPhone stuff)

    There are some nice forums out there, but because of the NDA it’ll be difficult to get help unless you can form your question as a cocoa question and not as an iPhone SDK question.

    It’s a lot of fun, and I wish you good luck!

  8. 小罗 on August 8, 2008 9:55 am

    Btw you will need a mini with macos 10.5 (leopard) – an x86 mini will likely be better (if you are hitting eBay).

  9. Karen on August 8, 2008 12:20 pm

    Ok… thanks for all the good info.

    > mini with macos

    What is “mini with macos”?

    Also… do I need to pay the $100 *BEFORE* I can test my 1st app… on my own iPhone?

    I’ll have to also check out the differences/connection between “cocoa” and “xcode”? (I need to learn/use both languages?)

    Regarding the NDA: What happens if someone actually talks about the SDK… on 1 of the millions of blogs… under a different handle? Apple will somehow read all 1 million blogs… know that it’s you?

    Isn’t the NDA pretty much unenforceable? How many people have by fined by posting “totally anonymous” msgs about it?

  10. 小罗 on August 8, 2008 1:38 pm

    macos == Mac OS (sorry missed a space)

    Yes, to run your app on a physical device you need to have the $100 developer license. You can run it in the desktop simulator without the license however.

    This might help with the terms

    Objective-c == c#
    Cocoa == win32
    Xcode == visual studio

    That’s not 100% accurate, but it’s close enough to get you started.

    Re: the NDA – I am not a lawyer so I don’t know how enforceable it is. I find that most developers try to stay true to their word though. If asked not to talk about something – even if it’s a totally stupid rule – they tend to try to not break their word – at least in the apple development community.

    Some don’t though, and some don’t even know they are under NDA (you’ll be under NDA if you download the SDK too) so you can still find bits on the net just not a lot.

  11. Schwin on August 13, 2008 10:41 am

    Your app appears to be exactly what I’ve been looking for. Do you have any idea when it will be released? I’ll be one of the first to try it out.

    Thanks

  12. 小罗 on August 13, 2008 11:08 am

    Hi Schwin,

    I do not know when it will be released. It has been submitted to Apple so it’s out of my hands. I’ll definitely post if / when it is finally put on the App Store.

    If you subscribe to the “Chinese” RSS feed (top left of the page), you’ll be one of the first to know when it’s up.

    Thanks for your interest in the app!

  13. Karen on August 16, 2008 9:11 pm

    Has anyone installed a UNIX partition on part of their
    Windows computer… and installed MacX… and then run
    xCode?

    Possible?

  14. 小罗 on August 16, 2008 9:23 pm

    Hi Karen,

    Yeah, people do it all the time. Just go buy a Mac, use boot camp, and install windows on the second partition.

    Otherwise, you’ll have to look into the OSx86 project.

  15. Karen on August 16, 2008 9:28 pm

    I didn’t want to have to buy a Mac… only to write iPhone apps. (I would never use it for anything else.)

    I want to take 1 of my EXISTING WindowsXp boxes… and run UNIX and MacX and xCode on that.

  16. Ian on September 14, 2008 1:39 am

    I was looking forward to writing iPod touch apps for my girlfriend’s iPod, but the whole process has been extremely frustrating.

    First, I’m a Windows programmer. I looked around and found WinChain, which does let you compile iPhone apps but no user interface or simulator or any of the good stuff.

    BUT… my girlfriend also has an iMac. Sweet! Let’s get programming, right? Wrong. Because she has Mac OS X 10.4, and XCode 3.0 needs 10.5.

    No problem… I’ll just upgrade to 10.5, sounds like a small upgrade, like adding a service pack in Windows. Wrong again! Time to shell out $129 US for that! It seems that Apple releases this upgrades fairly often and charges for them, unlike Windows which has a new version every 4 or 5 years, and you can still develop new apps on an old OS.

    Why I can’t use XCode 2.41 to build iPhone apps is beyond me. It seems Apple does everything possible to keep their customers upgrading and paying for things.

    Example : When we downloaded our first app from the AppStore it didn’t seem to transfer onto the iPod. No error. No explanation. Turns out, we needed to upgrade the iPod Touch OS ! It’s not enough that we bought it, now we need to shell out $10 US just to have the privilege of running apps!

    And of course, the icing on the cake. Discovering that even if i DO buy OS X 10.5, I still do not have the right to transfer my custom apps to my OWN iPhone ! I need to shell out $100 to get a developer’s license.

    So at this stage, if I want to start writing iPhone apps, I need to pay Apple $10 + $100 + $129 = $239. The whole thing has turned me off it completely. I was dreaming of these slick apps I was going to create on the iMac and then run on the iPod Touch – just for my own personal use… and a dream it shall remain.

    I was kind of psyched about getting into the world of Mac programming, but it looks like I’ll stay in the world of Windows – which, while lacking the elegance and style of the Mac, does not charge me left and right to be a casual developer.

  17. 小罗 on September 14, 2008 10:37 am

    Hi Ian,

    In the past I might have defended Apple on some of your points, but the only one I’ll mention is 10.4 to 10.5 is (kind of) equivalent to Win95 to Win98. The 129 is justified and there are alot of new features. Free “Service packs” in OS X are after the second digit – 10.4.8, 10.4.9, 10.5.2 etc. (Also the newer Xcode has stuff that the older one doesn’t)

    http://code.google.com/android

  18. Ian on September 15, 2008 5:17 am

    Hi again,

    I can see that the 10.4 to 10.5 upgrade is probably a major one, it was 3 years in the making. I’m not sure how many of the others users had to pay for but I see 10.x “upgrades” in 2002, 2003, 2004, 2005, and 2008. I hope Mac users did not need to pay for each and every one.

    I hate defending Windows, but XP came out in 2001 and that is the only OS I have used (or paid for) since then.

    My issue with Xcode 3.0 is that they left Tiger users in the dust. While 3.0 may indeed have some new features, don’t tell me 2.41 is not capable to compiling Objective-C code for the ARM processor, because it can. I suppose 3.0 simply takes advantage of some new widgets or such in Leopard, and they felt it was too much work to support 2.41 and Tiger.

    By the way, I like your Chinese app – ironically, my first app was also going to be Chinese-related. A kind of Chinese puzzle app for reviewing and learning new characters.

    My development dreams may not yet be dead – I noticed the tool QuickPwn would seem to open up my iPod and let me stick in my apps there. I could compile under Windows (albeit no sexy UI designer or emulator, hey it’s like Java 1.0 again!) and then transfer to the iPod and test it out.

    And hey, if it breaks the iPod, I’ll buy my girlfriend a new 2G :-P

    Thanks for your feedback. And despite all my criticism, I really would like to get into the world of Apple development – the iPod Touch is just such a sexy little gadget!

    Cheers,

    Ian

  19. Karen on October 13, 2008 3:38 am

    > I could compile under Windows (albeit no sexy UI
    > designer or emulator, hey

    What are you using to compile iPhone apps… with
    Windows?

Name (required)
Email (required)
Website
Share your wisdom