13ème édition
9 ET 10 OCTOBRE 2024
Paris - Porte de Versailles Hall 2.2

Le salon des solutions et applications mobiles

10 conseils pour élaborer un processus solide de mise à jour des applications mobiles

Les applications mobiles sont comme des organismes vivants : elles ont besoin qu'on prenne soin d'elles et qu'on les alimente sous la forme de mises à jour pour qu'elles restent pertinentes et utiles. Toutefois, le processus peut parfois être compliqué, selon le type d'application, les fonctionnalités qu'elle offre, les détails de sécurité impliqués et les informations que l'application traite ou stocke.

Dans un précédent article de février, j'évoquais différentes façons de créer des applications mobiles réactives, avec des conseils pour concevoir des applications qui réagissent aux besoins et actions des utilisateurs. Intéressons-nous maintenant à la suite, à savoir comment tenir ces applications à jour pour le plus grand bénéfice de vos utilisateurs.

J'ai discuté avec Erez Rusovsky de Rollout, entreprise qui fournit une solution iOS native qui aide les entreprises à corriger les bugs et à appliquer des mises à jour automatiques à la volée sur les applications déployées, tout en s'assurant que les développeurs gardent le contrôle de leurs applications après qu'ils les ont déployées dans l'App Store.

"Le marché des applications mobiles est devenu une industrie de 51 milliards de dollars et 79 % des entreprises américaines affirment que les applications mobiles sont un facteur de leur succès", indique Erez Rusovsky. "Pourtant, le modèle de distribution des applications mobiles échappe totalement au contrôle du créateur une fois qu'elles sont entre les mains de l'utilisateur. Comme de plus en plus d'entreprises s'appuient sur la mobilité comme vecteur d'activités crucial, c'est non seulement frustrant, mais aussi coûteux si votre application présente un bug ou autre problème. Si la résolution prend ensuite plusieurs heures, voire plusieurs jours, cela peut représenter une perte de revenus ou de confiance des clients pour votre entreprise."

Les solutions web et de SaaS peuvent fournir et déployer en continu des applications avec de multiples solutions commerciales et open source. La mobilité n'offre pas la même diversité. Seules des applications très répandues comme Facebook et Airbnb disposent de leurs propres solutions de déploiement en interne. Toutefois, nous voyons aujourd'hui des options plus nombreuses pour les solutions de développement mobile.

Des outils tiers peuvent permettre aux entreprises d'apporter des modifications à distance sans sortir de nouvelles versions. Par exemple, il y a les solutions de tests mobiles, telles qu'Optimizely, qui permet aux entreprises d'affiner l'interface utilisateur à distance, et les solutions de configuration à distance, comme Firebase Config, qui peut modifier des configurations d'applications à distance. Un autre exemple serait les solutions d'automatisation du marketing, telles qu'AppBoy, qui permettent d'ajouter des messages dans les applications à la volée.

Étant donné ces difficultés, voici quelques conseils pour vous aider à élaborer un flux de travail fiable pour votre processus de mise à jour des applications mobiles. Les quatre premiers sont tirés de ma propre expérience en tant qu'administrateur système. Les six conseils suivants sont des recommandations d'Erez Rusovsky du point de vue du développement de logiciels. 

  1. Ayez un calendrier dédié pour le lancement des mises à jour d'applications

Le lancement des mises à jour de façon aléatoire ou incohérente est un désastre assuré. La mise à jour d'une application deux fois en un mois, puis plus du tout pendant six mois relève d'un manque de professionnalisme et de négligence. Décidez combien d'ajouts ou de révisions de fonctionnalités doivent déclencher une mise à jour (que ce soit deux, cinq ou plus) et élaborez un calendrier standard avec le lancement des mises à jour une fois par mois ou par trimestre.

Les mises à jour liées à la sécurité peuvent nécessiter des lancements plus fréquents ou "exceptionnels". Il est plus important de transmettre une modification du code qui protège les données confidentielles que d'ajouter de nouvelles polices ou une nouvelle icône. Assurez-vous que les utilisateurs comprennent la différence entre les correctifs de sécurité et les révisions standard de l'application, ainsi que l'urgence à installer les premiers dès que possible.

  1. Apprenez à mieux comprendre les problèmes et les domaines à améliorer

Pour obtenir la meilleure analyse possible des problèmes auxquels votre application est confrontée et savoir où elle doit être perfectionnée, utilisez des fonctions telles que l'enregistrement d'écran, un diagnostic de bugs plus évolué avec la capacité d'examiner les journaux des erreurs à la volée, le traitement analytique de l'utilisation de l'application et la génération de rapports d'incidents. Il vous faut un mécanisme pour vérifier où se trouvent les points problématiques, ainsi que les parties de votre application générant le plus de trafic.

  1. Concevez une méthode standard de notification des mises à jour d'applications

Élaborez un plan pour avertir les utilisateurs de la disponibilité des mises à jour des applications et leur proposer des options. Décidez si cette notification prendra la forme d'une alerte au sein de l'application, d'une annonce par e-mail, d'un message texte ou de tout autre mécanisme.

