Most successful mobile applications are available on both the iOS and the Google Android platforms. However, a close look at the respective versions would reveal subtle differences between the different versions of the same app. While simply cloning an iOS app for the Android platform (or the other way round) might appear to be a no-brainer at first, developers confirm that doing so is a big mistake. Here are some reasons why alternate versions of a mobile app should not be exactly similar to each other:
- Increase in expenses and delays – Contrary to what might appear at first, simply copying the code for an app, initially made for one platform, for another platform, would involve unnecessary delays. The reason for this is simple: every mobile app development platform has its own set of APIs – which makes the task of fitting the same code for multiple platforms complicated, and often, impossible. As the app development cycle increases, expenses would rise too – and no client or developer would like that either.
- Different tools and resources need to be used – Making an iOS app is requires a developer to know the intricacies of an entirely different set of programming languages, tools and frameworks, than when (s)he is developing an Android app. For the former, it’s all about Cocos2d-x, Xcode 7, Objective-C and Swift 2, while the latter requires in-depth knowledge of Eclipse, Java, Android Studio, and the like. Using different tools and languages to come up with the exact same app is mighty difficult. There will (and should) be certain differences.
- Greater customization required for Android – At one level, it is simply not possible to make the clone of an iPhone app for the Android platform. Apart from the Google Nexus phones, hardly any other device has the plain-vanilla Android software, with vendors doing their own tweaks. This, in turn, means that Android app developers have to customize their apps to ensure that they retain their proper usability on all handsets. Apple’s tightly knit ecosystem makes things easier for iOS developers in this regard – there are no third-party vendors to worry about.
- Need to follow design guidelines of platforms – Google has a set of design guidelines for Android, Apple has a set for iOS – and the two are not the same. User-preferences and expectations are put under the spotlight at the time of drawing up these guidelines, along with the likely context of use of any app (e.g. when is a person likely to pull up a news app on his/her iPhone?). The UI/UX developers and graphic designers at any mobile app company have to adhere by these guidelines, while creating the designs and layouts for either platform. If the iOS and the Android versions of an app are absolutely identical, the design guidelines of one of the platforms (or maybe both) must have been violated.
- Different profiles of users – Studies conducted by experts from the domain of mobile app and game development have found iPhone owners to be, on average, slightly younger and significantly more affluent than their Android counterparts. That, however, is not all. iPhone users also rank higher in terms of app-engagement (right from news and social media apps, to mobile shopping applications). With its considerably higher market share, Android promises greater reach for developers – an entirely different proposition. At the time of deciding on app monetization strategies, these differences have to be kept in mind by developers.
- The market share vs revenue debate – Before writing a single line of code, an app developer has to be very clear about his/her stand regarding this. The iPhone 6S and iPhone 6S Plus might be off to a fast start, but the overall share of iOS in the mobile market has dwindled to 38.58% (October 2015) – while Android’s share stands at a happy 53.54% (a rise of over 6% since the start of the year). On the revenue front though, it’s an entirely different story – with iOS users about 4 times more likely to spend on in-app purchases than owners of Android devices. The success story of iOS in China has also bolstered the revenue figures for developers from Apple App Store to about 70% higher than that from Google Play Store. An app customized for iOS 8/iOS 9 has potentially higher earning potential, while an Android application is likely to have much higher outreach. Unless an app has different versions optimized for the two platforms, it won’t perform as intended on at least one of the two platforms.
- Use of simulators during testing – Yet another factor that indicates that the app development process for iOS and Android cannot be exactly similar. While iPhone app developers can easily rely on the available device simulators available in Xcode, the Android emulators are, by common consensus, not as reliable. As a result, testing on actual devices (beta testing) becomes more important for Android apps. The schedule and stages of testing iOS and Android apps have to be, hence, different. Incidentally, the Android platform is also prone to more malware attack (the prime reason for this is its overwhelmingly large market share) than Apple iOS.
- Developer profiles and preferences vary – An Apple Developer, who has worked with OS X and iOS and has probably started making WatchKit apps too might have little or no interest in developing for the Android platform. On the other hand, Google developers might have similar biases, although Android development involves greater use of cross-platform app-making tools and resources. Asking either of the two groups of mobile app developers to clone their apps for a platform they are not interested/do not have relevant experience in would be a folly.
- Good native apps cannot be made with cross-platform tools – Native applications (for either iOS or Android) rank very high in terms of both stability and scalability. Using a cross-platform tool to churn out identical versions of the same app for both the platforms is likely to compromise these factors – as well as have an adverse effect on the user-experience (according to most Android and iPhone app developers, this is THE most important factor). Instead of unnecessarily leaning on the various cross platform SDKs, more attention should be placed on platform-specific development rules and design guidelines, while making native apps.
- Access to core features of the platforms – With the arrival of iOS 9 and Android 6.0 Marshmallow, one thing has become fairly clear – Android app development professionals will have far greater access to the core features of the platform (probably compromising on the user-privacy factor to some extent) than those making apps for iOS devices. This opens up certain opportunities for Android developers that Apple does not yet allow to its developers.
- App rotations have to be handled differently – When an iPhone or an iPad is rotated, the app rotation is mostly managed by the platform – with developers having to include minor additions in the code for the purpose. Conversely, when an app is rotated on an Android device, one set of stack views is terminated, and a fresh set has to be created. It should be pretty clear for even new app developers that a clone of iOS app will not rotate optimally on an Android-powered handset.
- User-navigation on devices – For all its move towards greater customization, the dedicated hardware ‘Home’ button remains a signature feature of iOS handsets. Navigation is a lot more customized on Android phones, thanks to the series of device buttons that facilitate browsing through installed and default apps. The fingerprint authentication system (a new arrival on the latest Android version) setup and architecture also varies across iOS and Android devices. The way in which apps are accessed and used are different, why should developers be bothered about churning out the EXACT SAME software?
- Device loyalty is higher among Apple device owners – Around 8 out of every 10 iPhone owners at present had older iPhone models. Surveys have revealed that device satisfaction among iPhone-users hover around the 65% mark – quite a bit higher than the 50% (approximate) figure among Android-users. This factor, in turn, sheds light on the greater app branding opportunities available to an Apple app developer. If the different versions of an app are mere clones, this opportunity is lost. Apple itself is well-aware of the user-loyalty factor, and its very first Android app (launched in mid-September) was ‘Move to iOS’.
- Using the latest features of the OS-es – An iOS developer essentially builds for the iPhone and the iPad – and (s)he can use the latest features, plugins and other developer resources of the newest iteration of the OS. Things are not that simple in the Android ecosystem, due to the extreme fragmentation in the rollout of the latest platform versions. Android 6.0 has arrived with an impressive array of new APIs for developers – but there’s no certainty over when the different vendors and devices will receive the update. Hence, it is not always possible for Android app makers to take full advantage of the latest resources of the platform.
iOS apps need to have tighter security features than Android applications (security is one of the USPs of Apple). Until the time Android Pay becomes as popular as Apple Pay, mobile payments will remain more frequent via iPhones. The app approval process is also more rigid at the App Store than at the Play Store. App developers need to respect the differences between the two platforms, and customize versions of their apps accordingly. Simply making an app for one platform and releasing a clone for the other is never going to be a successful strategy.
Latest posts by Hussain Fakhruddin (see all)
- Hiring React Native Developers: 6 Skills To Look For - April 30, 2019
- Is Your ‘Great’ App Failing? These Might Be The Reasons! - April 25, 2019
- The Rise & Rise Of The Popularity Of React Native - April 18, 2019