UPDATED 11/14/18
As mobile and consumer reliance on their devices grow, businesses are making their mobile strategy front and center in their growth plans. Companies that aren’t making customer engagement via mobile a top priority are doing so at the risk of becoming irrelevant. This shift is not isolated to an industry vertical. Its ramifications are being seen across the board.
A few examples: Retail (loyalty apps, mobile commerce, self-service kiosks, mobile payments), Insurance (quick quotations, policy servicing apps, third-party agency support), Sales and Service (Field service applications, Remote presentation managers etc.), Hospitality (self-service ordering, payments) and more.
Ramp up efforts for mobile strategy
As CIOs ramp up efforts to invest in mobile apps driven by business objectives, they are evaluating various technologies and partners to realize their vision. There are a number of vendors out there, offering services as well as product alternatives. Decisions are hard to make. There are alternatives including Native developers/designers, Cloud vs On-premise solution platforms, MBaaS providers, API lifecycle vendors, System integrators, Screen-scrapers, Responsive/Hybrid app implementers, etc.
Open Source components in this space have been increasing and add to the mix. Another question is whether you should start with a platform or try to piecemeal a solution using best of breed components.
Typically, every mobile app project requires consideration based on its own merits. 85% of companies are known to have an app development backlog between 1 and 20 apps[1]. While some of these apps are specialized enough to require Native iOS and Android/Java development skills, some portion of these can be made in-browser web apps optimized for mobile. In making your choice, here are a few considerations that can guide your quest for a technology stack and possibly a mobility partner.
The front end and services support
Pick a technology solution that supports your front end (UI) and middleware needs. Most all mobile apps have a UI component and a services tier. Based on their origins, certain software tools tend to have strengths in one area vs another.
For example, MBaaS providers and API Management vendors tend to favor fast API generation and OR mapping capability. These can leave a lot to be desired in the UI development space. Also, open source UI libraries help cut down work in implementing the user interface but leave the wiring to APIs up to you. The key here lies is in evaluating your technology choices for rich functionality in each tier.
Deployment flexibility
Give yourself the flexibility of deployment: on-premise, private cloud, hybrid and public cloud. From an application suitability standpoint, some applications are better suited as behind-the-firewall apps while others are good for cloud usage.
Cloud-suited applications include those that have data that may not be as sensitive or have traffic patterns that are hugely variable. Apps with relatively constant workloads that need to be maintained over longer periods of time tend to be better suited for on-premise deployments.
Also, applications may start their lifecycle deployed on a public cloud. As it matures, the business may decide to bring it in-house and host it in an internal data center. Applications may also need to support a hybrid deployment model that allows cloud capacity to augment dedicated capacity during peak workloads.
While applications transition through these states, most application development platform alternatives provide solutions that are either cloud offered (SaaS), or usable on-premise but are seldom both. While on-premise runtimes can be deployed in a VM on the cloud, true built-for-cloud offerings support cloud-optimized scalability by adding VMs. They typically use stateless architectures to support this kind of scalability.
Native app vs hybrid app vs Web app
Does your technology solution/partner align with your mobile strategy for growth and requirements? Companies often evaluate platform choices based on the immediate business objective. This should not be done without a view of future growth objectives in mind. For e.g., a Retailer that is looking to create a mobile commerce web frontend should determine if the creation of loyalty apps is desirable in the future.
Based on the answer to that question, they may want to pick a platform that supports the cross-platform development and high fidelity implementations using a native app strategy. Such a selection will drive down future cost of development substantially while enabling support for other device form factors in the future.
Scalability
In the world of application development, speed to delivery is often inversely proportional to the suitability of the solution for enterprise scalability. While developer productivity tooling that is used for speedy delivery drives out time to go live, it often does so making general purpose assumptions about service and schema architecture that falls short when it comes time for scale out. While making a technology choice, decision makers need to evaluate their solution to ensure that it allows customization of the right application tiers to meet the specific needs of the solution.
Skills
Optimize around prevalent skills and ensure you have design freedom. A critical part of the decision of application tooling lies in evaluating fit within your organization. Native iOS and Android development skills tend to be expensive and hard to come by, while developers with Javascript/HTML5 skills are relatively inexpensive.
Typical organizations have these skills as part of their IT organizations and can support apps created for these in an easier fashion. Your choice of application development technology should be driven by your cost of development, as well as your team’s ability to assume ownership of this code and support it long term.
In addition, certain vendor tools use architectures such as screen scraping, that makes an API out of a UI tier. This model is fragile at best and contradicts code best practices around the need for stability of your API. Customers using this model have experiences with frequent site outages when changes to a dependent site interface are rolled out.
Design recommendations for mobile interfaces indicate that your mobile experience should be devised with Mobile Moments in mind, so they cater to the needs of the user in his/her moment of need. Your choice of a solution may severely constrain your designers in putting out designs that appeal to your user base, and that results in significant headwinds in the ability of your mobile apps to meet their revenue and/or customer satisfaction metric objectives.
If you can keep these considerations in mind while picking your mobile technology and/or technology vendor, it’ll go a long way in ensuring favorable outcomes to your mobile strategy. Go forth and conquer!
Learn more about mobile strategy here.
=====================================================
[1] Based on data published by Mobile Commerce Daily, available at http://www.mobilemarketer.com/cms/news/research/19002.html