Évitez la possibilité d'alertes répétitives ou indésirables, mais veillez à inclure une liste de quelques-uns des avantages qu'offre la mise à jour : nouvelles fonctionnalités ou options, amélioration des performances ou de la stabilité, etc. N'oubliez pas d'inclure les coordonnées de l'assistance, le cas échéant, pour aider les utilisateurs à résoudre les éventuels problèmes avec les mises à jour d'applications.

  1. Surveillez les statistiques et les commentaires liés aux mises à jour d'applications

Vérifiez la rapidité avec laquelle les utilisateurs mettent à jour votre application mobile et, en fonction des résultats, modifiez les étapes précédentes si besoin est. Les mises à jour de sécurité ne sont-elles pas appliquées aussi vite qu'elles le devraient ? Devez-vous être plus offensif (ou moins) avec vos annonces ? Les commentaires des utilisateurs signalent-ils trop de problèmes ou une cadence de mise à jour exagérément fastidieuse ? Déterminez ce qui doit changer, le cas échéant, pour améliorer le processus.

Le traitement analytique dynamique peut également être utile. Certaines des plates-formes de traitement analytique d'aujourd'hui (telles que Mixpanel) vous permettent de modifier ou d'ajouter dynamiquement le traitement analytique, vous permettant d'obtenir une plus grande flexibilité et d'éviter un autre lancement juste pour corriger ou modifier un problème mineur.

  1. Soumettez les applications à des tests approfondis lorsque vous préparez les mises à jour

Vous devez procéder à des examens d'assurance qualité, des tests bêta et des tests de distribution internes pour garantir la livraison réussie des mises à jour d'applications en interne, avec des utilisateurs des applications qui sont familiarisés avec le code et les fonctions et qui sont capables de repérer les complications ou problèmes potentiels. Assurez-vous d'avoir le jeu d'outils adéquat pour que les tests bêta soient plus efficaces et automatisés.

  1. Tirez profit de la configuration à distance

Avec ce modèle, les données dans votre application ne sont plus codées en dur et vous pouvez utiliser des composants de configuration à distance pour les paramétrer ou les changer en fonction des options et des besoins des utilisateurs. Par exemple, vous pouvez modifier le message d'accueil, contrôler combien de fois une publicité est présentée (le cas échéant) ou mettre en place des valeurs de paramètre qui affectent l'application, telles que le niveau de complexité d'un jeu, la couleur de l'écran, etc.

  1. Déployez les nouvelles fonctionnalités sans les activer immédiatement

Ne codez pas en dur l'activation d'une fonctionnalité dans l'application mise à jour (autrement dit, ce changement ne prend pas effet tant que vous n'êtes pas prêt). Vous pouvez ensuite décider du moment pour activer la fonctionnalité à distance et pour qui, ce qui vous permet alors de lancer une nouvelle version et de tester les nouvelles fonctionnalités progressivement. En outre, vous pouvez annuler une fonctionnalité qui ne se comporte pas correctement avec un impact minime.

  1. Utilisez le marquage de fonctionnalités

Le marquage de fonctionnalités signifie que vous pouvez décider ou tester à distance qui bénéficiera de quelle expérience. Les utilisateurs peuvent avoir différents besoins ou préférences ; ce marquage permet de mettre l'accent sur des fonctionnalités spécifiques selon les personnes susceptibles d'en tirer le plus d'avantages. Par exemple, un commercial peut utiliser un composant d'une application lié aux ventes ou un analyste marketing peut se focaliser sur l'aspect des médias sociaux pour faire connaître un produit.

  1. Déterminez comment régler les bugs ou problèmes en production

Décidez comment vous allez limiter les dégâts et corriger les bugs à distance, que ce soit via de nouvelles versions des applications ou des changements de configuration à distance. C'est précisément ce que fait Rollout : il vous permet de déployer un correctif logiciel sur l'application à distance pour contenir les problèmes et prévenir les utilisateurs des problèmes de qualité, et vous pouvez déployer une modification sans devoir lancer une nouvelle version.

  1. Travaillez avec des solutions natives plutôt qu'hybrides ou basées sur JavaScript

Les solutions en langage natif sont simples. Les solutions hybrides (qui utilisent généralement à la fois JavaScript et un langage natif) peuvent mettre à jour le code JavaScript à partir du système dorsal sans le lancement d'une nouvelle version de l'application, ce qui ajoute une certaine agilité. Certaines entreprises sont prêtes à payer le prix d'une baisse des performances de l'application pour bénéficier de l'agilité des mises à jour JavaScript.

React Native par Facebook suit une approche différente en tant que solution hybride : elle autorise les mises à jour JavaScript (ce qui implique une mise à jour du code à distance) et ne présente quasiment aucun impact sur les performances comparé à une application en langage natif. Microsoft propose également une solution baptisée CodePush pour rationaliser le processus des mises à jour JavaScript à distance.

Source : http://www.zdnet.fr/actualites/10-conseils-pour-elaborer-un-processus-solide-de-mise-a-jour-des-applications-mobiles-39855196.htm