Partage vers votre application cible

Blog des développeurs d'applications Windows 8

Indications sur la conception d'applications de style Metro pour Windows 8, par l'équipe d'ingénierie de Windows 8

Partage vers votre application cible

  • Comments 0

Dans le billet Partage à partir de votre application, nous avons présenté le concept de partage de contenu à partir de l'exemple d'application Food with Friends. Dans ce billet, les contenus sont partagés avec plusieurs applications cibles qui permettent à l'utilisateur de mener à bien l'intégralité de différents scénarios complexes. Les applications de Windows 8 offrent des contenus intéressants que vos clients souhaiteront certainement partager avec leurs amis ou avec d'autres applications. Si vous réussissez à faire de votre application une cible de partage convaincante et bien conçue, elle peut devenir pour vos clients le véritable cœur d'une expérience sociale et connectée.

Dans ce billet, nous examinons comment vous pouvez utiliser le contrat de partage cible avec vos applications, en particulier avec les applications de type « Food with Friends ». Grâce à ce contrat, votre application peut recevoir des contenus issus d'autres applications et utiliser ces contenus pour les enrichir. Notre objectif : vous aider à faire de votre application la meilleure de sa catégorie !

Pour créer une application cible, vous devez utiliser le contrat de partage cible. Les applications cibles permettent de partager facilement et rapidement des contenus. Toutes les applications Windows ne peuvent pas être utilisées comme cibles de partage. Cependant, si votre application peut publier les contenus issus d'autres applications, les transformer, les stocker ou y ajouter une quelconque valeur, la création d'une cible de partage offre de nombreux avantages.

  • Votre application apparaîtra toujours dans la liste des applications cibles. Elle offre instantanément des informations pertinentes et elle est connectée à d'autres applications qui peuvent partager les données que vous souhaitez.
  • Le contrat de partage crée un pont entre votre application et n'importe quelle application source, sans que l'une ou l'autre des applications ait besoin de prévoir une intégration spécifique avec l'autre application.
  • Comme l'icône Partager est toujours présente et disponible dans le système d'exploitation, elle permet à votre application cible d'être présente dans le système d'exploitation, bien au-delà des limites de votre application. Ainsi, plus de clients peuvent potentiellement être dirigés vers votre application !

Réception des contenus partagés

Examinons quelques exemples qui vous montrent comment proposer des expériences utilisateur convaincantes par le biais d'une application cible de partage.

Vous connaissez peut-être déjà les applications Courrier et Contacts de Windows 8. Courrier crée une expérience de cible de partage extrêmement simple et personnalisée, permettant de recevoir et de partager des contenus avec un ou plusieurs amis. L'application Contacts vous permet de partager des contenus avec des publics plus larges sur vos réseaux sociaux. En plus du partage social, vous pouvez aller encore plus loin avec le partage d'application dans l'application. Les applications de productivité telles que SkyDrive peuvent recevoir des fichiers de tous les emplacements de Windows et les stocker sur le cloud. Les applications de prise de notes peuvent recevoir du texte, des liens et éventuellement des données dans de nombreux autres formats et les archiver, en vue d'une consultation ultérieure. Vous profitez également d'une grande marge de créativité.

Observez comment, sur les deux images ci-dessous, le processus de partage apparaît lors du partage d'une photo à partir de l'application Photos avec PuzzleTouch, une application de jeu qui transforme l'image en puzzle visuel.

L'application source apparaît à gauche, tandis que la liste filtrée des applications cibles pouvant recevoir des photos apparaît à droite dans le volet Partager.

Figure 1 : l'application source apparaît à gauche, tandis que la liste filtrée des applications cibles pouvant recevoir des photos apparaît à droite dans le volet Partager.
PuzzleTouch fait partie des cibles de partage pouvant recevoir une image issue de l'application Photos.

Dans la partie droite, l'aperçu de l'application cible permet à l'utilisateur de sélectionner le type de puzzle à créer

Figure 2 : dans la partie droite, l'aperçu de l'application cible permet à l'utilisateur de sélectionner le type de puzzle
à créer. Le puzzle est prêt dès que l'utilisateur accède de nouveau à l'application.

Qu'est-ce qu'une application cible de partage ?

Dans Windows , l'expérience de partage se compose de deux éléments. Elle comprend tout d'abord d'une application source qui met son contenu à la disposition de Windows, dans différents formats. Vient ensuite une application cible de partage, qui indique à Windows qu'elle reconnaît certains formats et qui sert de destination pour le contenu partagé. Grâce au contrat de partage, l'application source et l'application cible de partage peuvent communiquer.

