Convert Your iPhone App to Android

Do you already have an iPhone app that you’re looking to convert to Android?  While on the surface converting an iPhone app to Android seems very simple, it is not.

Let’s start with some basic background.

All Apple phones are made by Apple, and no one else. Apple makes and sells the hardware and Apple makes and sells the operating system, and you just can’t buy an iPhone made by anyone other than Apple.

On the other hand…

Google has a very different business model that has been helping Android become more popular than Apple. Google actually gives the Android software away for free to phone manufacturers. Google works on it, and upgrades it, and improves it constantly, and never charges a nickel for it. They will even allow cell phone manufacturers to modify it, which most of them do.

As a result, phone manufacturers are building phones to work with Android, and never have to pay for it. That means they can offer a better phone and never charge the user for the operating software. Just as importantly, Android phones can be manufactured by anyone. With each manufacturer providing their own version of “the perfect mobile phone”, there is more competition yielding a bigger target audience in the market.

And that’s why, as you can see on this graph that was published by Nielsen in June 2012, Android usage has quickly exceeded usage of both iPhone and Blackberry.

Nielsen Study

There are, however, a few issues with duplicating your iPhone app to the Android platform. Redeveloping the app on Android isn’t a simple matter of just copy and paste. It’s much more than that, and here’s why:

  • The screen sizes on iPhones are mostly consistent. The screen sizes on Android vary greatly.
  • The language that iPhone apps are developed in is “Objective C”. The language that Android apps are developed in is Java.  Converting the code is even more complicated than translating a book from English to Japanese.  There is no such thing as automatic translation with computer code.  Often, key concepts can be lost in translation unless those concepts are clearly understood.
  • The two platforms have very different controls. iPhones have a single home button, and whatever soft-keys that you like. Android phones have physical buttons for Select, Menu, Home, Back, and often a few others.
  • iPhones only have on-screen keyboards. Some Android phones, on the other hand, have physical keyboards (with varying layouts).
  • Android phones support “Widgets”. iPhones do not.
  • Native iPhone Libraries and Frameworks — iOS handles transitions, animations, and other functions ever so elegantly through its build in Libraries and Frameworks. Android doesn’t have many of these, so each of these activities has to handled differently.
  • Android’s push notification system operates completely different than iPhone’s.

There are, of course, many other differences, but you get the idea.

One common misconception is the thought that creating the Android version of an iPhone app is less expensive. The opposite is actually true. These are some of the issues that make creating an Android App more expensive:

  • There are different ways to handle the wide variety of screen sizes in Android devices.
  • The different version of Android created by the various device cell phone manufacturers.
  • There are differences in the way navigation is handled in Android apps compared to their iPhone counterparts.
  • Testing on many more devices.

Many people ask us to download their app and play with it, and then quote a price for the conversion.  This is a lot like telling a mechanic to look at a picture of a sports car and figure out how to fix it.  The car could need a small tune up, or a HUGE transmission repair. The only way to tell is to look under the hood.  There are many reasons this is also true for apps:

  • Behind-the-scenes programming is often invisible to anyone merely looking at the app. This typically includes data (text, images, video, audio, etc.) that must be controlled and managed in the background as a result of the user’s actions in the foreground.
  • It’s possible for any of this data to sync with a website in the background, and in many cases this is crucial for the app to function correctly.  These web services are all invisible to anyone merely looking at the app.
  • The issues listed above have to be addressed. The wrong way to convert your iPhone App to Android is by wearing iPhone Google. Instead, we need to step into the world of Android and decide how to handle the differences in the two mobile operating systems.

So how does anyone look under the hood of your app?  The key is proper documentation (i.e. blueprints of the foreground AND background functionality).  If you don’t document your app, a sneaky developer (like a sneaky mechanic) can quote you a low price to lock you in.  They’re free to reveal the REAL price after you’ve already put in a down payment.  Their excuse will be this: “How could I know the complete total cost without looking under the hood?”  If you provide documentation up front, they will have to give you an honest price BEFORE you sign their contract.

If you have thorough documentation of your iPhone App, then you have a head start. If not, then that is the first step, and we can help you.

Once you have documentation in place, the next step is to document the conversion to Android.  It is important to consider all of the items listed above when doing the conversion. Making these decisions before you start programming will save you a lot of time, money, and heart ache.

If you are ready to get started on converting your iPhone App to Android, then you should schedule a Free Mobile App Feasibility Consultation with us. Let’s talk about your mobile app plans, and you can pepper us with questions and challenges about your project. Even if we don’t decide to work together, you’ll at least end up knowing far more about porting your app to Android than you do right now.

(Note: If you don’t yet have an iPhone app, and want to develop your new iPhone and Android Apps concurrently, read this page: Android and iPhone App Developer)