Cloud infrastructure for mobile application development

Building mobile applications for multiple devices is one of the critical issues in mobile development and can be solved with a few simple ideas.

One of the biggest issues in mobile application development is how to build mobile apps that are applicable to...

many mobile devices. This issue is being escalated with the advent of bring your own device (BYOD), a policy that many organizations favored.

Mobile devices have differing operating systems, differing screen sizes, differing attributes, such as GPS. Developing a mobile app that runs on many devices provides the cross-platform capability to make more mobile apps available to users, but it creates a lot of work for developers. If developers implement an app for one set of mobile devices -- say, Samsung or AT&T or Motorola -- they must be ready to deal with additional new devices from these vendors every few months.

One solution to the mobile app development problem, and other problems around mobile computing, is to move the apps and their data, normally stored on the mobile device, to servers running in a mobile cloud. With this solution, when an app is made available on a mobile cloud, users can access the app and its data via browsers running on many different mobile devices. Tools needed to help make this solution work, such as MEAPs and HTML5, are discussed below.

Mobile cloud computing can be viewed as a cloud infrastructure enhanced to provide a mobile ecosystem for mobile apps and to allow access to business apps from mobile devices. The data processing and the data storage happen outside the mobile device, and results are displayed through the mobile device screen or speakers. 

Use mobile clouds and tools to simplify mobile app development for multiple mobile devices
The big problem for mobile app developers is to create an app that can be run on multiple mobile devices without having to build the app for each particular device. We have suggested the mobile cloud as a solution to this problem. There are tools that make this solution much easier.

Mobile app development using MEAPs
With mobile apps and their data running on the mobile cloud, we still have to support differing types of devices with different screen sizes from different mobile device manufacturers. One set of tools that can run on the mobile cloud that make this task easier are referred to as Mobile Enterprise Application Platforms (MEAPs).

A MEAP is a comprehensive suite of products and services that enable development of mobile applications. MEAP platforms do some things specifically for mobile devices, such as make sure that the data sent to the mobile device from the mobile cloud fits on the mobile device screen. A MEAP's platform converts data into a user-friendlier interface for the mobile device. It has an authentication mechanism in it that reaches all the way down to the device so that, if the device is lost or stolen, it can be wiped. One such MEAP platform is the multi-tenant Sybase MEAP. It does the conversion on the fly to make data fit the mobile device screen. The Sybase MEAP secures the mobile device and then does the conversion. One company, Marcus & Millichap, takes a slightly different approach. It uses a content management system (CMS) developed by SiteCore that automatically renders to all mobile devices, removing the need to write device-specific apps for iPhone and Android phones.

Mobile app development using HTML5
A second approach to use in creating mobile cloud apps for multiple mobile devices is HTML5. HTML5 allows you to determine, to some extent, what the end mobile device is. It can query in real time and determine that data information is being served to a mobile device with a certain set of dimensions. On the fly, it can determine what those rendering characteristics should look like. This is a dynamic exercise, and it is all done in the cloud, where there is a lot more processing power (and it is needed). 

Hybrid mobile app development
A third approach to reducing the amount of effort required to develop mobile apps and take advantage of some of the physical attributes of the mobile device is hybrid app development. This approach employs native device capabilities with architectural capabilities for HTML5. A hybrid application is a native, downloadable mobile cloud application that runs all or some of its user interface in an embedded mobile browser component. Instead of rewriting the application for each mobile operating system, mobile app developers write at least some of their application code in HTML, CSS (Cascading Style Sheets), and JavaScript, and reuse it across devices.

Use mobile cloud computing to give mobile device users big advantages
In addition to easing the development of mobile apps for many mobile devices, there are other advantages to running mobile apps on a mobile cloud:

  • Mobile devices can be allowed access to powerful, back-end business apps, if sufficient security is provided.
  • More mobile apps can be made available to a broader audience.
  • Multiple security apps that check mobile device security can be run on the mobile cloud, providing much broader and more comprehensive security checking for mobile devices.
  • Running mobile apps on a mobile cloud makes many more apps available for organization users.
  • Use of the mobile cloud allows mobile devices to be included in the centralized security scheme of the cloud.

Consider SaaS delivery for mobile apps
SaaS is well aligned with mobile cloud computing because apps and their data are being moved off the client (mobile device, in this case) onto a (SaaS) cloud server. When a mobile app is located on a cloud, it can be offered as a service, making SaaS providers perfect for delivering mobile apps. SaaS providers just need to adapt to working with mobile devices; that will put SaaS players in a great position to deliver mobile apps.

Next Steps

Why enterprises need to understand and use MBaaS

Dig Deeper on Mobile infrastructure and applications