Mobile Technology Stack Considerations for Your Business Apps

December 21, 2015

As the mobile ecosystem and consumer reliance on their devices grows, businesses are making their mobility 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 to highlight include 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.

As CIOs are ramping 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 with 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 that often comes up 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. As you look to make your choice, here are a few considerations that should guide your quest for a technology stack and possibly a mobility partner.

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, but leave a lot to be desired in the UI development space. On the other hand, open source UI libraries help cut down work in implementing 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, and as it matures, the business may decide to bring it in-house and host it in an internal datacenter. 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 often, most application development platform alternatives provide solutions that are either cloud offered (SaaS), or usable on-premise, but are seldom optimized for both. While on-premise runtimes can be deployed in a VM on 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 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 specific needs of the solution.

Skills - Optimize around prevalent skills and ensure you have design freedom. A pretty 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 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 mobility strategy. Go forth and conquer!

=====================================================

[1] Based on data published by Mobile Commerce Daily, available at http://www.mobilemarketer.com/cms/news/research/19002.html

Previous Article
Digital Business Transformation Powered by Axway and Appcelerator

This is a very exciting week for Axway as we announce the acquisition of Appcelerator and take an important...

Next Article
A Message from a Supply Chain Organization: All I Want for Christmas is a Digital Business Strategy Under My Tree

Dear Santa, I work for an organization that operates in the global supply chain, and I hope the North Pole ...