Research from Forbrugerforeningen shows that health checks in apps are often forgotten. It turned out that three dating platforms did not have their security in order. At Inner Circle, Pepper and Relatieplanet, usernames and passwords were infinitely guessable, giving hackers access to personal information. This makes it painfully clear that performing a health check is not an unnecessary luxury.
A health check is an evaluation of the application software. This evaluation must be performed in response to changes in usage, for example if the amount of data in an app has increased enormously.
Another reason is a next release or a new application in the company’s portfolio. You can also do a health check if an application screen is loading too slowly or if you feel something is wrong. Research shows that eighty percent of users delete an app if it crashes frequently. If you ensure that these things are in order, you will not miss out on customers and/or revenue in any case. The purpose of a health check is to detect alleged imperfections and to offer solutions or optimizations. For the sake of objectivity, choose a third party to perform the check.
A health check is not the same as testing applications and is therefore performed in a different ‘life phase’ of the application. The focus of such control is more on the changed situation in which the application is used, or a development of an application, such as the addition or adjustment of certain functions. In these cases, it may be necessary to thoroughly review the architecture of the application. For example, if over time there has been a need to use the application offline, or if there is a desire to display data in a different way.
“An application may perform inadequately over time, for example because more data is added”
Often these kinds of ‘problems’ are not isolated. When performing a health check, pay attention to the following five factors, but do not forget the relationship between them:
Check both the modular layout of the application and the way the application relates to the application landscape. If different features have been added over time, this can be a valid reason for a possible redesign of the application. But, for example, possible increased data traffic can also be a reason to organize the exchange of data more efficiently.
It is important that applications are continuously updated with new security standards, functionality and bug fixes. The risk of poor security or an app that crashes frequently increases if there is little or no maintenance. In order to carry out this maintenance smoothly and without problems, it is important to take this into account in advance during the design.
An application may function insufficiently over time, for example because more data has been added that was not yet available at the start. Think of an artist who released only two songs at the start of his career and dozens of them a few years later. In such a situation, a redesign of the application is needed, such as loading large pages in parts (see also next factor), or making smarter integrations. It is therefore not a question of an incorrect design at the start, but an adjustment as a result of evolutionary use.
As a dataset grows in size over time, so do the requirements. In this case, it makes sense to break the data into smaller chunks and present them in parts instead of all at once. The loading of the screen to be presented is thus significantly shorter, while the second part can already be retrieved in the background. This automatically improves the user experience of the application significantly.
Data that should not be accessible to others must be protected. One option is data encryption on the device. Also consider deleting data after a session has ended. Choose the right solution for each application: for example, a notes app requires less security than a banking app.
Therefore, to ensure that an application works and continues to work optimally, it is important to perform a health check over time and make adjustments. A tip: When developing an application, it is useful to divide it into smaller, autonomous modules. By making maximally independent modules, you can make more targeted and easier adjustments, as there is minimal dependency on the producing and/or using module.
App users have developed quite high standards over the years, forcing application developers to go the extra mile to live up to expectations. By performing a health check, certain problems can be prevented so that companies do not have to deal with unnecessary costs or even reputational damage or loss of revenue in the event of a hack.
(Author Ruud Hochstenbach is business developer Benelux at Truewind.)