Créer des applications collaboratives avec Teams Live Share

Les équipes ont toujours été sur la bonne voie pour être une partie importante de la plate-forme de productivité de Microsoft, mais la pandémie de COVID-19 l’a propulsée au sommet de l’agenda de Redmond. Son importance est devenue évidente lorsque Microsoft et une grande partie de sa clientèle se sont d’abord éloignés du bureau pour travailler soudainement à domicile, et s’adaptent maintenant à une approche plus planifiée qui est devenue un travail hybride à domicile/au bureau.

Bien que Teams se soit concentré en grande partie sur ses fonctionnalités de conférence et de collaboration, sa principale différenciation par rapport à la concurrence s’appuie sur l’héritage de Microsoft en tant que société de plate-forme. Dès son lancement, il s’agissait autant d’un lieu de création d’applications que de communication et de collaboration, fournissant une grande partie de l’échafaudage et de la plomberie nécessaires pour fournir des applications collaboratives en temps quasi réel, ainsi qu’un autre point de terminaison pour la ligne de systèmes d’entreprise dans le cadre d’un flux de travail low-code qui héberge les nombreuses petites tâches qui font partie intégrante du travail moderne.

Présentation de Teams Live Share

Une fois que vous la considérez comme une autre plate-forme, il n’est pas surprenant de voir Teams obtenir sa propre piste lors de la conférence Build de Microsoft. L’événement de cette année n’a pas été différent, avec plusieurs annonces majeures, notamment la disponibilité générale d’un nouveau SDK JavaScript et certaines versions majeures de l’API. Le plus intéressant, cependant, était peut-être un nouvel ensemble d’outils qui fusionnent les propres fonctionnalités de collaboration et de conférence de Teams avec la plate-forme de développement d’applications en temps réel Fluid Framework de Microsoft.

Le résultat est le SDK Live Share, un moyen de créer des applications collaboratives qui mélangent des réunions avec des applications qui peuvent partager l’état entre de nombreux utilisateurs et appareils différents. Nous avons déjà vu ce que cette approche offre avec le codage collaboratif Live Share de Visual Studio. Différents éditeurs sur différentes plates-formes peuvent partager un espace d’édition, étendant la programmation en binôme au-delà du bureau.

Le SDK Live Share de Teams vous permet d’utiliser le Fluid Framework de Microsoft pour relayer l’état entre les instances dans un maillage plusieurs-à-plusieurs. Vous pouvez ensuite encapsuler votre code et vos réunions dans un conteneur Fluid, en ajoutant des fonctionnalités collaboratives avec un minimum de code. De cette façon, vous pouvez utiliser les outils de Teams avec les vôtres, par exemple, partager du code et des wireframes dans une revue de réunion hybride, permettant aux personnes présentes dans une salle de conférence d’annoter sur un grand écran et aux personnes à la maison d’utiliser leurs propres écrans. Les interactions sont en temps quasi réel et partagées entre tous les utilisateurs, Teams contrôlant les parties voix et vidéo de la réunion. Comme beaucoup d’outils récents de Microsoft, il est open source et peut être trouvé sur GitHub.

De Fluid à Live et inversement

Une grande partie du SDK Live Share vous sera familière si vous avez expérimenté le Fluid Framework. Live Share est un ensemble de packages JavaScript et s’installe via npm ou Yarn, avec des dépendances sur les packages Teams JavaScript et Fluid Framework. S’ils ne sont pas installés, l’installation du SDK les installera. Si vous les avez déjà, vous devrez vous assurer d’avoir les bonnes versions pour éviter les problèmes. Actuellement, vous avez besoin à la fois de la version 2.0.0-experimental.0 du package JavaScript Teams et de la version 0.59.0 de Fluid Framework.

Il existe d’autres limitations à ce stade de l’aperçu. Le plus important est probablement que Live Share n’est disponible que pour les réunions planifiées ; vous ne pouvez pas y participer de manière ponctuelle dans d’autres types de réunions. Tous les participants doivent être sur l’invitation ; avant d’avoir accès à une application Live Share, ils doivent accepter l’invitation à la réunion et l’ajouter à leurs calendriers. Espérons qu’il ne s’agisse que d’un problème de prévisualisation, car la possibilité d’utiliser Visual Studio Live Share pour des collaborations spontanées est l’un de ses points forts, et il est facile de voir comment une approche similaire pourrait aider à transformer un appel en un espace de travail partagé.

Création d’une application de partage en direct

Une application Teams Live Share est comme toute autre application Teams. Comme il ne fait pas encore partie des outils de développement Teams, vous devrez ajouter manuellement des autorisations supplémentaires dans le manifeste de l’application afin d’utiliser les nouvelles fonctionnalités, en commençant par la portée et le contexte de l’URL hôte de votre application avec prise en charge de la discussion de groupe avec une réunion. panneau et scène. Vous devez ensuite ajouter des autorisations déléguées pour la session Live Share et l’étape de réunion de l’application. Au fur et à mesure que la plate-forme mûrit, elle devrait faire partie du SDK Teams, avec la prise en charge des manifestes générés automatiquement.