Lorsque vous réfléchissez à l'expérience de partage de votre application, prenez en compte le fait que l'application cible de partage est affichée dans la fenêtre de partage hébergée. Concevez l'expérience de telle sorte que l'utilisateur puisse afficher rapidement un aperçu de son contenu et confirmer le partage dans cette vue. Cet exemple représente la vue d'application cible de partage de l'application Courrier, qui permet à l'utilisateur de partager rapidement un lien à partir du navigateur avec un ou plusieurs contacts de messagerie.

Image de cible de partage

Figure 3 : partage d'un lien à partir de l'application Photos avec l'application cible Courrier

Scénarios pour Food with Friends

Voyons maintenant comment Food with Friends crée une expérience convaincante d'application cible de partage. Si vous connaissez déjà l'application, vous savez que dans Food with Friends, l'utilisateur peut entreprendre deux actions principales : créer un programme et ajouter un restaurant à sa liste d'envies. Bien évidemment, d'autres opérations sont réalisables : rédaction d'un avis, publication d'un commentaire, affichage des listes d'envies des amis, etc. Toutefois, ces expériences sont uniquement mises en œuvre dans le contexte de l'application principale. Pour les deux scénarios principaux, faisons un petit test pour vérifier s'ils peuvent être menés à bien de façon efficace via l'application cible Food with Friends.

Créer le programme de la soirée

S'il fait partie des scénarios essentiels de l'application principale, il ne s'agit pas du scénario idéal dans le cadre d'une expérience de cible de partage. Voici pourquoi : l'expérience de cible de partage est censée être rapide et simple. Or la création d'un programme est une tâche bien plus complexe : dans ce cas, l'utilisateur souhaite savoir quels restaurants ses amis veulent essayer, comparer quelques restaurants figurant dans la liste d'envies, passer les notes en revue, etc. Comme la planification implique d'exploiter des détails qui sont mieux présentés dans la vue de l'application principale, il n'est pas très judicieux de condenser cette fonctionnalité dans l'application cible du partage.

Ajouter à la liste d'envies

Ce scénario fonctionne parfaitement bien en tant que tâche courte et guidée dans la cible de partage. Voici quelques-uns des principaux aspects de cette expérience dans l'application :

  • Les utilisateurs trouvent des restaurants dans d'autres applications (applications d'organisation de voyages, applications consacrées à une ville précise et comportant des recommandations, blogs consacrés à la gastronomie, etc.). Food with Friends est une destination idéale pour regrouper des restaurants dans la section « Ma liste d'envies ».
  • La vue d'application cible d'une application est conçue pour permettre à l'utilisateur d'entreprendre rapidement une action dans le contexte d'une autre application. Ainsi, l'ajout d'un restaurant à une liste d'envies est une option idéale à faire apparaître dans la cible de partage.
  • S'il est certainement possible pour l'utilisateur de changer d'application, de relancer la recherche afin de trouver le restaurant, puis d'ajouter le restaurant à sa liste d'envies, il est bien plus rapide d'appuyer sur Partager.

La liste d'envies de Food with Friends offre donc a priori une formidable expérience d'application cible de partage, que nous souhaitons donc concevoir et créer. Voici le scénario complet auquel nous avons pensé :

En parcourant une application qui recense les restaurants ambulants à proximité, je découvre une recommandation qui m'a l'air intéressante. Je souhaite ajouter le restaurant ambulant indiqué dans cette application à ma liste d'envies Food with Friends, pour faciliter la planification ultérieure.

Navigation dans une application qui affiche les restaurants ambulants à proximité et recommande les lieux intéressantsFigure 4 : navigation dans une application qui affiche les restaurants ambulants à proximité et recommande les lieux intéressants

Cette image représente la vue d'application cible de partage que nous souhaitons utiliser :

Vue d'application cible de partage

Figure 5 : vue d'application cible de partage

En réalisant l'action de partage dans la vue d'application cible, les utilisateurs peuvent choisir des restaurants dans Food with Friends sans sortir du contexte de leur expérience actuelle d'application immersive.

Implémentation d'une cible de partage

Maintenant que vous avez découvert quelques exemples montrant quand implémenter une cible de partage, examinons comment implémenter notre cible de partage. Nous devons tout d'abord définir les formats de données que votre application devra accepter.

Quels formats de données devez-vous prendre en charge ?

