Tips for mobile application maintenance
This post was originally published on AIIM's Expert Blogs by Serge Huber, CTO at Jahia Solutions
Native and web mobile applications are becoming quite popular, yet they are still a relatively young technology, that needs to mature in terms of governance. As of now, smartphones and tablets are becoming quite the norm on a daily use basis, and the technology and products are maturing quickly. But for developers, solution and content providers, it is still a field that retains a lot of unknowns. The demand is now quite strong to deliver a mobile interface for an existing web site, or for a new one, and many companies are turning to more mobile-experienced providers to help them achieve their goals. Others are simply experimenting with mobile and are waiting to see if the trend will confirm itself or die over time. Whatever the reasons, I believe that mobile is clearly here to stay, and that it is important to look at ways of building a mobile strategy that makes sense and is efficient.
I talked in a previous blog post about the 10 best ways to fail at mobile. Most of these suggestions were actually mostly aimed at the initial step of creating a mobile solution, not so much at maintaining it. So today I'll give you a list of important points to remember when planning a mobile application's maintenance.
1. Plan for updates: even with the best efforts it is impossible to get it right the first time, so it is important to think about how the application will evolve over time. If well managed it can actually even be an advantage since an application that is regularly maintained will show the users that the developer is investing heavily into the app, which the users will appreciate. You should therefore plan for evolution in the user interface, meaning that you will probably want to leave some room in the user interface or plan a recurring budget for application design instead of doing it in a one-shot manner. If this is planned-for initially, the overall cost will be much lower. Since updates are easy to deploy, it is also more acceptable to deliver features progressively, instead of trying to deliver them all at once. This is also consistent with agile development methodologies, allowing you to focus and deliver first the features that have the highest business value.
2. Remember to test app upgrades: a mobile application will usually store some form of data on the mobile device. Therefore the update will have to deal with two possible scenarios. The first one is the simplest: the user directly installs the new version without having installed the previous version. In this case there isn't much to do apart from properly testing the application for any defects. The second case is: the user already has a previous version installed, has related data stored on his device, and will install the new version. In some cases he will even upgrade from a much older version than the previously available one, as some application stores allow that. Assuming that in the new version the data storage format has changed, you will need to write a migration tool to migrate from the old format to the new, and also keep all versions of this tool in the new version since the user might be upgrading up from more than one older version.
3. Retain users: providing frequent and free updates is a great way to retain users, since they can see that their time investment in your mobile application is appreciated and nurtured over a long period. And if they get free new features over time, they will definitely come back to your application. User retention is crucial to a mobile application’s success over time, and planning for regular updates is therefore vital.
4. Improve features over time: similar to the point we just made, improving features is also possible and desired based on the feedback you may be getting on the application. By planning to improve them over time, your application will get better and better, and therefore more popular and successful. Some features may be introduced at a later time even for a fee, usually users that like the application and use it regularly will be more easy to convince than if they had to pay a large up-front fee.
5. Use metrics and feedback to improve the application: based on the feature improvement point, you will probably want to introduce some kind of metrics analysis tool (such as Flurry) to understand which features are used the most and which are less useful. You could also integrate an email feedback screen or integrate with an existing in-house solution (CRM, issue tracker, …) to gather input on which features users might like in an upcoming version. All this is great since doing this on your own is error-prone and risky, while getting an application out to users early and listening to their feedback is a much safer way to to ensure a successful deployment and build a strong and committed user community. Be sure that if you use metrics in your application that you properly inform the users about their usage and possibly offer them a way to opt-out (or even better to opt-in) to make sure that they do not discover this at a later time and feel cheated.
So these are just a few starter points, but as you have seen, the world of mobile applications is actually quite a tight feedback loop with end-users that you can highly benefit from if you plan ahead and think about application maintenance from the start.
Of course I listed just a few that seemed most obvious to me, but maybe you have some that you’d like to share ? Feel free to add them in the comments below.
Author : Serge Huber
Serge Huber is co-founder and CTO of Jahia. He is a member of the Apache Software Foundation and Chair of the Apache Unomi project management committee as well as a co-chair of the OASIS Customer Data Platform Specification.