Thursday, February 21, 2013

Building iPhone and Android Apps at the Same Time

Recently we had the pleasure of working with on an app for both iPhone and Android for DomainSponsor (and prior ShopWiki). It's quite common for us to launch an application on both platforms at the same time, and DomainSponsor was no exception.

There are a few things we take into consideration when launching an application on both platforms.

  1. Try to keep costs to a minimum by using the same design across iPhone and Android.
  2. Build each platform using the best practices of each platform and adjust the design accordingly. Some examples are adjusting an app from iPhone to Android are
    1. Adding in Back and Up navigation
    2. Location of UI elements like tab controllers
    3. Adding Action Bar elements on the application bar
    4. Using dialogues in the design
    5. Using menus (although we still believe in those elements being available without using the menu as there are many users not aware it even exists).
  3. We build each platform natively
    1. The savings to building each platform natively is cost. But, there are tricks to keep this to a minimum like sharing the design elements/flow as well as using the same overall architecture, naming, etc. when building both apps (i.e. if it's called InboxViewController on iOS it's called InboxActivity on Android and the back end is called InboxManager on both platforms). If you really want to save costs and build once then go straight to mobile web.
    2. Platforms like PhoneGap, Titanium, MonoTouch just do not have a responsiveness interface nor feel like a native experience. We've used them all on applications we've taken over and need to support. We're not the only one, companies like Facebook, HowAboutWe, etc. have all come to the same decision.
    3. We can give a great experience that feels natural to users accustomed to native iPhone and Android applications.
  4. Start iPhone 2 weeks in advance of Android, but develop them in parallel to keep a fast development cycle.
    1. Expect a 7-9 day App Store review cycle for iPhone and anticipate the first review cycle might get rejected and need to be resubmitted.
    2. iPhone leads and blazes the trail on API integration, architectural decisions and Android benefits from these learnings
    3. Android can be launched in the Play Store once the approval for the iPhone occurs so that both can be launched concurrently on the same day.
With these practices we've launched apps for multiple companies on both iPhone and Android at the same time and had a very high success rate of them being completed at the exact same time.