BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Your Roadmap to an Open Mobile Application Development Strategy

Your Roadmap to an Open Mobile Application Development Strategy

Key Takeaways

  • Mobile Application Development Platforms support multiple deployment options – native, hybrid and web.
  • They allow developers to decouple the Front-End and the MBaaS infrastructure
  • MADPs enable task automation by using both cloud services and a low-code development approach.
  • Use an open source MADP platform as a protection from vendor lock-in.

Today’s business leaders are going all out to transform their organizations through the use of mobile technologies. According to a recent 2017 Enterprise Mobile App Report by outsourced app development specialist Contract IQ, “for the third year in a row, enterprise demand for custom app development has increased from 23 percent in 2014 to 29 percent in 2015 to 32 percent in 2016”.

Mobile tech can help boost many aspects of their business -- from sales and business processes to field service and customer satisfaction. To keep up with this soaring demand, developers are challenged to deliver apps that can run across a wide range of devices, operating systems, frameworks and runtimes.

This article makes the case  for an open development infrastructure as a key to contributing to business agility in such a fast and dynamic market,.

The Value of a MADP

As organizations take on more complex applications, from mobile CRM and offline field service delivery to vehicle dynamic controls and integrated flight apps, a full-stack Mobile Application Development Platform (MADP) can ease the burden of mobile development and maintenance. More importantly, it can help scale countless apps and back-end integrations to support mobile workers and link them to corporate networks.

An MADP allows a business to rapidly build, test and deploy mobile apps for smartphones and tablets. It can minimize the need for coding, integrate building-block services, such as user management, data management and push notifications, and deliver apps across a broad array of mobile devices. The result is a common and consistent approach, so developers can customize their apps without worrying about back-end systems or implementation details.

Michael Facemire, principal analyst at Forrester Research, observed in an analysis of Mobile Development Platforms that companies fall into two camps: “those that prefer an all-inclusive platform”, who represent the greatest, though waning part of platform spend today, and “those that prefer to manage a collection of services”.

The first group of customers work with large infrastructure vendors, such as IBM, Oracle, and SAP, who offer complete environments for development, delivery, and management of mobile applications. They benefit from platform stability and custom  support, but may struggle compared with other platforms when building mobile experiences outside of their proprietary ecosystems.

The second group of customers prefer to manage sets of services that support their mobile initiatives. These service-driven solutions, with  Amazon Web Services and Microsoft as pure-play vendors, require more effort and large teams of skilled developers to deliver mobile apps at scale and velocity. They may be more flexible, however, and make it easier to customize the final apps to better fit their specific needs.

Although both can benefit from MADPs, only platforms built on open and standard  technology will make it possible to build mobile experience outside of proprietary ecosystems.

Getting Mobile

Setting up a mobile infrastructure internally can take a significant amount of time and resources. Mobile apps must provide user interfaces that run on a wide array of devices, including smartphones, tablets, laptops, netbooks -- even car dashboards.

Developing enterprise mobile apps requires you to deal with the following problems:

  • Connect with Data: Mobile workers want to tap into diverse data sources, such as Customer Relation Management (CRM), Enterprise Resource Planning (ERP), Finance and HR -- in real time. Creating mobile apps that can tie into this backend infrastructure can be resource-intensive and time-consuming, though.
  • Support Multiple Platforms: Each mobile platform has a native way of displaying information, laying out screens and implementing navigation. To develop cross-platform mobile apps, you should aim to create a single code base that can run on multiple operating systems.
  • Build Services: Mobile apps use core services that are hosted on a centralized server stack and exposed. They can range from data management and push notifications, to social media integration and analytics. To increase productivity, it makes sense to reuse these building-block services across multiple app projects.
  • Synchronize Offline Data: Strong synchronization services are needed for offline scenarios, so that mobile users can work on local data when the network is not available, and then sync their data back to the back-end system when the network is restored.
  • Control Data Access: As mobile workers access corporate assets from a mix of personal and company-owned devices, user identity management becomes critical. Personal devices that are connected to the networks are vulnerable to security breaches. They require user authentication mechanisms that are tied to enterprise directories, such as LDAP and Active Directory.
  • Manage Security: Protecting the confidentiality of digital data that’s at rest or in transit between mobile devices and servers calls for encrypting company records, such as passwords, payment information, and other data that should be considered private.

Open Up Your Platform

So, how should you go about selecting an enterprise-class MADP vendor?

The development approach that you select will take into account your budget, project timeframe, target audience and application functionality. Specifically, a platform that can support multiple deployment options – native, hybrid and web – will provide the greatest flexibility:

  • Native apps guarantee access to every feature in the target device, such as messaging, GPS, camera, push notifications, image capture dispatch, barcode scanning and more. They excel in B2C environments where users operate their own mobile devices.
  • Hybrid apps often run on personal and company-owned devices in B2B environments. They don’t require the use of proprietary development languages: developers simply write the core of the application as an HTML5 or JavaScript mobile app, and then place a native device wrapper around it. Hybrid software allows greater code reuse, and lets developers work on more platforms with less time and expense.
  • Progressive web apps are regular web pages or websites that behave like native mobile apps. Developers can update them directly on their web server without having to submit their updates to several different app stores.

