Mobility is the need of the hour. I’ve been seeing many challenges that customers have shared with me over enterprise mobility and going mobile, and a few certain patterns in these challenges have started to emerge. The problems, issues, challenges or pain points revolve a lot around budget, timelines, indecisive management, outsourcing challenges and in-house development effort. But mainly, a lot of customers ask me about what mobile application development technology to use for their mobile strategy and initiatives.
I’ve helped a lot of customers take their existing applications, content and processes on to mobile platforms for a variety of platforms like the iOS, Android, BB, Windows Mobile, etc. and for a variety of smartphones and tablets. And I’ve learned along the way about why choosing the right mobile development platform is so difficult, not to mention time-consuming. Everyone in a team has their own take on what to use, based on their previous experiences, and there are many options available in the market. Cost also is a factor and so is proven expertise of development teams on a particular platform.
In this first part of the 2-post series, I shall take you through some of the major challenges that most companies face in choosing a mobile development technology. In the second part, I plan to cover a technology solution to these challenges.
Challenge 1 – The Lifecycle
To have a technology or tool or platform that covers the entire life cycle of a mobile application, right from developing, running and managing apps. A huge majority of the tools and technologies available in the market today only cater to one part of the entire mobile app development life cycle or the other. You can either use it to create apps, or for deployment of apps on to an app store, or for app management purposes. But these platforms do not cater to the entire life cycle. This means that it becomes necessary to choose multiple tools for each part of the mobile app life cycle.
Challenge 2 – Native, Hybrid or Web
To have a technology that supports creation of native, hybrid and HTML5 web apps. Depending on the requirements of business or consumer applications, it may be any of the 3 types of apps. Mostly, when device-specific features like camera, accelerometer, etc. are to be used, or there is need for high res quality graphics (such as games), then native development is chosen. If there is need only for high web connectivity, then web development is chosen. And typically, when there is a mix of these, then hybrid app development is chosen. So at a juncture where the type of mobile app is still flexible to three types, it becomes necessary to purchase tools for each type.
Challenge 3 – Cross-platform
To have a mobile development platform that supports effective cross-platform development support. Developers or development organizations have no control over the type of devices that are used by people. And there is no clear leader in the mobile handset market space either. Also, the ability to create engaging user experience across platforms is needed. So cross-platform development support is very essential.
Challenge 4 – Backends
To have a mobile application development platform that enables easy and quick integration with a variety of backend systems ensuring scalability and also enabling offline authentication and support. With so many legacy systems, DB backends and MS systems in place, it is a headache to find a technology that is virtually backend-agnostic, in the sense that it allows integration to a variety of backends.
Challenge 5 – Skills
To have to recruit retain a development and QA team that has different skill-sets (for different platforms) and to have to purchase various different collaboration tools. Each mobile platform, be it the iOS, Android, BB, Windows Mobile, etc.; and each device – iPhone, iPads, BBs, Notes, Tablets, etc; – all need developers and testers with specific skill-sets. This means that companies need to hire more people for the same work, simply because they need cross-platform apps.
Challenge 6 – Control
To have control over app distribution after deployment. Let’s say you have developed your iOS and your Android and your BB and your Windows mobile apps. Let’s say you have your apps for the iPhone and the iPads and the Android smartphones and tablets and all figured out and developed. After all this, you need to deploy this to various stores – the Apple App Store, Google Play, BB App Store and Windows Marketplace. And then the headache – automatic updates locally cached HTML/JS resources to installed apps, push notifications, remotely disabling apps – the works. App management and control is a whole subject in itself, really.
So these are the major challenges that companies face in choosing a mobile application development technology. In my next post, I’ll talk to you about a solution for these problems. Watch this space for more!