La prédominance actuelle de la connectivité sans fil et des applications smartphone a fondamentalement redéfini l'expérience utilisateur pour les produits de tous les secteurs industriels. Depuis les parents visionnant sur leur appareil portable les images fournies par la caméra installée dans la chambre de leur bébé jusqu'au réparateur professionnel qui est averti de manière proactive par les appareils nécessitant une réparation, l'« expérience utilisateur » s'étend de plus en plus loin du produit proprement dit.
Poussés par les commentaires des clients, les pressions concurrentielles ou les possibilités de simplification des processus d'entreprise et de réduction des coûts, de plus en plus de concepteurs de produits se trouvent contraints d'ajouter une interface smartphone pour rendre leur offre plus attrayante. En réalité, cela revient simplement à « ajouter une application » à un produit. Dans la plupart des cas, les exigences relatives au produit impliquent en fait que celui-ci fasse partie d'un système de connectivité Cloud exploitant les serveurs Cloud et la connectivité Internet des téléphones, tablettes, ordinateurs portables et, bien entendu, de votre produit pour offrir des fonctionnalités de commande et de contrôle à distance. Par conséquent, dans de nombreux cas, une demande d'intégration d'une application à votre produit revient en réalité à demander que votre produit soit connecté au Cloud.
Dans tous les secteurs, les entreprises font face à un défi qui rappelle celui posé lors de la dernière décennie par le mouvement « vert » de prise de conscience écologique : elles doivent comprendre le sujet brûlant qu'est l'Internet des objets (Internet of Things, IoT) et élaborer une stratégie en conséquence. Les données industrielles récentes indiquent que plus des trois-quarts des entreprises mondiales utilisent ou explorent la technologie sur laquelle repose l'IoT ; 95 % des chefs d'entreprise prévoient que leur société utilisera la technologie IoT dans les trois années à venir.1 Quelles que soient les raisons pour lesquelles votre entreprise exploitera la technologie de l'IoT, sa mise en œuvre doit être réfléchie et stratégique.
Même si les avantages sont substantiels, certains facteurs clés et obstacles doivent naturellement être pris en considération lors du développement d'une solution de connectivité Cloud pour vos produits. Par exemple, les sondages de l'industrie indiquent que la compétence insuffisante au niveau interne et les coûts d'investissement de l'infrastructure IoT représentent les deux préoccupations les plus pressantes. Ces préoccupations sont probablement la cause de l'adoption rapide de moyens d'exploitation de solutions « plateforme IoT » complètes pour simplifier et accélérer le développement des produits.
Par conséquent, une déclaration apparemment anodine telle que « Nous avons besoin d'une application pour notre produit ! » peut en fait exiger la conception d'un système puissant et complexe. L'objectif du présent livre blanc est de parcourir les éléments de la construction d'un système à connectivité Cloud pour prendre en charge la connectivité d'application à distance de votre produit afin que puissiez proposer une solution solide et enthousiasmante lorsque votre client, votre commercial ou votre PDG demande : « Y a-t-il une application pour ce produit ? ». À mesure que les éléments d'une solution Cloud sont définis, les principaux facteurs de conception qu'une équipe de développement de produit doit prendre en considération deviennent également apparents. Enfin, le livre blanc fournit un cadre simple et intuitif pour définir les fonctionnalités que votre conception devra inclure.
Le Cloud : qu'est-ce que c'est ?
Au niveau le plus simple, un « cloud » est un ensemble de serveurs distants fournissant des fonctionnalités logicielles et informatiques sous forme de « service » sur un réseau, généralement accessible via Internet.
Pour l'essentiel, le Cloud résulte de l'évolution des systèmes de serveurs de réseau local couramment utilisés par les entreprises depuis des décennies. Il représente une version améliorée d'une ressource accessible en réseau qui fournit un ensemble de services logiciels pour le transfert, le stockage, le calcul et l'analyse des données. Le terme « Cloud » indique que le système n'est lié à aucun emplacement physique puisqu'il permet un accès et une utilisation depuis pratiquement n'importe quel endroit offrant une connectivité Internet.
Pourquoi devrais-je intégrer la connectivité Cloud à mon produit ?
Comme indiqué précédemment, les raisons de développer la connectivité Cloud des produits varient. Les fabricants de produits incorporent cette technologie afin d'exploiter certains (ou la totalité) de ces avantages considérables :
• Amélioration de l'expérience client. Étant donné que le smartphone devient rapidement le « portable universel » d'aujourd'hui, l'offre à l'utilisateur d'une interface intuitive et commode entre son téléphone et le produit peut améliorer l'expérience d'utilisation du client et le conduire à apprécier davantage votre produit.
• Amélioration des fonctions d'assistance et de soutien. L'utilisateur final n'est pas le seul à bénéficier de la possibilité d'accès et de commande à distance d'un appareil. La connectivité Cloud peut également permettre aux agents d'assistance technique et de service clientèle de dépanner les produits à distance, ce qui réduit au minimum les temps d'immobilisation et les frais de réparation. La connectivité Cloud peut aller plus loin en permettant à l'appareil de communiquer de manière proactive avec le consommateur ou le technicien-réparateur pour envoyer des rappels concernant la maintenance préventive ou signaler des pannes.
• Possibilités de revenus supplémentaires résultant du maintien de points de contact avec la clientèle au cours de toute la vie du produit. L'interface application ou Web peut fournir un portail permettant d'offrir à votre clientèle des produits, accessoires ou fonctionnalités haut de gamme supplémentaires. Ces débouchés peuvent accroître les revenus de vente croisée et de vente incitative. De plus, si votre produit incorpore un modèle de service, cette connectivité Cloud peut fournir une solution élégante pour l'essai, le renouvellement et la gestion des abonnements.
• Complexité minimale de la gestion du logiciel produit. Contrairement aux applications logicielles natives, les logiciels basés sur le Cloud peuvent être mis à jour en une seule opération au niveau du serveur, permettant à tous les utilisateurs de bénéficier instantanément de la modification. Ce modèle peut également réduire au minimum les problèmes inhérents à la gestion des mises à jour sur le logiciel intégré de votre produit. Dans certains systèmes, la connectivité Cloud peut être utilisée pour fournir des mises à jour par liaison radio (over-the-air, OTA) du logiciel intégré de votre produit.
• Collecte de données sur les produits en vue d'améliorations futures. Les fonctionnalités de journalisation et d'extraction de données d'une solution Cloud peuvent fournir aux développeurs de produits une abondance de renseignements jusqu'ici impensable. En comprenant de quelle manière, à quel moment et même, éventuellement, à quel endroit l'utilisateur final interacte avec le produit, il est possible d'obtenir des informations précieuses en vue des futures améliorations du produit. Il convient toutefois de noter que de telles possibilités s'accompagnent de nouveaux défis que votre entreprise doit soigneusement évaluer en matière d'utilisation de données spécifiques aux utilisateurs.
• Interopérabilité avec les applications Cloud existantes. En ajoutant la connectivité Cloud à votre produit, vous ouvrez la porte à une myriade d'applications et de services Cloud offrant aux utilisateurs de nouvelles expériences et fonctionnalités. Les appareils connectés peuvent automatiquement communiquer des rapports sur les problèmes de service, mettre à jour les listes d'inventaire lors de la fabrication et de la distribution, publier des tweets, vérifier la météo ou même modifier le comportement en fonction de la localisation géographique. Du logiciel peut être développé au niveau du serveur pour permettre l'interaction entre toute application Web comportant une interface de programmation de services et votre produit connecté Cloud.
Pourquoi ai-je besoin d'une solution Cloud pour qu'une application smartphone interagisse avec mon produit ?
En fin de compte, ce sont les cas d'utilisation pour lesquels vous devez concevoir votre produit qui déterminent si une solution Cloud est requise pour votre application produit particulière. Par exemple, une solution sans fil point à point de courte portée, telle que l'utilisation des fonctionnalités Bluetooth® ou de réseau Wi-Fi local d'un smartphone, fournirait à votre produit un moyen de communiquer directement avec une application sans transmettre de données via un serveur Cloud. Une telle communication sans fil point à point convient pour certaines applications, mais elle présente certaines limitations qui peuvent la rendre inadéquate pour votre produit.
Les technologies sans fil point à point exigent que l'utilisateur soit relativement proche du produit. En règle générale, ce type de solution ne prend pas en charge la connectivité à distance utilisant une connexion Internet ou un réseau cellulaire pour couvrir l'écart. De plus, une telle solution n'offrirait pas les mêmes possibilités de journalisation des données, d'analyse et de gestion centralisée qu'une solution réseau Cloud sur réseau cellulaire ou connexion Internet.
Pour de nombreux développeurs de produits, les exigences des cas d'utilisation de leur application comprennent la fourniture à l'utilisateur d'un accès « n'importe quand, n'importe où » pour contrôler l'état du produit ou lui envoyer des commandes. Dans de tels cas, une solution Cloud offre des fonctionnalités essentielles, en agissant comme centre de communication et en fournissant un accès aux données pour tout appareil connecté à Internet, y compris votre nouveau produit enrichi d'une fonctionnalité sans fil !
Les 4 éléments d'un système à connectivité Cloud
Examinons les éléments qui composent un système à connectivité Cloud type. Au niveau global, la solution totale comprend 4 éléments essentiels :
Premièrement -- et il s'agit là de l'élément le plus important --, vous devez concevoir votre produit comme un « produit connecté ». Un procédé commun peut inclure l'ajout d'une radio à votre conception de produit pour permettre la connexion sans fil à
un réseau et établir une connexion Internet. Dans d'autres cas, l'emploi d'une solution Ethernet câblée peut être adéquat. Aux fins de notre discussion, nous supposerons qu'une connexion sans fil est nécessaire pour adapter votre application produit et répondre aux attentes de la clientèle.
Deuxièmement, votre produit connecté sans fil devra disposer d'un réseau étendu (WAN) pour l'émission et la réception des données. Lorsque le Wi-Fi est facilement disponible, comme dans les environnements résidentiels
ou commerciaux, il pourra s'agir d'un point d'accès configuré pour un fournisseur de services Internet (ISP) particulier. Dans le cas des applications pour lesquelles le produit peut être utilisé en environnement rural ou si le produit est mobile et change régulièrement d'emplacement, un réseau cellulaire peut alors représenter la solution WAN optimale. Aux fins du présent livre blanc, nous examinerons une solution à connectivité Cloud basée sur une solution réseau Wi-Fi.
Troisièmement, la solution exigera un serveur Cloud agissant comme centre de communication. Le Cloud de votre système inclut normalement des services logiciels offrant une gestion intelligente de la communication avec vos produits connectés et avec une application smartphone, l'hébergement d'une application Web que vos clients ou votre S.A.V. utilisent comme portail vers votre produit, ainsi qu'un ensemble puissant de journalisation des données, d'analyse et de moteurs fondés sur les règles qui consolident les données relatives à votre produit et les rendent exploitables.
Enfin, la solution doit posséder une forme quelconque de client réseau servant de « portail » pour permettre au client ou au S.A.V. d'accéder à distance au produit. À l'heure actuelle, il semble que l'application mobile soit devenue le « portail de prédilection » mais, dans de nombreuses situations, vous devriez offrir des options supplémentaires, telles qu'un site Web, pour couvrir tous les cas d'utilisation possibles. Par exemple, il est préférable pour une équipe d'assistance technique de disposer d'un portail Web ou d'une application pour ordinateur de bureau quand elle doit télécharger des ensembles de données volumineux ou travailler avec des formats tabulaires difficiles à gérer à partir d'une interface d'application mobile.
Maintenant que les quatre éléments ont été définis, il est important de passer à un niveau plus approfondi pour commencer à comprendre les composants logiciels qui forment l'infrastructure d'un système à connectivité Cloud.
Un système connecté Cloud est en fait une plateforme formée d'éléments de logiciel déployés dans de multiples emplacements allant du micrologiciel intégré sur un microcontrôleur au code de base de données sur un serveur. Par conséquent, bien qu'un tel système soit constitué de 4 éléments distincts, c'est l'interopérabilité créée par ces éléments de logiciel qui en fait une solution lisse.
La plupart des produits pour lesquels la connectivité Cloud serait parfaitement adaptée sont des produits électroniques et il est donc probable qu'ils contiennent déjà des circuits incluant quelque forme de processeur, telle qu'un microcontrôleur. Ce microcontrôleur intègre du logiciel qui interagit avec des périphériques spécifiques à une application tels que capteurs, actionneurs, indicateurs et, éventuellement, quelque forme d'interface utilisateur (écran, touches, témoins DEL, etc.).
Pour une solution connectée Cloud, la configuration des cartes-circuits du produit doit être mise à jour afin d'incorporer une interface réseau, telle qu'un module sans fil, qui offre un moyen simple pour ajouter la connectivité Wi-Fi. Le microcontrôleur exige en outre un logiciel intégré lui permettant d'agir en tant qu'« hôte » assurant la commande intelligente du module sans fil et de sa pile réseau. Ce logiciel intégré, que nous appellerons le « client », agit comme un intermédiaire entre le micrologiciel de l'application et le module sans fil. Le logiciel « client » fournit des services au micrologiciel de l'application en échangeant des données avec un serveur Cloud une fois le module sans fil connecté au réseau. Afin de réduire au minimum l'impact sur le micrologiciel produit de l'« hôte », il est préférable d'utiliser des modules sans fil incluant une pile réseau intégrée.
Le module réseau exige un logiciel intégré spécifique à l'application qui agit en tant qu'« agent » pour le système Cloud. Ce logiciel permet au module d'émettre et de recevoir correctement les données échangées entre le client et le serveur Cloud.
Wi-Fi, qui est le terme couramment utilisé pour désigner le protocole IEEE 802.11 de mise en œuvre de la communication WLAN, est peut-être la technologie sans fil la plus populaire pour la connectivité Internet, validant le connectivité Cloud et offrant des avantages pratiques. Dans le cas d'un grand nombre d'applications, les développeurs de produits peuvent profiter d'un réseau Wi-Fi déjà existant à l'endroit où le produit sera utilisé. Autrement dit, votre produit peut s'intégrer dans l'infrastructure Wi-Fi existante et communiquer immédiatement avec les autres dispositifs en réseau, ouvrant une myriade de nouvelles possibilités en matière d'expérience utilisateur. Du fait de son omniprésence sur les appareils réseau actuels, le Wi-Fi offre également la possibilité de communiquer facilement avec les téléphones et ordinateurs portables, ainsi qu'avec les serveurs Internet, améliorant ainsi les fonctionnalités d'interaction utilisateur et de collecte de données de votre produit.
L'intégration d'un module Wi-Fi dans votre produit permet à ce dernier de profiter d'une infrastructure sans fil existante qui, à bien des égards, a déjà été conçue pour connecter votre produit au Cloud. L'étape clé qui, dans de nombreux cas, se soldera pour votre produit par une expérience utilisateur réussie ou ratée tient à votre méthode de provisioning. Le provisioning est l'ensemble des étapes requises pour aider votre produit connecté à identifier (en recherchant les réseaux), puis à se connecter via Wi-Fi au point d'accès du réseau choisi, qui est protégé par mot de passe. En bref, votre produit ne devient connecté Cloud que lorsque vous faites le nécessaire pour qu'il se connecte correctement à Internet.
Afin de comprendre à quel point le provisioning représente un aspect critique de votre conception, examinons la différence entre le provisioning d'un smartphone et celui d'un produit connecté type tel qu'un détecteur de monoxyde de carbone. Lorsque vous entrez dans un endroit qui offre un accès Wi-Fi gratuit, il est maintenant facile d'indiquer à votre téléphone le réseau auquel il doit se connecter, de naviguer dans les pages de mot de passe ou de contrat de service via un navigateur Web et de se connecter. Le provisioning n'est pas tout à fait aussi simple pour la plupart des produits connectés, dont le composant interface utilisateur est souvent limité. Pour reprendre notre exemple de détecteur de CO, celui-ci ne possède pas d'écran LCD tactile complet permettant à l'utilisateur de lui indiquer la marche à suivre pour se connecter.
Dans ces conditions, comment procéder au provisioning si une interface utilisateur puissante ne fait pas partie de la conception de votre produit ? Dans certains cas, un développeur peut essayer de se servir de pièces du produit, telles que touches ou commutateurs, pour faciliter le provisioning. Malheureusement, cette méthode s'accompagne généralement d'un manuel d'instructions long et compliqué. Heureusement, la technologie Wi-Fi n'a pas cessé d'évoluer et, dans la plupart des cas, le développeur peut utiliser des solutions comme Soft AP (connexion directe pour laquelle le dispositif radio joue le rôle de point d'accès) ou Wi-Fi Protected Set-Up (WPS) qui facilitent le provisioning en simplifiant l'interaction appareil-utilisateur. L'essentiel est de reconnaître que la conception finale du produit doit tenir compte des défis du provisioning et de mettre en place une solution conviviale pour l'utilisateur.
Le serveur Cloud constitue le cœur de votre système, gérant les échanges de données entre l'appareil réseau (voir figure 2), les clients réseau (c'est à dire les applications ou portails Web exécutés sur smartphones, tablettes ou ordinateurs portables), ainsi que toutes les autres applications logicielles et bases de données éventuellement requises.
Afin de prendre en charge l'interface avec les appareils connectés, applications et autres services Cloud externes, votre solution de serveur Cloud exige l'intégration de plusieurs applications logicielles et/ou services. Ces applications peuvent inclure un système de messagerie, un serveur Web, un magasin de données de sauvegarde et des services Web pour offrir les fonctionnalités dont auront besoin les utilisateurs. Il est important de veiller à ce que ces applications soient conçues de façon à interagir de manière lisse et à prendre en charge les cas d'utilisation prévus pour votre produit.
L'interface de services dispositifs fournit une interface de communication entre votre produit connecté et le serveur Cloud. En règle générale, les dispositifs s'identifient eux-mêmes et publient périodiquement des mises à jour de données, rendant compte de l'état de leurs périphériques. Dans certains systèmes, les dispositifs peuvent également recevoir des messages et agir.
L'interface de services applications fournit une interface de communication entre l'application Web et/ou mobile et les données transmises par votre produit réseau. En général, ce logiciel gère les sessions utilisateur, présente les informations produits et prend en charge la configuration des alertes.
En plus des interfaces dispositifs et applications, certaines solutions Cloud comprennent des API de données supplémentaires qui leur fournissent une interface avec d'autres applications Cloud. Lors de la sélection d'un fournisseur Cloud, assurez-vous que vous connaissez les données auxquelles devront avoir accès d'autres systèmes et veillez à ce que les API voulues soient disponibles.
Le développement d'un produit sans fil techniquement aussi complexe présente le risque inhérent que l'interface utilisateur de l'application mobile passe au second plan du projet.
En vérité, l'application smartphone et/ou le portail Web sont probablement les éléments les plus critiques de votre système et seront déterminants pour son succès commercial parce qu'ils symboliseront votre produit aux yeux des clients. Il ne s'agit pas d'une simple application, mais de l'expérience utilisateur de votre produit !
Dans l'exemple du détecteur de CO, le technicien de maintenance peut avoir besoin de renseignements comme l'emplacement de l'unité devant être réparée, le temps écoulé depuis la dernière intervention et, éventuellement, les données de code d'erreur. Sur la base de ces paramètres, un interface utilisateur adéquate peut fournir ces renseignements au moyen d'éléments visuels intuitifs tels que l'affichage d'un plan de l'installation indiquant les différents emplacements avec des icônes représentant les alertes d'état et de maintenance. L'identification des cas d'utilisation de votre produit et l'étude du rôle de l'application à chaque étape sont essentielles à la conception réussie d'une application orientée produit.
Il est important de déterminer si une application native ou une application Web à navigateur est la mieux adaptée du point de vue de l'expérience utilisateur. Les applications natives offrent des fonctionnalités d'interface utilisateur plus familières aux utilisateurs
d'une plateforme particulière, mais elles exigent un grand savoir-faire en matière de développement et un logiciel personnalisé par plateforme. Les applications Web peuvent faire gagner du temps au niveau du développement grâce à la prise en charge de plusieurs plateformes à partir d'une solution unique mise en œuvre en utilisant des cadres HTML5.
Dernier point, mais non le moindre, envisagez comment la conception de l'interface utilisateur peut renforcer le marquage de votre produit. Tous les éléments, depuis les combinaisons de couleurs jusqu'au choix des polices en passant par la présentation graphique, influenceront la perception de votre produit par les utilisateurs. Les interactions les plus courantes avec votre produit via l'application devraient être particulièrement simples à exécuter pour l'utilisateur.
Une fois que vous avez bien compris les éléments de votre système à connectivité Cloud et identifié un grand nombre des principaux paramètres de conception de chaque élément, vous pouvez passer à une étape importante de votre processus, qui consiste à définir la liste des éléments de données et des commandes à offrir par le biais de votre application ou « portail » Web.
Dans le cas de la plateforme TiWiConnectTM de LSR, cette activité est simplifiée par l'application du concept des « 3 A » : attributs, actions et alertes.
Les attributs correspondent aux données et informations d'état de l'appareil capturées que vous désirez contrôler à distance. Considérez les attributs comme des éléments représentant les données d'exécution critiques dans votre produit. Ces valeurs peuvent être envoyées au Cloud pour rendre compte de l'état de votre produit et servir de base pour une interface utilisateur de contrôle. Dans l'exemple du détecteur de monoxyde de carbone, les attributs peuvent inclure des mesures horodatées, le niveau des piles et des codes d'erreur.
Les actions définissent des commandes à distance généralement lancées par un utilisateur pour déclencher une activité de votre produit. Pensez aux actions comme étant les fonctionnalités de « télécommande » de votre produit, qui permettent aux utilisateurs ou à d'autres appareils de déclencher des processus ou de régler des paramètres. Pour reprendre notre exemple de détecteur de CO, une action possible pourrait être de couper le son d'une alarme ou de modifier un seuil de déclenchement d'alerte.
Les alertes représentent les messages envoyés par votre produit pour avertir un utilisateur ou un autre appareil qu'une condition définie par l'utilisateur a été remplie. Pensez aux alertes comme étant une fonctionnalité d'interface utilisateur semblable à un dialogue ou avis d'alerte sur un smartphone dont le but est d'avertir l'utilisateur d'une situation pouvant exiger l'exécution d'une action avec le produit. Ces notifications peuvent souvent être configurées sous forme de notifications « en application » ou pour déclencher des messages e-mail ou SMS permettant à un produit connecté de signaler qu'il doit être évalué. Dans le cas de notre détecteur de CO, une alerte envoyée par SMS à un responsable des installations pourrait indiquer qu'une valeur mesurée a dépassé un seuil défini.
Cette définition des 3 A doit être répétée pour chaque cas d'utilisation devant être pris en charge par votre solution. Les attributs, actions et alertes sont fréquemment définis pour un minimum de 3 cas d'utilisation : Administration, Maintenance et Utilisateur. Par exemple, un utilisateur de catégorie Administration peut désirer la liste complète de tous les attributs et actions disponibles, tandis qu'un utilisateur final peut se contenter d'avoir accès à un simple sous-ensemble.
Une fois les données, interactions de commande et notifications utilisateur du produit définies conformément aux 3 A, un logiciel intégré peut être développé sur votre processeur ou microcontrôleur existant afin de jouer le rôle de client Cloud doté de la logique requise pour faire état des attributs, recevoir les actions et déclencher les alertes que vous avez configurées.
La synthèse
Arrivé à ce stade, comment fondre tous ces éléments de conception pour créer un produit très performant offrant une excellent expérience utilisateur ? Souvenez-vous des deux principales préoccupations des chefs d'entreprises mentionnées au début de cet article en ce qui concerne le développement d'un produit IoT : (1) le manque de compétences et de connaissances au niveau interne et (2) le coût des investissements en infrastructure IoT. Ces obstacles sont assurément réels. Examinons de manière approfondie le savoir-faire technique requis pour construire un tel système de A à Z.
Étant donné que vous avez acquis des clients fidèles et des avantages concurrentiels sur votre marché grâce à votre connaissance de la technologie de base de votre produit et à votre compréhension profonde des besoins de vos clients, l'ajout de la courbe d'apprentissage requise pour le développement d'un système à connectivité Cloud risque de s'avérer importun. Mais, comme pour la plupart des problèmes, des solutions existent.
En vous appuyant sur un partenaire établi comme LSR, qui est en mesure d'offrir à la fois la plateforme à connectivité Cloud complète et les services de conception sans fil nécessaires pour fournir les personnalisations requises par votre solution, vous pouvez concentrer vos ressources internes sur la question de conception la plus cruciale, à savoir : « Sommes-nous en train de développer une solution qui répondra aux besoins de nos clients et dépassera leurs attentes ? ». Avec un peu d'aide de votre partenaire en matière de sans-fil, de cloud et de développement d'application, vous pouvez procéder avec assurance à la création d'une innovation produit phare propulsée par le Cloud !