Dans la pyramide de Maslow version digitale, l’accès au réseau constitue sa base.
Pourtant, tel un apnéiste qui repousse les limites de l’absence d’oxygène, nous pouvons aujourd’hui profiter d’une continuité de service dans nos applications quand bien même nous sommes, par le biais de nos smartphones, toujours plus “connectés”.
En effet, nous sommes devenus des utilisateurs exigeants et n’acceptons plus une perte de service et voulons pouvoir continuer à :
- traiter nos mails
- poster sur les réseaux sociaux
- écouter de la musique en streaming
en toutes circonstances.
Le mode déconnecté dans un contexte industriel
Mais qu’en est-il d’utilisateurs dans un milieu industriel ? Les possibilités offertes par les solutions technologiques répondent-elles aux enjeux métiers ? L’approche offline first est-elle la réponse à tout ?
Parmi les erreurs fréquentes autour du mode déconnecté, nous pouvons citer :
- ✨ Penser que le offline est “magique” !
▶️ Et non, il n’est pas possible d’accéder à son système d’information en temps réel et en mode déconnecté. Nous pouvons seulement disposer d’une information préalablement sauvegardée et donc plus ou moins à jour.
- 🔧 Croire qu’il s’agit uniquement d’un problème technique
▶️ Là encore, ne pas identifier que certaines des problématiques du mode déconnecté (en particulier la réconciliation de données) nécessitent des arbitrages métiers vous amènera à des déconvenues.
- 🤷🏻♂️ Penser “qui peut le plus peut le moins”
▶️ Pour être optimisée et efficace, une application doit être pensée pour son cas d’usage majoritaire. Concevoir une application offline alors que 90% du temps l’utilisateur est connecté ne sera pas judicieux car cela amènera une complexité et des contraintes à l’utilisateur 100% du temps.
- 😴 Sous-estimer les temps de synchronisation
▶️ Certes, il peut être tentant de télécharger sur son terminal mobile un maximum d’informations “au cas où” mais cette approche peut coûter cher en termes de performance et de délai de synchronisation.
Télécharger des centaines de milliers de données, pièces jointes, photos … alors que seule une infime partie sera utilisée est rarement une bonne stratégie.
Il faut savoir travailler sur le processus et la préparation pour avoir une solution efficace (et même juste utilisable !) car si chaque synchro nécessite plusieurs dizaines de minutes, l’utilisation de l’application est vouée à l’échec.
- 🤔 Ne pas sérieusement envisagé l’option “online”.
▶️ L’accès aux réseaux ne cessant de croître, il serait déraisonnable de s’orienter trop rapidement vers l’approche “offline” sans avoir pris le temps d’étudier avec toute l’attention nécessaire l’option connectée.
Un effort important qu’il faut mettre en face de son besoin
Avant de se lancer dans la construction d’applications en mode déconnecté, il est primordial de s’entendre ce que chaque acteur entend réellement derrière ce mode déconnecté.
Il y a en effet plusieurs niveaux de “offline” et il n’est pas rare que le besoin se résume à une simple gestion de cache alors que les développeurs auront tendance à anticiper une gestion complexe incluant, synchronisation automatique, gestion des conflits, mécanisme de réconciliation de données…
J’ai pour habitude de modéliser les besoins en 4 niveaux :
- mise en cache de données statiques
- sauvegarde de données métiers pour une consultation “offline”
- création de données métiers en mode “offline” avec une synchronisation ultérieure
- gestion complexe de réconciliation de données
La complexité de conception et mise en œuvre étant croissante à chaque fois avec un ratio de l’effort à consentir entre une application “online” et “offline” qui peut aller du simple au double.
Les applications “offline” ont certes la possibilité de répondre à une problématique d’absence du réseau mais l’effort pour leur mise en œuvre, les performances et le retour sur investissement ne sont pas toujours à la hauteur des attentes lorsque le cadrage et l’analyse globale (processus métiers & IT) n’ont pas été réalisés suffisamment en profondeur.
Comme nous l’évoquions dans notre article “Choix des terminaux mobiles”, avoir une approche globale et “end-to-end” est indispensable pour réussir ses projets mobilités.