07/03/2013 | Expert opinion - Rémy Dujardin, Test offer Manager, and Florian Lorence, JEE and mobile Technical Architect, Hardis Group

All studies agree: mobile devices (smartphones and tablets) are fast becoming the main access points to the Internet. Offering mobile applications is becoming a strategic issue for companies. But the right strategy still needs to be found...

What "type" of mobile application should be offered? A native app for each operating system (OS) to be downloaded from an app store? A mobile website (or web app) accessible from any Internet browser? Or a hybrid application, developed as a web application but made ​​available through an app store? No solution is on the face of it better than another: each has advantages and disadvantages. For mobility, as in any IT project, the choice depends on the context, on objectives, and on business, functional, technical and budgetary imperatives. 6 key points to help you make the right choice

1. Define the expected features and uses

The first question relates to uses and needs. A native application makes it possible to take full advantage of the terminal's functions (calendar, contacts, photo, video, storage, geolocation, etc.), to provide a richer user experience than a mobile website can offer. But the native application interface is designed for a specific medium. Conversely, with a "Responsive Web Design" website, the display can be optimized to fit to the size of the screen on which it is consulted, which means that the company doesn't have to create (and maintain) several interfaces for each terminal (smartphone, tablet, PC, connected TV, etc.). The hybrid application provides an almost complete access to the native functions of the terminal, while providing an adaptive interface.

In addition, the native or hybrid application can possibly function without an Internet connection, unlike mobile websites. This is an important detail depending on the context in which the application is used (at home, at work, in public transport, etc.) and the quality of the connection.

2. Adapt the offer to the fleet of mobiles addressed

Is the user's fleet of mobiles homogeneous? As for example in a company whose employees are equipped with the same type of mobile or at least the same OS. Or, on the contrary, is the application aimed at the general public, whose mobiles are by nature heterogeneous?

A native app is only compatible with the operating system for which it was designed: iOS, Android, Windows Phone, Blackberry, Symbian, etc. Development costs are therefore directly related to the number of platforms targeted. In contrast, a web app or a hybrid application is not dependent on the OS, and will adapt to most terminals.

3. Evaluate the technical skills required

For mobile websites or hybrid applications, a command of traditional web programming languages ​​(HTML5, CSS, JavaScript) is enough. Native applications require extra skills specific to each OS: Objective-C for iOS, Java and XML for Android, C / C ++ or Java for Blackberry OS and C #/VB.Net or C ++ for Windows Phone... And no component can be reused from one OS to another.

Before getting started, it is essential to ask the following questions: what skills are needed in the development, testing, corrective and evolutionary maintenance phases? Which skills will be called on from outside the company? And what will the cost be and in what time frame? The answers have consequences that are far from trivial...

4. Anticipate the right tests for each type of application

Whatever option is chosen, tests will make it possible to verify the quality of the display, how intuitive navigation is, the kinematics of the screens, the how services are expected to operate, etc. But also whether the application behaves correctly regardless of the quality of the connection (broadband Internet, 3G or Edge): even more than for other applications, the number and weight of queries (and therefore exchanges with the rest of the information system) must be kept to a minimum.

For native applications, each OS editor provides an emulator to simulate these tests without having to install the applications on a terminal. But tests in a real situation are still needed to check how the application behaves. Such checks require specific technical skills, which may be time-consuming for heterogeneous fleets of physical devices.

In turn, web and hybrid applications must be tested for each browser, resolution and screen size, like for any web site. While robots do exist, they cannot completely replace testing in real situations. So contrary to what one might think, while development and testing of a mobile website does not multiply costs by n operating systems as native applications do, this does not make them n times cheaper.

5. Think deployment and its impact on time- to-market

The mobile website is, without doubt, the solution that makes the application available to its target as quickly as possible. It is available immediately from a conventional URL. Conversely, the publication of native or hybrid applications is subject to a validation phase with public app stores (Apple Store, Google Play, Blackberry App World, Windows Phone Marketplace., etc.). This submission phase can last several weeks, which delays their availability to users. It is also essential to provide automatic switchover from the test environment to the production environment without redelivering the native or hybrid application under penalty of having to restart the validation process and therefore begin the countdown before the application becomes available to end users all over again.

The special case of applications internal to the company should be noted. They can be deployed in private stores, and are in this way made free of the validation cycle. And with Mobile Device Management (MDM) tools for managing and updating the fleets of mobile terminals, their deployment is accelerated... and controlled.

6. Anticipate updates to maximize user satisfaction

Whatever the solution, maintenance and updates are essentially subject to the same requirements as development. A simple update of the production server for mobile websites. A new round of submission and approval by the store for native and hybrid applications with the same test environment imperatives to be managed. In the first case, the update is automatic and transparent for the user, who always has access to the latest version of the mobile website. In the second case, it is necessary to provide a mechanism for the user to be notified that an update is available, so that he can install it. But stores make it easier to obtain user feedback - through rating systems and comments - that make them a valuable tool for continuous improvement of native and hybrid applications.