Building enterprise mobile applications that integrate seamlessly into the company IT environment has never been more compelling. Anticipated revenue growth from these apps is staggering. It is expected to double from US$25 billion last year to $50 billion in 2017, according to Strategy Analytics.
The mobile workforce that will exceed 200 million by the end of this year has graduated from simply expecting mundane e-mail, document review and IMs. It now requires business-process apps, video conferencing, collaboration, and content-authoring apps that increase worker productivity while in the field. On top of that, the need for these new apps to be managed securely has created an emerging market for Mobile Application Management (MAM) solutions.
There are several approaches to building successful enterprise mobile Web experiences. Some are more effective than others given that users are connecting via a variety of devices that render a range of experiences.
Which option you support depends on where your company is in the mobilization process. You can ignore mobile users altogether, provide a mobile site with scaled-down functionality, and provide a means by which the site recognizes a specific device type and serves back a customized experience. Or you can provide a unified Web experience.
A new paradigm
Building a unified Web experience using Responsive Web Design (RWD) may currently be the best approach, according to David Tucker, director of research and development and principal architect at software solutions provider Universal Mind. RWD is enabled by technology, so user experience developers have to design and optimize all touch points they need to support from the beginning, regardless of screen size or orientation. RWD may also simplify some of the challenges that eBusiness teams face.
The beauty of RWD is that you can develop for current devices as well as future ones because you have one codebase for all of them, and you’re leveraging current standards while at the same time supporting older browser versions. A word of caution though: RWD responds to device characteristics, not the device itself. And RWD requires new tools for CSS/HTML developers.
Deciding which development technology to adopt is only one of the critical decisions enterprise teams are faced with. Choosing the right platform is just as important. Each option provides developers with different advantages. “The ultimate decision will be based on business goals, internal resources, customer research and analytics data,” said Tucker. He then outlined the criteria development teams should use when making their decision: “Look at cross-platform compatibility, development tooling, device integration, user experience and ease of entry.”
Native Android, iOS and Windows SDKs: Benefits for development teams include deep integration with devices, the ability to build high-performance apps, early access to new phone features, and the ability to build apps that users are familiar with. Cross-platform compatibility isn’t a priority.
Web/HTML: Gives browser-based Web experiences. This may be your choice if cost and time to market are a factor, or you want to instantly deploy user experience changes and reach the broadest audience range, and you don’t care about customization or device integration.
Hybrid: The combination of HTML and native. Your priority is to have a common app experience on multiple platforms, (but you don’t want to customize apps to each platform), and you want the option of writing code and performance, and overall user experience are not priorities.
Compiled to native: The priority is to have an app experience on multiple platforms without customizing for each platform or touching native code, and you want to maintain one codebase for all platforms.
Runtime: If you have a large codebase in an existing platform supported by a runtime, you don’t have to deal with native code. It’s good for getting an app onto a device in a hurry, leveraging visual customization without having to integrate with native controls, and it gives you access to some functionality.
App Platform-as-a-Service: Provides support for multiple platforms with one experience dealing with native code or developing SMEs for each platform, while only needing limited access to device functionality.
Tucker is an advocate for agile when it comes to emerging mobile app development for several reasons. “Innovation is easier. Micro-level experimentation can happen with minimal impact to overall project budget, and user feedback is more easily incorporated for each sprint,” he said. He added that sizing methods give a better picture of what work can be accomplished in a specific timeframe, and that deployment is continuous, preventing product development stagnation.
Another big plus for agile is that cross-functional teams play a major role in the success of agile initiatives. Ideally, all key people—including back-end and front-end developers—and QA are on the development team. “By including all the stakeholders, you have all the pieces to complete the story, and you can ensure that the work is done once the sprint is complete,” said Tucker.
Agile tools
Development tools for agile have come a long way since they were first developed. Other tools such as version-control systems and bug repositories, while not necessarily built specifically for agile, have become better suited to take advantage of its benefits. Many tools have matured into reliable product suites, and even better, most are available in both on-premise and cloud-based versions.
With the decision-making processes of the project complete, the project will only be as good as the team that built it. For development team managers who are parsing résumés searching for developers and architects, this means finding candidates who know at least one native platform, understand JavaScript micro-frameworks and patterns used in today’s applications, and are competent with at least one server-side technology like Ruby, Java, PHP, .NET or Python.
And finally, this person needs to have built an app that’s in an app store, so they already know the process. If you’re a developer and are missing skillsets in one of these areas, now is a good time to backfill your skills. It may boil down to keeping your job.