Mobile broadband presents what's possibly an unparalleled opportunity for worker empowerment and also a potential new source of ongoing development and application modernization challenges. How can you create optimized applications without specializing in every platform and rebuilding your tools to accommodate changes in mobile OS tools? Are your tools keeping you from creating optimum applications? To get control of your mobile apps, frame applications based on the lowest common denominator features, select MBaaS platforms and front-end strategies that optimally support the common feature set, assess devices (current and new) based not on their features but on what MBaaS can support and recognize the signs that device specialization will be worth the cost.
Mobile empowerment has all too often created an explosion in technical challenges even as it's targeted improvement in worker productivity. Most of today's mobile-empowered enterprises have crept into their current technology tools and commitments rather than planned for an orderly mobile evolution. Often, this means that there are many different mobile frameworks, one for each device and sometimes several for different applications on the same device. Believe it or not, even with all the recent focus on mobile empowerment, we're only at the starting line. This may be the last opportunity to get control of mobile development.
The first step in gaining that control is looking at the essential mobile app features for your empowerment, rather than looking at all the "cool" things that a certain platform can do. Enterprises have long known that exploiting every new feature of a mobile device rarely pays off in productivity gains, and it always multiplies the number of versions of mobile applications, unless you've abandoned the enterprise trend to BYOD.
Almost all mobile device applications aim to give workers a mobile-friendly and activity-targeted view of information. The quality of the information and its appropriateness to the context of the worker are the most important features of these applications, and so, it pays to look first at the information needs of the worker and then on the most platform-generalized way of addressing those needs. Start from the back end -- the core business sources of the data the workers need -- and then work forward to present the information in a mobile-useful way. Always look first at worker context or behavior to decide what they need and then at the presentation mechanisms. Generally, the specifics of the GUI will differentiate mobile devices and OSes from each other, rather than the way they interact with the back-end portion of applications.
Once you understand what specific empowerment goals your mobile development should support and what the back-end core business applications' roles are in providing it, you can frame a mobile backend as a service (MBaaS) or mobile device strategy. MBaaS is the best way to support multiple, evolving devices, but you want your choice to empower and not constrain you. Pick two or three top MBaaS contenders for your mission, and then explore the application features they support in common. If you can stay with a feature set that multiple tools support, you have no risk of being locked in.
Features of MBaaS platforms
The common feature set for MBaaS you just identified should also serve as the basis for assessing how to handle new capabilities in mobile devices or OSes that develop over time. Features that can't be supported by your common MBaaS toolkit will force you to do per-device development to fully exploit. Try to avoid these features unless they offer a significant benefit, because creating multiple application versions for different devices will build development cost and complexity over time.
You might also want to use the common MBaaS toolkit to evaluate mobile devices. If you find that some mobile devices/OSes don't have optimum MBaaS support for the features you need, you may want to consider dropping the platforms from your supported device list. Otherwise, you'll likely end up with multiple application silos, and the divergence between necessary and supported features may diverge further over time. Similarly, the best new device choices will be ones that have MBaaS platform support using the common toolkit features.
Enterprises report that the biggest problem they have with multiple mobile platforms and MBaaS isn't different device vendors but different device and software versions. Apple's iOS and Google's Android -- the two most popular mobile device platforms -- are both evolving quickly because of the competitive state of the mobile market. Older devices often won't support the latest OS software (particularly with Android), and you may have to tune your BYOD policy to exclude older versions of devices for that reason.
Steps to MBaaS platforms
Another thing enterprises report is that the competitive state of the mobile market may combine with specialized requirements for some worker targets of worker empowerment to create a fit so good that it makes sense to abandon the notion of a common platform for all. This situation is likely to be even more common in the future, as cloud services offered by mobile device vendors are made available to device developers. What do you do then?
Plan, first and foremost. Any time mobile device vendors offer cloud services, you'll want to keep abreast of the features and decide if any are suitable for inclusion in your mobile development plans. Most cloud computing features are likely to fit best behind the MBaaS platforms, but new features, like Google's support for microservices hosting in the cloud, may also be valuable even as part of app development.
Second, break up your development into front- and back-end components. The front end should focus more on presentation models, like HTML5, and the back-end platforms on managing the transaction flows. This can minimize the amount of platform-specific authoring you'll need to do.
It's hard to see how market evolution in the mobile space will do anything other than expand the number of platforms enterprises will have to deal with, and competition among vendors will introduce new features and issues. With careful planning, you can guide your own development efforts around the potential pitfalls that change will create and get to a good, productivity-enhancing place.
Looking at MBaaS vs. BaaS for your enterprise
The seamless transition to MBaaS
Shaping the enterprise with MBaaS architecture