The most fundamental goal of IT is to support business processes, and those processes naturally begin with connecting the worker to workplace activities. That's why mobility is one of the hottest issues in enterprise IT. Mobile broadband and cloud computing could make connections better, which could drive productivity and increase the value of and investment in IT.
A worker on a mobile device, like a consumer with a smartphone, is both focused and distracted. While mobile workers must perform a specific task or obtain information from any location, they cannot divert their entire attention for too long to navigate a small device screen. The cloud can help unify these seemingly divergent factors.
Key characteristics of mobile cloud applications
Applications designed for a mobile cloud world should have two primary characteristics:
- Mobile cloud applications should be designed to present RESTful application programming interfaces (APIs) -- or URLs that represent very specific information rather than general interfaces that include a rich summary of data and capabilities. Otherwise, the information is too hard for a mobile user to see and navigate.
- Application interfaces should avoid device-specific characteristics or assumptions. That includes the mobile device vendor, the operating system, the browser, etc.
To meet the first requirement, it's important to visualize a mobile worker interface as a set of transactions, not a set of screens. For example, on a desktop, a worker might look up a customer name and receive a screen with all of the customer's information. You can't expect a mobile worker to do that much navigation on a small device screen.
For a mobile worker, a "ValidateCustomer" application and other apps, such as "ShowBillingAddress" or "ShowOpenOrders," would be more efficient, because they focus on the worker's specific interest and needs and avoid a complex array of data the worker must browse through. In companies where software is developed internally, this functional dissection of logic is fairly easy, but for third-party applications, it may require customization of the graphical user interface (GUI) to turn complex screens into simple ones. All functions are then presented as URLs.
The primary rule for mobile cloud is to remember that applications have to fit into both the mobile model and the cloud model.
Ideally, each application function represented by a URL has some flexible and device-independent format for data exchange. Many companies build mobile cloud applications based on an XML data structure for both input and output; these structures can then either be passed to apps running on the mobile devices or displayed with proper formatting in most browsers.
Development rules differ among mobile platforms -- such as iOS, Android and Windows -- so when structuring data, it's important to understand how each supported platform can access the data in its local apps and browser. The most flexible, broadly supported format is usually the simplest.
There are a number of commercially available cross-platform development frameworks for mobile applications -- Appcelerator, MoSync, PhoneGap, RhoMobile and WidgetPad, for example. These can help build apps that can be run on all major mobile platforms. For those enterprises that elect to use a browser-based app, the best approach is likely to use HTML5, but it's important to validate the features of all browsers to ensure the screens will run on each of the target devices. Be sure to note any restrictions on devices or browsers and incorporate them into bring-your-own-device policies to ensure compatibility.
Creating transactional apps for mobile cloud
Many enterprise applications today are built to use a Web front-end element to customize the GUI and protect apps from unwanted changes. This also may be the best option for mobile cloud adoption.
When new applications are built to support mobile cloud, it's helpful if the apps are "transactional," which means they are designed to process a request or response and then go idle. This type of application is easier to spin up in a new location in the event of a server failure, making them a good candidate for resilient hybrid clouds. Transactional applications, when combined with load-balancing front-ends in the network, can also be multiplied during periods of peak load to improve application performance.
The primary rule for mobile cloud is to remember that applications have to fit into both the mobile model and the cloud model, and these criteria will likely make them look more like consumer over-the-top applications in design and deployment than traditional business applications. Web developer experience, particularly with application front-end systems based on Web servers, will be very helpful in getting your mobile cloud up and running -- and keeping it responsive to changing business needs.
About the author
Tom Nolle is president of CIMI Corp., a strategic consulting firm specializing in telecommunications and data communications since 1982.