Product Marketing Manager for IBM Mobile in IBM Software Group
This article originally published on ibm.com.
Has your organization identified mobile applications as a key piece of your strategy? Are you in charge of choosing the right tool for the job? If so, you are probably overwhelmed by the variety of mobile offerings in the market. This article intends to help by pointing out the top 10 considerations you must be aware of when choosing the right mobile application platform that will address the unique needs of your organization.
Don’t compromise on user experience
True cross-platform applications have been the holy grail of mobile development for quite some time now. Unfortunately, achieving a seamless transition of code across mobile platforms, while maintaining an optimized user experience on each device, is easier said than done. To overcome this challenge, many vendors resort to only highly automated form-based, drag-n-drop and WYSIWYG integrated development environments (IDEs), automatic code translators, or other proprietary components. Although very simple to use (some do not even require coding), without the ability to customize the code, these approaches can prove limiting in terms of application functionality and richness of the user interface.
Mobile apps are like any other product; if you want people to use them, they need to be good. Good apps are engaging, designed for performance, and are customized to deliver the functionality your users need, on-the-go and in a simple-to-use manner. Developing such apps with a form-based IDE or machine-generated code, is for all intents and purposes impossible.
When choosing a mobile application platform, be sure it can enable the development of apps that will address the unique requirements of your organization and your customers, both current and future.
Support different development approaches
Mobile apps are no longer an experiment. Companies are quickly realizing their value to different lines of business, both as productivity tools for employees and as engagement channels facing customers.
Choosing a development approach for these apps, namely native, web or hybrid, entails many parameters such as budget, project timeframe, target audience and application functionality, to name a few. Each approach carries inherent benefits and limitations, and with no single panacea, finding the one that best addresses the unique needs of each project could be a challenging task.
The answer lies not in one approach, but rather in a flexible solution; one that can harness the benefits that each provides, and support not only the development of one mobile app and one line of business, but of the entire mobile strategy of the organization.
Build for performance
Your customers and employees are now demanding an optimized user experience whether using their laptops at home or mobile devices on the go. Recent reports show that already today, mobile users are spending more time using apps than mobile browsers (i). Combined with projections of over 50 percent of users accessing the web via mobile devices by the end of 2013(ii), the conclusion is clear – application performance has never been more crucial for your mobile initiative.
No one would argue with the notion that native apps, or apps that have been developed using the native code of the device, can be optimized to deliver the highest performance and user experience. But at the same time, the cost of their development and maintenance, the time it takes to deploy them, their dependency on one single device, and the scarcity of available development skills make them an expensive endeavor that many companies decide to forgo.
The hybrid technique results in a mobile application that delivers the experience users expect, but, at the same time, includes code that can be shared across environments, easily maintained and significantly cheaper to develop.
But application performance is not guaranteed with every mobile application platform. When choosing a platform, be sure it was built for performance and includes features such as:
- Comprehensive testing features
- Mobile friendly coding
- Slim data-transfer protocols
- Secure on-device storage
- Background activities
- Network identification capabilities
- Server-side mash-ups of back-end data
Enable collaboration and efficiency
There are many ways to build a mobile app and many solutions that can help in the process, but not all deliver the same level of efficiency, collaboration and cost savings. Modern business applications are constantly evolving. For one, they are rarely developed by a single person anymore. In fact, one would normally find multiple teams working on different portions of the same app. Sometimes even from different geographic locations and using different code languages, third-party libraries, and open-source frameworks. In this reality, it is becoming increasingly important to maintain a centralized overview of the process and ensure that the policies of the organization are enforced and maintained.
Building apps using the right tools can dramatically simplify this process and its overhead. For example, some of the features that modern solutions enable include:
- A centralized build mechanism
- Collaboration tools
- Source control management
- Elaborate testing and error reporting capabilities
- Concurrent development of independent elements
- Simple integration with third-party frameworks
Ensure proper authentication and address security concerns
Whether employee or customer-facing, mobile applications are quickly assuming the roles of many mission-critical systems in the enterprise. It is no wonder then that authentication and security have risen to become the top concerns of the mobile enterprise.
Recent reports show that mobile commerce will reach $31 billion by 2016(iii), and that by 2015, 50 percent of online sales will be conducted via mobile apps(iv). The vast amount of transactions and the sensitive data they entail will have to be secured and protected. Like the web before it, regulatory legislation of the mobile channel is a question of when, not if.
When choosing a mobile technology, ensure it provides a robust security and authentication framework. Such features include secure client/server communication, on-device encryption, offline authentication, access control and other mechanisms that will complement your existing infrastructure as well as steer your brand away from embarrassment and legal actions.
Close the HTML5 gap
Commitment from all major mobile vendors, active standardization efforts and a growing ecosystem of third-party tools has been fueling recent success and adoption of HTML5. This umbrella of over 100 features, including textual and graphical presentation, data semantics and manipulation, messaging, storage, and user interaction has become the leading candidate in the race for standardizing cross-platform mobile development.
Thanks to technological advancements in modern mobile browsers, using HTML5, today’s mobile developers can easily build native-like, cross-platform apps while implementing advanced user interface (UI) components, leveraging offline storage capabilities, accessing rich media types and geo-location data, and expanding their delivery channels beyond public app stores.
But despite its progress, many challenges still stand in the way of HTML5 adoption. Limited access to native device APIs, uneven support from different devices, cache limitations, proprietary Android layers, and browser memory management are but a few of the gaps that mobile developers face.
But instead of compromising on application functionality, or forgoing HTML5 and missing out on its clear current and future benefits, developers can choose the hybrid route.
Using this approach, developers can still enjoy the benefits of choosing HTML5 as their core mobile technology, without compromising on application functionality, richness and, most importantly, the user experience. Furthermore, as HTML5 continues to evolve and cover more mobile features and functionality, early adopters of this approach will benefit from a seamless and gradual transition as opposed to an extreme overhaul of their entire mobile infrastructure.
Connect with back-end and cloud-based systems
Mobile business apps are not independent entities. They are tightly connected to a variety of existing back-end and cloud-based systems that are responsible for the organization’s core processes, databases, and authentication and security mechanisms. Back-end integration determines not only the functionality of the app, but is also crucial for its performance, maintenance overhead, scalability, time-to market, and regulatory compliance.
Beware of solutions that require extreme makeovers of your IT infrastructure. Especially those made with proprietary components. The right solution will support the rapid integration of the company’s hybrid world of public clouds, private clouds and on-premises, back-end applications, as well as provide the mechanisms to orchestrate their integration. Find the solution that will allow your developers to easily facilitate the connectivity between the app and the back end in a secure manner via standard and mobile-friendly technologies such as XML and JSON.
Furthermore, a server-based architecture acting as the gateway between the application, the back end, and cloud-based services provides an independent integration layer that is accessible to all apps. Leveraging such an approach can help to not only reduce your cost of development, time to market and ongoing maintenance efforts, but also allow you to mash-up multiple back-end data streams and optimize them for mobile consumption.
Manage mobile apps, devices and data
Much of the value derived from business applications is associated with the ability to access data and transactions on the go, in a secure and simple way. To facilitate this, companies allow direct access from mobile devices to back-end and cloud-based systems; many times exposing sensitive information to easily hacked and unprotected devices. Managing the apps after they have been downloaded and installed on devices has never been more important.
Coupled with the growing fragmentation of devices in the market, and the Bring-Your-Own-Device (BYOD) trend that has been challenging IT departments with the support and security of personal devices used for work, a growing number of organizations are starting to adopt a combination of management approaches, both on the application level, using Mobile Application Managment (MAM) functionality, as well as on the device level, using Mobile Device Management (MDM) features. Some of the features that a combined approach provides can address issues such as centralized access control, application version management, Over-The-Air (OTA) updates, remote disablement and many more.
But not all of the control and management features that mobile platforms deliver are focused on preventing data loss. As mobile devices assume a more prominent role in customer engagements, organizations must prepare to collect and harness the data these transactions entail, as well as analyze it in corporate business intelligence systems and draw actionable conclusions from it. When choosing a platform, be sure such data is collected and can be easily exported to your existing business intelligence infrastructure.
Evaluate supporting services
The challenges of the mobile enterprise are no longer limited to application development alone. The mobile channel is transforming the way companies are doing business, and with that transformation, new challenges arise on both the business and the IT level.
At the business level, basic models are changing in the way the business interacts and transacts with customers, employees and partners. Full business transactions need to be enabled with low latency characteristics, 24x7, from anywhere in the world and at any time. Knowledge of location can be important and utilized as part of the interaction. Social business interactions add opportunities and complexity to the space.
At the architecture level, development lifecycles have become more complicated. They must be faster and more iterative, and companies have to deal with a variety of other issues such as multiple platforms and development styles, integration with back-end and cloud-based services, scalability, protection of sensitive data beyond the firewall, and collaboration of cross-functional teams.
Choosing a mobile platform that you can easily integrate into your existing IT infrastructure and leverage its resources where possible is only half the challenge. Be sure that the vendor you are dealing with can support your mobile initiative with the experience and knowledge that will help extend and transform your business.
Protect your investment
The mobile landscape is far from standardizing. With the ongoing fragmentation of devices and no clear leader in the market, companies must continue to cater their apps to a variety of operating systems and form-factors. But in order to do so, be aware that the mobile infrastructure that is at the core of your strategy must be backed by a vendor who can quickly support new environments as they reach the market and allow you to extend your capabilities to meet the needs of customers and employees while transforming your business for mobile success.
Before choosing a mobile application platform, do your homework. Check whether the vendor has a support framework that fits your service level agreements (SLAs) and an elaborate product roadmap. Be sure they can refer you to satisfied customers and that they are financially viable.
i GigaOM – Mobile app use soars while mobile browsing wanes, by Ryan Kim, January 12, 2012
ii Online Media Daily – Gartner: Mobile to Outpace Desktop Web By 2013, by Mark Walsh, January 13, 2012
iii Forrester – Mobile Commerce Forecast: 2011 to 2016 – Sucharita Mulpuru
iv Gartner – Companies Will Generate 50% of Web Sales Via Social and Mobile Applications by 2015
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.