Vous pouvez maintenant commencer à ajouter des fonctionnalités de partage en direct à votre code. Les applications doivent rejoindre une réunion, de sorte que chaque instance de l’application commencera par la réunion dans la session Teams de chaque utilisateur. Le code devra initialiser le SDK Teams, puis créer un conteneur Fluid Framework pour gérer la synchronisation entre les clients, en configurant les structures de données distribuées nécessaires pour synchroniser le contenu. Fluid Framework possède de nombreuses structures de données différentes, choisissez donc celles qui sont nécessaires à votre application.

Le plus probable est un SharedMap, qui est un magasin clé-valeur de base pour les objets JSON. Avec un SharedMap, vous envoyez, par exemple, des coordonnées qui ont été dessinées sur une image partagée. Cela peut être combiné avec une structure SharedString pour l’édition de texte collaborative. Ces structures de données Fluid Framework peuvent persister entre les sessions, créer des rapports post-réunion et fournir du contenu que les participants peuvent utiliser hors ligne.

Live Share apporte de nouvelles fonctionnalités qui ne sont pas dans Fluid Framework avec ce qu’il appelle des objets éphémères. Il s’agit d’une nouvelle forme d’objet partagé qui n’est pas stocké dans un conteneur Fluid mais qui est toujours accessible dans votre application. Vous les utiliseriez pour gérer la présence des utilisateurs ou pour ajouter des outils de présentation comme un pointeur vers une session. Ceux-ci sont partagés à l’aide des mêmes outils Fluid en temps réel, mais ils n’existent pas au-delà d’une réunion, sauf si vous enregistrez explicitement leur contenu dans une structure de données Fluid.

Une fonctionnalité utile est la structure de données EphemeralEvent. Cela peut envoyer des messages entre les clients d’une réunion, par exemple, indiquant si quelqu’un a rejoint ou quitté. Assurez-vous d’ajouter du code pour écouter les notifications et l’exécuter de manière asynchrone. En fait, une grande partie du code utilisé à la fois pour les structures de données Fluid et les structures éphémères de Live Share doit être asynchrone, car votre code recherche et répond aux événements qui peuvent se produire à tout moment lors d’une réunion.

Travailler avec des médias dans Live Share

Bien que Live Share soit peut-être mieux utilisé pour envelopper du contenu textuel à l’aide des outils de collaboration de Fluid Framework, il offre un ensemble d’extensions dans un package séparé qui prend en charge la synchronisation multimédia. Cela ajoute un objet éphémère séparé pour prendre en charge les contrôles et l’état des médias, ainsi qu’un moyen de synchroniser la lecture dans un élément multimédia HTML. Si vous faites une présentation vidéo lors d’une réunion, vous pouvez avoir une application Live Share qui permet aux utilisateurs approuvés de suspendre la lecture pour avoir une discussion ou annoter la vue.

Live Share peut également nous donner un moyen utile d’utiliser Teams pour diffuser des événements en direct, car il dispose d’outils permettant aux utilisateurs de suspendre les flux et de les ignorer si nécessaire. Il existe une option intéressante ici si vous utilisez Live Share pour héberger une formation : vous pouvez autoriser les utilisateurs à faire une pause pour répondre à un quiz ou faire des commentaires et ne reprendre la lecture que lorsque tous les utilisateurs reprennent. Une telle coordination est une fonctionnalité pratique car elle garantit que personne n’est laissé pour compte et que les opinions de chacun sont entendues.

Le partage en direct dans Visual Studio est un outil puissant, il est donc bon de voir des fonctionnalités similaires arriver dans Teams. Cependant, il est important de réaliser que la création d’outils de collaboration en temps réel n’est pas facile, et bien que Teams Live Share simplifie la création et la gestion de structures de données partagées, vous devez toujours créer un ensemble d’outils de gestion d’événements asynchrones pour vous assurer que les changements dans les partages les données se reflètent dans les expériences des utilisateurs. Avec un outil comme Fluid Framework, il est tentant de tout mettre en œuvre, mais cela peut entraîner un code d’analyse d’événements complexe et ingérable.

Alors, comment devriez-vous utiliser Teams Live Share ? Il est préférable de commencer avec une application simple : un outil qui partage une structure de données facile à comprendre, comme un tableau Kanban avec un chat textuel et audio et des fonctionnalités d’édition de base permettant à une équipe hybride d’organiser une réunion debout quotidienne, de gérer les backlogs de projet de manière à ce que les chefs de projet puissent rapidement voir et comprendre comment un projet progresse.

Une fois que vous avez compris comment Live Share fonctionne avec une structure de données partagée unique, vous pouvez commencer à développer votre application, en ajoutant de nouvelles fonctionnalités pour prendre en charge de nouvelles exigences et répondre aux demandes des utilisateurs. Le résultat devrait être un code qui fonctionne bien sur les écrans des salles de réunion et les ordinateurs de bureau individuels, aidant à combler le fossé du travail hybride. C’est le bon moment pour Microsoft de sortir un tel outil. Nous devons maintenant créer le code Teams qui tire parti de ces nouvelles fonctionnalités.

Copyright © 2022 IDG Communications, Inc.

Leave a Comment

Your email address will not be published.