Macadamian Blog

Do Your Homework Before Porting an iOS app to Android

Martin Larochelle

With the rise of Android’s popularity, product managers with an existing iPhone or iPad product are under pressure to port it to Android.

With the rise of Android’s popularity, product managers with an existing iPhone or iPad product are under pressure to port it to Android. While porting from iOS to Android is certainly possible, we have found teams almost always underestimate the amount of effort required.

Porting an iOS app is not a trivial matter because there are a number of Android elements not present in iOS, and vice versa. When the product manager or designer tries to preserve as much of the iOS design as possible, developers frequently devote a great deal of time replicating the iOS controls and workflow because they do not exist on Android. The result is a product that releases late, and ultimately alienates Android users who have become accustomed to Android-specific interactions. For those who are planning to port an application from iOS to Android (or are already knee-deep in this surprisingly challenging endeavour), we’ve put together a list of recommendations.

Re-use Data Organization and Grouping of Controls

The data organization and grouping of controls into screens can be reused from an iOS product in a direct mapping. The relative control placement does not need to change, although it is typical to move the “tab” control from the bottom to the top of the screen.

Use Native Android Controls

Android controls are much easier (and less costly) to implement than custom controls so they should be used wherever possible. Google, like other UI toolkit makers, spent more effort on its UI controls than most app developers can afford. This makes it difficult or impossible to replicate many iPhone interactions on the Android platform.

For example, “lists” on the iPhone can be pulled down to reveal a search control. While this can be easily replicated on an iPhone app, implementing the same behavior on an Android app, and making the transition smooth, would require a significant investment.

Eliminate the “Back” Button
Android devices feature a back button in their physical design. A “soft” back button (such as the one found in iOS apps) could confuse the user or unnecessarily clutter the UI, so it should be eliminated.

Leverage the “Search” Button
In addition to a “back” button, Android devices feature a hard “search” button. Be sure to eliminate any unnecessary soft search buttons and configure your app to leverage the built-in back button.

Leverage the “Menu” Button and the “Long Press”
Android menu options can be moved off-screen to a menu that is displayed when the hard button is clicked. Similarly, secondary options can be made accessible by doing a “long press” on a control. For example, long pressing a list item is one way to obtain the option to delete it.

Design the Selected State
When a control is selected, a visual representation of the controlled state is needed for designs that incorporate custom backgrounds. Buttons, for example, may need to change color when selected, so your design will need to specify the look and color of the specified state.

Use 9-patch PNGs
9-patch images allow Android controls to automatically resize images and display them properly on an Android device.

Set Controls to Density-Independent Pixel Sizes
If your Android UI is defined in pixels, the controls will be large on some screens and tiny on high-resolution screens. To remedy this, set your controls to density independent pixel sizes so that the physical size of the control is maintained on all screens.

By tailoring your iOS design to suit the Android platform, you can ensure your ported app looks and acts like an Android app — not simply an iPhone app running on an Android phone. What’s more, you will dramatically speed up development and release of the application by eliminating the complicated steps required to replicate the iOS experience on Android.

Summing It Up

Delivering value to app users who are interacting with dozens of different Android mobile devices is challenging and requires the collaboration of product management, design teams and developers. By leveraging Android design tools and understanding the differences between the iOS and Android platforms, you can quickly design and develop an Android app that is visually appealing, intuitive and easily adopted by Android users.

Talk With the Experts

User researchers trained in User-Centered Design techniques can help you to understand your prospective Android users and how they will be interacting with your app. We invite you consult with our accredited UCD researchers and Android experts who can work alongside you to develop a UI that will maximize the value of your design across the user base. At Macadamian, our experience and proven ability to design and develop groundbreaking mobile products make us the ultimate partner to support your Android application project.

Further Reading

For more information on designing and developing for Android. Read my whitepaper Your First Android Release, It Can Go Really Well (Or Really, Really, Badly)

Author Overview

Martin Larochelle

Martin Larochelle has been with Macadamian since 2005. In his ten years with the company, he has tackled projects both big and small as Chief Architect. An expert in C++ and VOIP, his focus has been on mobile platforms. Martin was instrumental for all things BlackBerry providing technical leadership and project oversight. Martin now leads the Macadamian Innovation Lab, a team focused on developing concepts to solve the needs of small and medium businesses and key verticals such as healthcare. While we're all a little nuts at Macadamian, Martin counts himself as the biggest HeadBlade fan in Canada.