Avec le partage, vous pouvez prendre en charge des formats de données standard (texte, URI, HTML, images bitmap, fichiers, etc.) ou des formats de données personnalisés, tels que ceux qui figurent sur http://schema.org. Windows filtre les applications cibles en fonction des formats de données qu'elles acceptent, afin d'afficher la liste filtrée des applications cibles dans le volet Partager. Votre application doit prendre en charge les formats de données les plus importants dans le cadre de l'expérience utilisateur de l'application. Par exemple, si votre application permet d'afficher des photos, il n'est sans doute pas nécessaire de prendre en charge les formats texte. Si vous déclarez la prise en charge de plusieurs formats de données, identifiez celui qui vous aide à représenter le mieux les données partagées, pour sélectionner ce format en premier dans le package de données.

Comme Food with Friends implémente une expérience de cible de partage qui permet aux utilisateurs de partager des restaurants vers l'application, nous utiliserons le format de données Restaurant disponible sur http://schema.org. Food with Friends peut s'inscrire auprès du contrat de partage cible afin de recevoir ce format de données. À partir des données disponibles dans le package reçu, l'application peut ensuite créer une expérience convaincante dans sa vue d'application cible, qui permet à l'utilisateur d'ajouter ce restaurant à sa liste d'envies.

Si certaines applications sources peuvent partager des données en utilisant spécifiquement le format de données Restaurant, d'autres applications sources peuvent représenter des informations similaires en utilisant d'autres formats, par exemple Place, LocalBusiness ou FoodEstablishment, qui figurent sur schema.org. Ainsi, Food with Friends peut prendre en charge la réception de plusieurs formats de données dans le contrat de partage, pour s'adapter à une grande variété d'applications sources.

Food with Friends prend en charge les formats suivants dans les déclarations de cible de partage du manifeste de l'application :

Pour plus de concision, nous nous concentrons ici sur le type de données Restaurant, mais les concepts s'appliquent également à d'autres types de données.

Quels formats de données et scénarios devez-vous prévoir ?

Food with Friends ne permettra d'ajouter un restaurant à la liste d'envies de l'utilisateur que si les informations reçues concernant le restaurant correspondent à celles d'un restaurant que l'application connaît déjà. Ce comportement est voulu : il évite de créer plusieurs copies d'un même restaurant dans l'application.

Nous ne prenons pas en charge les types de données standards, car la plupart des contenus de type texte, fichiers, photos URI ou HTML partagés à partir d'applications sources ne sont pas associées à un restaurant ou à une entreprise locale. Par exemple, si Food with Friends prenait en charge la réception de texte, il apparaîtrait dans la liste des applications cibles d'une application source de prise de notes. Dans ce cas, Food With Friends devrait afficher un message d'erreur pour indiquer pourquoi cette application ne fonctionne pas avec telle ou telle application source. Au final, les formats de données jouent le rôle de lien entre l'application source, qui possède un contenu à proposer à une application cible, et l'application cible elle-même. Si les formats de données sont différents, il n'y a pas lieu de partager quoi que ce soit.

Pensez à prendre en compte tous les formats de données qui vous aident à identifier les informations importantes et à identifier les formats de données qui risqueraient de rendre l'expérience de partage trop généraliste.

Prise en charge du contrat de partage cible

Pour prendre en charge les formats de données, déclarez-les dans le concepteur de manifeste de votre application, dans Visual Studio. Voici ce qui se produit lorsqu'un utilisateur sélectionne votre application en tant que cible d'une action de partage :

  1. Une nouvelle instance de l'application est ouverte dans la fenêtre de la cible de partage, par-dessus l'application source.
  2. Un événement d'activation de cible de partage est déclenché et votre application reçoit un objet ShareOperation en tant que résultat.
  3. Votre application peut récupérer les données que l'utilisateur a partagées à partir de cet objet.
  4. Vous pouvez utiliser ces données pour générer la vue de l'application cible et terminer la procédure de partage initiée par l'utilisateur.

Pour plus d'informations sur la création de cette expérience, consultez le guide Démarrage rapide : réception d’un contenu partagé.

Par ailleurs, Visual Studio prend en charge un modèle pour les cibles de partage. Cliquez avec le bouton droit de la souris sur votre projet, sélectionnez Ajouter un élément, Ajouter un nouvel élément, puis cliquez dans la liste sur Contrat de partage cible afin d'ajouter le code de prise en charge du contrat. L'exemple de code de cible de partage montre comment recevoir du contenu partagé.

Conception d'une vue d'application cible personnalisée

Lorsque l'utilisateur sélectionne une application cible dans la liste des applications du volet Partager, Windows ouvre l'application dans la vue de cible de partage de l'application. La vue d'application cible est une vue spécifique hébergée dans le volet Partager. Elle diffère de la vue principale de l'application. Le billet Activation des contrats Windows 8 dans votre application offre des informations complémentaires sur les vues hébergées et sur la gestion de l'activation de ces vues. La vue d'application cible est conçue pour vous aider à terminer l'action de partage initiée par l'utilisateur. Dans cette vue, les utilisateurs doivent être en mesure d'afficher un aperçu du contenu, d'entreprendre des actions simples et de confirmer leur souhait de partager le contenu.

