by Robin Wirz (Guest Contributor), Netzwoche, 20 Jun 2012, (original article in German)
The development and administration of mobile applications confront companies with new challenges that require more than traditional application lifecycle management. Along with general volatility and market fragmentation, inadequate control is a major source of difficulties.
Companies are relying more and more on increasingly complex mobile applications. This not only requires careful planning, but also suitable technologies. Until now, lifecycle management for mobile applications has been based on traditional application lifecycle management. However, this isn’t enough to cope with the specific aspects of the mobile domain. Its enormous volatility requires constant adjustments – often already in the design or development phase, but certainly shortly after the app launch. The situation is made even more difficult by the sheer diversity of devices and indirect distribution via app stores.
App Stores hamper control
App stores reduce the ability of vendors to control their own mobile applications. Application updates are often subjected to multi-day verification processes, which among other things make quick bug fixes impossible. The campaign staff of US presidential candidate Mitt Romney learned this the hard way. It took a long time to correct a typo in their campaign slogan, which was hard-coded in an app. In the meantime the media and bloggers made humorous comments on the slogan “A Better Amercia” (instead of “A Better America”). Since the incorrect slogan had already become entrenched in people’s minds, the story ended with a costly change to the election campaign. On a website an error of this sort could have been corrected in a few minutes, but it took a lot longer with the iPhone app because the corrected version had to be resubmitted to Apple for review. This is just one example of how the specific circumstances of the mobile world require special efforts in the design, development and management of apps. Better quality control and dynamic updating capability would have spared Romney this slip.
Special Aspects of Mobile Application Lifecycle Management
Design and Planning
One of the first questions is where the app is intended be used now and in the future. New hardware and operating systems appear on the market almost weekly. The large number of devices with different hardware and software versions – a good 4,000 with Android alone – makes the decision more difficult. Reliable market data is hard to find, and nobody knows what the situation will look like in a few months. This is hardly a secure planning environment.
In order to utilize synergies in the future and to keep a grip on management costs, future plans must be taken into account today when making architecture and technology decisions. When choosing the architecture it is also necessary to consider which parts of the app will need to be updated dynamically, so that changes and updates can be deployed quickly and directly to the mobile devices.
Special attention must also be given to offline functionality because sufficient bandwidth is often not available, even in technologically advanced countries like Switzerland. How the app behaves without an Internet connection must be designed very carefully to ensure a consistently attractive user experience. From a technical perspective, a synchronization mechanism may be needed to download the updated data to the device for subsequent offline use.
The visual design also sets new standards. Users of mobile devices are already very spoiled in this regard. Mobility means movement. A mobile app must be easy to use in a tram, in a restaurant, or even while the user is walking.
Development and Testing
Developers of mobile applications must be familiar with the typical aspects of the mobile environment, including limited bandwidth, offline behavior, memory management and device recognition. In addition, the various platforms, in part based on different technologies, often require various developers with corresponding skills.
Data on the mobile devices should be available offline and still be always up to date. This puts severe requirements on data synchronization. Updates must be prepared on the server side in a way to minimize the volume of data to be synchronized.
Like users, developers are confronted with rapidly changing conditions on the platform and storage vendor fronts. It is very possible for a defined approach to suddenly become impossible in the middle of the development process. For example, Apple suddenly decided to no longer accept apps that use the unique device identifier (UDID) for device recognition. It’s impossible to foresee or control such events, so developers need to be flexible and creative.
Testing mobile applications is challenging and can incur enormous effort and expense. This is partly due to the previously mentioned device diversity, as well as the fact that the apps must be tested in various situations, such as with different bandwidths. Another factor is that hardly any developer has access to all necessary devices, especially before their product launch. Simulation and autotesting programs can help here. However, these tools are not always fully reliable in use. Consequently, testing on real devices – at least on the most important models – is indispensable. This task is increasingly being handled by specialized testing companies.
Deployment and Updating
While the distribution (deployment) of public apps is relatively easy, it’s more complicated with a restricted user group. Applications for the general public are simply delivered to the app stores, where they are subjected to further review (depending on the store operator). This is usually a smooth process unless there are delays due to objections.
Separate app stores are often set up for in-house apps. Mobile device management (MDM) solutions, which also allow the tight control of employee devices, can help with this.
Things are more difficult when company applications should also be available to partners, distributors or customers. However, there are now a few solutions available for targeted distribution and access control.
App updating is another source of pitfalls. Although new content can be downloaded directly to the devices with a suitable architecture, changes to the design or functionality are similar to a relaunch. Depending on the store, this may require completion of a multi-day review process each time. As a result, there are often large delays in eliminating technical or content problems. What’s worse, a new version in the store does not by itself remedy the situation, since the users must first install the new application. Experience shows that some users do this only very rarely. As a result, problems persist longer than desired, and older versions of an app in general must be supported for a long time.
This missing control over one’s own application is accordingly one of the key differences between mobile and traditional application lifecycle management. Fortunately new technical solutions are being developed to enable dynamic updating and hereby largely defuse this problem.
Monitoring and Analysis
Comprehensive performance monitoring and detailed use analysis are currently nonexistent in most apps, which among other things often causes problems to remain undetected for a long time.
The absence of analysis capabilities on the other hand creates problems in both technical and design terms. Without detailed figures on app use, it is impossible to measure acceptance or set the right priorities for further development. It is also virtually impossible to make any decisions regarding the platforms, operating systems and device types to be supported if concrete figures on the actually employed devices are not available. The necessary technologies are available, but at present they are not used nearly enough.
Mastering the Mobile World
Rapidly evolving technologies and the typical user behavior require suitable lifecycle management for mobile applications. If companies want to be successful and retain control, they must face up to the new challenges and invest in the right technologies now.
Source of original article: www.netzwoche.ch (in German)