We create non-game programs that run on mobile devices; iPhones, Windows Mobile, Android, Palm WebOS and the like. Our main program is written in C# for Windows Mobile and we've been asked to port it to iPhone. We are not looking forward to:

  1. The learning curve to pick up Objective-C, XCode, and Cocoa Touch.
  2. The pain of maintaining two sets of code to keep the product in sync on two different platforms.

We've decided that as a strategy we want to create all new products on as many mobile platforms as possible simultaneously, a formidable task.

We know we'll have to bend on these, but we'd prefer to:

  • Avoid forcing our users to be connected to the web to use a product.
  • Not have a bunch of different sets of source code.
  • Support as many mobile platforms as we can.

My question is this; What is your suggestion for the best strategy to develop for the 2 - 5 most popular mobile platforms?

EDIT: Based on the comments, I wanted to clarify that we have a product that we well-received on both PalmOS and Winmobile. It works exactly the same on both platforms, making it easy for a user to switch handhelds and still use it.

Now we're on the verge of creating many new business apps and want to expand that to other hardware/OSes. What are your suggestions to deploy on many new platforms with the minimum of pain?

Edit
Report