Automate Development

Mobile Application Development Platforms (MADPs) aim to help deliver more scalable infrastructure back-ends, and ensure higher front-end development productivity. Low-code MADPs, such as OutSystems and Convertigo, also help create mobile apps with little or no coding, so that developers don’t need to master complex code.

Typically, a visual development environment allows developers to build mobile apps by dragging and dropping content and services into them.

A Mobile Backend-as-a-Service (MBaaS) also provides core services, such as data storage, push notification, geo-location, as well as user authentication and management.

“MBaaS/MADP technology allows us to streamline and optimize the development of our clients’ mobile apps”,  said Adrien Loire, Mobile Development Executive at CGI IT and Business Consulting, in a conversation.. “We use this Full-Stack approach to manage all aspects of mobile development, from Line-of-Business app connectivity and security controls, to managing off-line data, and creating multi-platform user interfaces”.

To enable faster and more productive development cycles, the following practices are recommended for MADPs.

  • Decouple the Front-End and MBaaS

Mobile apps are really two applications in one: there’s a front-end process set that is user-driven, as well as back-end legacy application processes.

In an organization, app use cases can be so varied that a single front-end development tool cannot address them all. This means that the MADP must open up its backend and integration services to other front-end frameworks and tools that could better fit specific use cases.

Legacy systems also evolve over time. So mobile applications must be easily maintainable. A flexible mobile platform can help increase productivity and reduce the risk of errors.

  • Meet the Standards

Compliance with standards helps preserve your investment by reducing risks and potential hidden costs. To keep pace with market changes and facilitate interoperability with third-party products, an MADP should apply standards-based, well-known technologies that are widely deployed and used by millions of developers, such as HTML5, JavaScript, TypeScript, Angular, Apache Cordova, or Node.js. That’s why as you select an MADP, it’s important to verify that its architecture can support these standards.

  • Leverage the Cloud

Mobile apps are ideal candidates for cloud services. They help adapt to constant changes in the mobile device market. You can expect an MADP to run in the cloud, so you can benefit from the latest technologies, such as containerization (Docker) and elastic scaling (Kubernetes).

Cloud MBaaS solutions also provide out-of-the-box capabilities that can slash development and configuration tasks, such as setting up multiple push-notification on servers to deal with both Android and iOS.

Even more, these cloud facilities can relieve staff from the tedious tasks of configuring, deploying and operating your servers and mobile app infrastructure.

  • Facilitate API Access

An MBaaS platform needs to integrate with your enterprise’s legacy environment -- including your ERP or CRM systems databases, live RSS feeds, and even directories that manage accounts and authentication.

Managing the APIs that connect to these backend resources can vastly simplify your development efforts across multiple platforms.

Mobile requires connectors so apps can access your enterprise data and services for offline support, network connectivity and security. This eliminates the need to buy additional back-end infrastructure components to provide network connectivity, sync data, authenticate users, and more when building apps.

  • Consider Open Source

The mobile industry moves fast. According to Gartner, smartphone sales totaled 1.5 billion units worldwide in 2016. New requirements and opportunities emerge at an impressive pace. Mobile solutions, for example, may change to incorporate new features in a matter of week, or to support new workflows or better  user experiences.

 “For this reason, we opted for an intentionally open, commercial, thus supported,  MADP platform – that is also open source”, confirms CGI’s Loire. A key motivation is that only a full-stack, open source MADP can prevent vendor lock-in.

Such a platform should offer customers broad app deployment options. For example, they should include public, private, and hybrid cloud deployments, along with on-premise solutions if your organization faces strict regulatory requirements.

Open Source MADP platforms, such as Convertigo Mobility platform, developed by the company I am CEO of, can help you gain the acceleration and agility needed for your  projects. Unlike proprietary MADPs, open source full-stack MADPs -- not just specific modules -- can reduce the risk of getting locked in an ecosystem or that a vendor might remove support for some services or raise their pricing. Your developers can work with their preferred front-end design and development tools, allowing you to leverage all their professional skills in your organization.

What’s more, an Open Source MADP / MBaaS platform’s code is publicly accessible. This means that a large community of users and developers can share information, solve problems, and help you benefit from their ongoing enhancements and upgrades.

The result is an opportunity to use and customize apps that can suit your company’s specific needs, and an assurance of evolutionary capability for the future.

About the author

Olivier Picciotto is Convertigo’s co-founder and CEO, focusing on building open source digitalization platforms for Enterprises. Olivier was previously CEO and co-founder of Twinsoft, specialized on enterprise software to integrate legacy apps in new web-based portals. Olivier is a frequent conference speaker and has a strong background in the enterprise middleware software industry having built and managed product development teams when he was working for ATOS.

Rate this Article

Adoption
Style

BT