application development
Raquel Pérez Bartolomé Team Manager

Offline information management in industrial environments

In previous posts we have discussed on some of the advantages of working with mobile applications in industrial environments which, mainly thanks to their ubiquity, allow us to continue working from wherever we are and update data from our systems or access others.

On the other hand, the fact of being able to work remotely anywhere means that at some points we are lack of Internet connectivity. It is important to bear in mind that experience tells us that in industrial environments there are many areas where coverage is limited or non-existent.

Mobile apps ensure that the user continues with their work regardless of conditions, connectivity available or not. The app is responsible for synchronizing the information whenever possible, always in a transparent way for the user. How do we do it?

Mobile app development planning

Before starting a project, we talk with our clients and define the general objectives of the project, as well as the end users who will use our system and under what conditions they will use them (we define people). In most of the projects related to Industry 4.0 we have connectivity limitations and we define an offline information management policy from the beginning.

With the offline policy we seek to guarantee:

  • Synchronization with the server of all the information generated, despite not having a constant connection, the maximum is not to lose information for this, the app will automatically send the data when possible.
  • The work of our users; the mobile app is prepared for an asynchronous workflow, without the need to have the information constantly updated with the server, it has certain business logic that makes the app independent from the server for situations of lack of access to the network.
  • The user knows at all times if the app is up to date or not and has mechanisms to update the app manually if needed.

Offline policy example

In the developments in which the synchronization will foreseeably be offline, we include the following states in the data with which we work:

  • Synchronized
  • Synchronization pending, it will be done when possible
  • Do not synchronize yet, this state is used when we want to persist data in the app, but without synchronizing it with the server until we finish including all the information

We seek the application to have an updated list of what data is pending of synchronization. This data will be synchronized with the server in the next synchronization window.

The `when’ the next synchronization window will be, will depend on the strategy we define. To define the strategy, we will analyse the casuistry of our app, among other characteristics we will take into account the use of battery. In many cases we find that the use of the mobile is almost constant and we do not have recharging points in the field, so we must define a strategy that balances the synchronization and the use of the battery.

What strategies can we define?

  • Automatic retry, in the next action that the user performs and needs synchronization, the app will try to send the data.
  • Manual synchronization, we delegate the synchronization to the user with a dedicated option: synchronize data and let them choose the moment.
  • Automated based on events, we define jobs in our app that perform actions based on events, in this case, when there is a connection. In Android we can implement it thanks to scheduling tasks with WorkManager. In iOS we will be able to know when the device is connected again thanks to SCNetwork and define the tasks to be carried out.

Conclusions

At Izertis, the main objective of our software developments is always to adapt to the needs and objectives of both business and end users. To this end, we combine active listening to business requirements together with our knowledge and experience developing systems. We team up with our clients to translate a plan into a digital system that exploits the possibilities that technology offers us.

When we develop productivity tools among the initial decisions that we discuss is the need to incorporate a mobile application into the system or not. Although, it is not always necessary and, in some cases, a web interface is sufficient to meet the specific objectives of the project; at other times a mobile application is recommended and necessary. For example, when our users work in environments with limited connectivity; in this case, the mobile application, as we have studied in depth in this post, ensures correct operation by preventing the absence of an internet connection from causing workflow blockages or loss of information.

In subsequent posts we will deepen into more challenges of Industry 4.0 such as the integration of sensors in our systems.