Avant d'étudier la conception d'application cible de Food with Friends, examinons une application cible que vous connaissez peut-être déjà. Les images ci-dessous illustrent la vue d'application cible de l'application Courrier, ainsi que la vue complète de l'application dans Windows 8.

Partage à partir de l'application Photos vers l'application cible Courrier, située à droite

Figure 6 : partage à partir de l'application Photos vers l'application cible Courrier, située à droite

Rédaction d'un nouveau message dans la vue d'application principale de Courrier

Figure 7 : rédaction d'un nouveau message dans la vue d'application principale de Courrier

Vous remarquerez que la vue d'application cible de partage de Courrier est plus simple que la vue d'application complète. Elle offre un aperçu clair et minimaliste du contenu que l'utilisateur s'apprête à partager, présenté sous la forme d'une miniature agrémentée de texte et de contenus HTML. Elle offre une ligne À permettant d'ajouter des destinataires, une zone de saisie permettant de rédiger un court message, ainsi qu'un bouton Envoyer, qui permet de confirmer très simplement l'envoi du message.

Aussi simpliste soit-elle, la vue d'application cible de cette application est facilement identifiable en tant qu'avatar de l'application Courrier, ce qui renforce la confiance de l'utilisateur vis-à-vis de la destination du contenu partagé.

Food with Friends en tant qu'application cible de partage

Maintenant que vous comprenez mieux comment est conçue la vue d'application cible, examinons comment Food with Friends crée une application cible qui aide les utilisateurs à ajouter des restaurants à leur liste d'envies.

Lorsque Food with Friends reçoit le package de données contenant un restaurant en provenance de l'application source, il peut utiliser les détails figurant dans le format de données Restaurant pour identifier quel restaurant correspond au package de données reçu dans sa base de données existante. L'application peut ensuite afficher un aperçu de ce restaurant dans la vue d'application cible. La confiance de l'utilisateur vis-à-vis de l'intégrité du contenu partagé est ainsi renforcée.

Cette image représente la vue d'application cible de Food with Friends :

Vue d'application cible de Food with FriendsFigure 8 : vue d'application cible de Food with Friends

Comme vous pouvez le constater, cette vue de Food with Friends est simple et adaptée à une application cible de partage. Elle affiche un aperçu du restaurant que l'utilisateur s'apprête à partager, ainsi qu'un bouton simple, Ajouter à la liste d'envies, qui indique clairement la destination du contenu partagé dans l'application principale. Lorsque l'utilisateur appuie ou clique sur ce bouton, il confirme l'opération de partage. En obligeant l'utilisateur à appuyer ou à cliquer sur ce bouton, nous empêchons tout partage accidentel et nous améliorons la confiance de l'utilisateur vis-à-vis de l'expérience de partage globale.

Si l'application trouve plusieurs restaurants correspondant aux informations figurant dans le contenu du package de données, Food with Friends utilise la vue d'application cible de partage pour afficher des options et permettre à l'utilisateur de choisir celui qu'il souhaite partager.

La vue d'application cible affiche des options permettant à l'utilisateur de choisir les éléments à partager

Figure 9 : la vue d'application cible affiche des options permettant à l'utilisateur de choisir les éléments à partager

 

Si jamais l'application ne parvient pas à identifier précisément un restaurant ou un ensemble d'options valides à partir du package de données reçu, utilisez la vue d'application cible pour communiquer ce message.

Création d'un QuickLink

Un QuickLink est une disposition de l'API de partage qui permet aux utilisateurs de partager des contenus vers des destinations courantes très rapidement, au sein de votre application cible. Un QuickLink joue le rôle de lien personnalisé vers votre vue cible, en fournissant des actions spécifiques. Lorsque Windows filtre la liste des applications cibles proposées à l'utilisateur, la liste des QuickLinks apparaît en haut du volet Partager, sous forme de liste des cibles disponibles. Ces destinations courantes ou ces actions utilisateurs peuvent inclure des emplacements ou des contacts qui sont souvent utilisés comme destination du partage dans l'application cible. Par exemple, l'application Courrier renvoie des QuickLinks pour les contacts précédemment utilisés comme destinataires. De même, vous pouvez ajouter des QuickLinks aux dossiers, groupes, blocs-notes et listes de lecture que vous partagez souvent vers votre application cible.

