Building an iPhone app

Today we launched PicTranslator, a free Picture Translator for the iPhone. Building it was quite an adventure. I wanted to share some of the technologies we used, you may be surprised.

On the iPhone:

  • iPhone SDK: This one’s obvious. Unfortunately, MonoTouch wasn’t out when we started to develop. It looks rather promising.
    To be perfectly honest though, Objective-C is pretty cool. Especially once you figure out it’s memory management scheme. It’s kind of fun to be back in pointer land again. Brings back fond memories. Oh, and though I did miss vim, xcode is a pretty darn good little editor.
  • json-framework: This is a pretty slick JSON parser for the iPhone. Hand parsing JSON in obj-C would not have been fun. This made it easy. I’m pretty sure I followed this tutorial to get it up and running.
  • ASIHttpRequest: Nice Http framework, helpful for doing asynchronous requests and sending and receing files easily.
  • We also used a few random snippets found around the web. Here’s one on rounded corners. Also stackoverflow was invaluable.

On the server:

  • nServiceBus: NSB is fantastic. It allows us to scale to any size machine or any number of machines. I’m realizing more and more than most reasonable size applications should leverage messaging in one way or another. We’re using MSMQ as the transport.
  • ASP.NET MVC: My web framework of choice.
  • MSpec: Gotta test it somehow right, why not use my own framework.
  • Topshelf: Best way I know of to create services in .NET. Makes it easy to run as a console app or a service. Love it.
  • log4net: Another no brainer. log4net is how you log in .NET. Well, most of you any ways :).

Not a bad stack, eh? Any surprises? Oh, and if you have an iPhone, be sure to give PicTranslator a shot, we’d love your feedback.

This entry was posted in mvc, iphone, list, mspec. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • iPhone development

    Nice stuff… great post on iphone development.. thanks for sharing…

  • Frank Rizzo

    I am hungry for french bread now.

  • dario-g

    Try NLog instead of log4net. It’s easier to configure and faster. :)

  • Dan Grigsby

    Thanks for the back link! That JSON tutorial gets a ton of views :-)

  • gc

    I’m curious to know how you utilized NSB on the server-side. How did messaging help you in this particular app?

  • Robert

    Are you guys thinking about moving to Mono Touch for your next project, or are you committed to Objective-C now?

  • aaronjensen

    That part was intentionally left out for now, we can’t give away all our secrets :)

  • Misty Mays

    This story was good but the OCR part is concerning to me also.

  • Matt

    Curious how you handled the OCR part (assuming you did it that way)?