Enterprises who want to migrate existing custom business applications from iOS to the Android platform face a learning curve. The question is: How steep is that curve? How much work is involved in switching mobile operating systems? Well, there’s good news and there’s bad news.
The good news is that once you have an application written, most of the hard work is done. The core business logic is defined, you have a well defined user interface and user experience, and you may even have captured user feedback on improvements or changes to the existing application. App migration to the Android platform isn’t going to require the same effort and the involvement of so many different groups — it’s mostly going to be an exercise for your developers to shift a working application from Swift or Objective C to Android Java.
On to the bad news: it’s not going to be as simple as exporting from Xcode development environment and importing into Android Studio, then hitting the “Compile” button. There are differences in the underlying operating systems that absolutely have to be accounted for. That said, there are a wealth of tools and resources that can guide you through this process.
3 Basic App Migration Paths
There are three basic app migration paths. Application parity, application parity plus, and application redesign.
Don’t let the three paths discourage you from migrating your application. You can always start with one and iterate over time to accomplish the redesign. Most enterprises begin performing an application assessment to verify they can achieve application parity on the new platform. A good way for developers to validate feature parity is to perform SDK mapping between the iOS SDK to Android Java.
Once you validate feature parity as achievable, you can revisit old user stories to look into parity plus features you removed because the existing platform didn’t support the functionality. Parity plus features not only help with justifying the investment to migrate — they also help with the overall bottom line by enabling your workforce to be more efficient and productive with IT assets. Going down the redesign path should be considered if there are major infrastructure components or architecture changes that would necessitate a complete redesign.
Of course, that doesn’t mean you can’t go deeper: porting to a new platform is a great opportunity to rethink your application and reflect on what doesn’t work so well with the existing app and what can be improved. Rethinking is a bigger deal and means you’re going to have to bring together a bigger team with a larger scope to get the job done. But if the application is old or if it comes from a very different platform with a very different user interface, a change in the operating system may be the right time to go deeper into the application.
User Interface Is Important, but Not the Most Important
Most developers focus on the user interface when porting from iOS to Android. Certainly, it’s an important factor to consider. Android devices are much more diverse than iOS devices. They come in lots of different sizes, screen resolutions and capabilities — a much broader range than iOS. As a best practice, Android developers need to change their applications to work with a more dynamic display environment. This ensures that their applications will render properly and run on the widest range of devices.
With that in mind, know that Google provides a layout tool within Android Studio to assist in creating an application regardless of screen resolution. With varying aspect ratios, you can use screen size and density to determine the appropriate assets to display.
Android is able to choose the right asset by having the designer create products specifically for screen densities. To make things even easier to account for the many different screen resolutions, visual assets are not positioned by pixel, but rather using size independent pixels and device independent pixels. Does this mean you need to do anything different? No, so long as you’re using the layout manager. It will take care of converting pixels to device independent pixels.
Developers should narrow the set of devices they will be testing just to keep things manageable, but a well-designed user interface should move from one platform to the other.
Just as important as shifting the user interface is getting the core application architecture right, because the application architecture has a direct impact on application performance. Small errors here can negatively affect the user experience and ignite unnecessary Android vs. iOS debates. Android applications make much heavier use of threads with a more explicit threaded model than iOS applications, which means that a naïve porting of the application to Android — such as dumping everything into a single execution thread — all but guarantees poor performance.
Diving deep into application threading and event handling is important, and if you don’t have Android developers already on board, this is the place where asking for some help is a good idea. In addition to a wealth of passive support available on the internet, enterprises making a larger commitment to Android can call upon device manufacturers, such as Samsung, who have entire teams ready to help with application porting and testing. Samsung also provides consulting services and full-service support for enterprises needing help with migrating applications to Android.
It’s Not Just One Android
In the Android ecosystem, device manufacturers bring more to the table than their hardware — they bring their own value-added features and libraries. This means that enterprises standardizing on a particular smartphone platform can go further than a vanilla Android port. For example, an application that uses digital certificates to authenticate the device and user to the application can be optimized to run on smartphones that have a hardware key store (such as Samsung TrustZone), providing the highest level of security for stored keys.
Android’s wide variety of hardware also offers the opportunity to do a better job when it comes to purpose-built devices. Samsung offers APIs that go deeper into the hardware. That means building for a specific platform, but a tighter integration with hardware features such as security may be worth it for some applications. For example, rather than depending on a Mobile Device Management (MDM) tool to detect and block devices that have been rooted or jailbroken, Samsung Knox can detect a compromised device and can make this information available to an application, offering a more robust security environment.
Enterprises have already done most of the hard work by embracing mobility and building mobile applications. Migrating them to the Android platform takes some effort, but the benefits are worth the costs.
Explore the benefits — from security to integration — of switching to Samsung for all your business needs.