Le volet Partager montre un QuickLink fourni par l'application cible Courrier pour les contacts qui ont été précédemment utilisés comme destinataires dans l'application cible

Figure 10 : le volet Partager montre un QuickLink fourni par l'application cible Courrier pour les contacts
qui ont été précédemment utilisés comme destinataires dans l'application cible

L'application cible peut fournir un QuickLink en appelant la méthode reportCompleted des objets ShareOperation . Un QuickLink doit posséder un titre, une icône et un ID. Le titre ("Envoyer un e-mail à maman", par exemple) et l'icône apparaissent lorsque l'utilisateur appuie sur l'icône Partager. L'ID est utilisé par votre application pour accéder à des informations personnalisées (adresse e-mail, emplacement de dossier, etc.). Pour en savoir plus sur cet outil, voir Comment créer un objet QuickLink

Remarque : les QuickLinks sont utiles lorsque l'application prend en charge plusieurs actions de l'application cible. Comme Food with Friends ne prend en charge qu'une seule action dans la cible de partage (Ajouter à la liste d'envies), l'application n'implémente pas de QuickLinks.

Partage étendu et signalement des erreurs

Dans certains cas, les applications sources partagent de gros volumes de données, par exemple des photos, des vidéos ou encore de gros fichiers, ce qui rallonge les temps de transfert. Ces types d'opérations de partage appelés partages étendus sont utilisés lorsque votre application cible peut avoir besoin de plus de temps pour recevoir et traiter les données.

Comme le partage doit être rapide et fluide, et que la vue d'application cible est une vue légère et hébergée, affichée par-dessus l'application principale, les utilisateurs sont susceptibles de sortir de la vue d'application cible pour revenir à l'application principale. Par conséquent, les applications cibles ne doivent pas exiger ni attendre une interaction de l'utilisateur avec la vue d'application cible après le démarrage du partage. Les applications cibles peuvent s'appuyer sur l'objet ShareOperation et ses méthodes pour indiquer à Windows que l'application est en train de traiter des données.

  • reportStarted : appelez cette méthode pour indiquer à Windows que votre application a commencé à récupérer les données de l'objet DataPackage issu de l'application source.
  • reportDataRetrieved : appelez cette méthode pour indiquer à Windows que votre application a terminé de récupérer les données du package.
  • reportCompleted : appelez cette méthode pour indiquer à Windows que votre application a terminé l'opération de partage.

Lorsque votre application traite les données d'un partage étendu, fournissez à l'utilisateur un indicateur de progression dans la vue d'application cible. L'utilisateur saura ainsi que sa demande est en cours de traitement, ce qui améliorera sa confiance vis-à-vis de l'application lorsqu'il accédera de nouveau à l'application pour consulter la progression de l'opération de partage. Pour en savoir plus sur les contrôles de progression dans Windows 8, consultez le guide Démarrage rapide : ajout de contrôles de progression.

Barre de progression

Figure 11 : l'application cible Courrier affiche une roue de progression pendant un partage étendu (envoi de pièces jointes volumineuses, par exemple)

Si quelque chose se passe mal au cours du transfert de données et que votre application cible doit arrêter l'opération de partage, vous pouvez appeler la méthode reportError pour envoyer un message d'erreur à Windows. L'utilisateur verra le message lorsqu'il consultera l'état du partage dans le volet Partager. Une fois l'erreur signalée, votre application est fermée et le partage est arrêté. L'utilisateur doit alors recommencer la procédure pour partage du contenu vers votre application.

Dans l'exemple de cible de partage Food with Friends, si l'application ne peut pas identifier dans sa base de données un restaurant correspondant à celui partagé à partir de l'application source via le format de données Restaurant, l'application doit signaler une erreur.

Révisons un peu !

Le partage d'une application à une autre est une formidable opportunité pour les applications cibles de partage. En offrant à votre application la possibilité de recevoir des contenus partagés, vos utilisateurs profitent de votre application même lorsqu'ils réalisent une autre activité. Nous espérons que vous comprenez maintenant mieux les principes de conception, ainsi que les types de données, les classes et les propriétés que vous pouvez utiliser pour créer une formidable destination cible de partage. Nous sommes impatients de découvrir comment vos applications transformeront le contenu partagé et créeront des expériences toujours plus riches et plus complètes pour l'utilisateur final.

Pour en savoir plus sur le partage, commencez par consulter l'article Partage et échange de données et l'exemple d'application cible de partage de contenu.

Ishita Kapur

Chef de projet

Expérience utilisateur Windows

  • Loading...
Leave a Comment
  • Please add 6 and 1 and type the answer here:
  • Post