Lorsque nos expert.e.s débutent leur travail sur un nouveau projet d’application mobile, ils.elles se questionnent d’abord à savoir s’ils ou si elles concevront une application mobile native ou une application mobile multiplateforme. Si les aspects du rendu et de la performance des deux approches sont relativement équivalents, pourquoi est-il si crucial faire un choix éclairé entre ces deux types de développement? Évaluons d’abord les deux options qui s’offrent à nous :
Scorched Ice révolutionne l’entraînement des équipes de hockey grâce à ses capteurs IoT (« Internet of Things ») fixés directement aux patins, mesurant les compétences et la performance des joueurs sur la glace. Ces senseurs recueillent des données cruciales comme les mouvements de patinage, l’inclinaison des orteils, le roulement et l’accélération du pied, et offrent une analyse détaillée des foulées de patinage et de la performance du joueur. Une suite d’algorithmes d’apprentissage automatisé (« Machine Learning ») fournit ensuite aux entraîneurs une vue d’ensemble précise des atouts et des aspects à améliorer de leur équipe.
Qu’est-ce que l’Internet of Things?
L’internet des objets, tiré du terme anglais « Internet of Things (IoT en abrégé) fait référence à la connexion d’appareils de toute sorte à l’Internet. « On pense aux appareils qu’on connecte à sa maison intelligente, une montre de sport ou un capteur de sol qui signale les besoins d’arrosage, par exemple. Cette technologie permet à des objets quotidiens qui ne sont pas traditionnellement associés à l’informatique de recevoir des données via une connexion web », nous explique Mathieu Fillion, Gestionnaire des équipes de développement.
Le concept de l’IoT repose sur l’idée que l’interconnexion des objets peut faciliter la vie quotidienne en automatisant certaines tâches et en fournissant des informations en temps réel. C’est ainsi que le dispositif Scorched Ice réussit à brosser le portrait réel de la foulée d’un joueur sur la glace grâce à cette connexion du capteur sur le patin à l’application mobile que nous développons.

Distinguer familiarité et efficacité
Lorsque nous avons débuté notre collaboration avec Scorched Ice, le client était en recherche d’un prototype innovant pour régler des enjeux de connectivité qui devait être opérationnel en quelques mois seulement, à temps pour la période des camps d’entraînement de la relâche. Il fallait réussir à réduire le délai initial de connexion qui s’élevait à 30 minutes, et réussir à connecter simultanément les dispositifs d’une équipe d’une quarantaine de joueurs avant une pratique ou un match, sans déranger leur routine de préparation. L’objectif était de minimiser le temps consacré à cette tâche afin de permettre à l’entraîneur de se concentrer sur ses enseignements et son coaching.
En développement mobile et en intégration IoT, il n’existe pas de solution universelle. Différentes technologies répondent à différents besoins et contextes. Lorsqu’il est question de gérer un grand nombre d’appareils simultanément via Bluetooth par exemple, une technologie qui prend en charge ce qu’on appelle le multithreading est plus appropriée.
Le multithreading est une technique de programmation qui permet à une application de gérer simultanément plusieurs tâches ou processus. Dans le cas de Scorched Ice, elle était particulièrement pertinente pour permettre à l’application mobile d’interagir avec plusieurs capteurs et de leur transférer des données spécifiques à chacun en même temps. Puisqu’établir une connexion avec un dispositif BLE peut prendre quelques secondes, le faire de manière simultanée entre plusieurs dispositifs à la fois était une technique très efficace pour accélérer le processus. Cette capacité était cruciale pour un roulement efficace du prototype et répondre aux attentes.
Initialement, nous avions envisagé utiliser React Native pour tirer parti de certaines affinités avec l’écosystème et l’expertise du client déjà en place. Cependant, après avoir évalué les besoins spécifiques du projet et les avantages et inconvénients de différentes technologies, nous avons jugé qu’il était beaucoup plus à propos de passer à .Net pour atteindre nos objectifs. Cette décision a été motivée par les capacités supérieures de l’API native de .Net, qui étaient beaucoup plus efficace pour gérer le volume élevé de connexions concurrentes et respecter le budget et de l’échéancier du client. Ce changement stratégique a non seulement amélioré le temps de démarrage des sessions, mais s’est également avéré beaucoup plus économique pour le client.
Notre expertise et notre capacité à prendre en charge de nombreuses technologies, notamment natives et multiplateformes comme React Native, .Net et Flutter, nous ont offert la flexibilité nécessaire pour bien évaluer les options et faire un choix éclairé pour Scorched Ice. Notre expérience préalable avec le protocole BLE pour la connexion des dispositifs et notre expertise en multithreading, en particulier dans la gestion de flotte, ont été déterminants dans ce projet, en plus de mettre à profit notre savoir-faire en matière de configuration et de connectivité Wi-Fi, un aspect essentiel en ce qui concerne l’IoT.

Ce cas de figure illustre l’importance de bien sélectionner la technologie la plus adaptée à vos besoins, surtout vu son impact significatif dans l’IoT de Scorched Ice. Cette décision peut être influencée par divers facteurs, y compris votre écosystème numérique, votre expertise existante et vos besoins spécifiques pour votre produit. Bien que nous n’ayons pas de boule de cristal, des facteurs comme la taille de la communauté et l’historique de la technologie nous permettront de vous guider avec confiance vers le bon choix technologique.
Pour chaque projet que nous entreprenons, nous cherchons à atteindre un juste milieu entre l’innovation et la praticité, en garantissant que nos propositions technologiques soient taillées sur mesure pour répondre aux exigences particulières de nos clients et leurs initiatives avant de commencer le développement.